File: machine.test

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,998,520 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (104 lines) | stat: -rw-r--r-- 4,928 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Check that cvtres properly generates COFF for different machine types. The
// only things that changes with machine type are the machine constant listed
// in the COFF header, and the relocation types in the relocation tables.
// The input was generated with the following command, using the original Windows
// rc.exe:
// > rc /fo test_resource.res /nologo test_resource.rc
// The object files we are comparing against were generated with these commands
// using the original Windows cvtres.exe.
// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \ 
// 	 test_resource.res
// > cvtres /machine:X64 /readonly /nologo /out:test_resource.obj.coff.x64 \ 
// 	 test_resource.res
// > cvtres /machine:ARM /readonly /nologo /out:test_resource.obj.coff.x64 \ 
// 	 test_resource.res

RUN: llvm-cvtres /machine:X86 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X86

RUN: llvm-cvtres /machine:X64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=X64

RUN: llvm-cvtres /machine:ARM /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM

RUN: llvm-cvtres /machine:ARM64 /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64

RUN: llvm-cvtres /machine:ARM64EC /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64EC

RUN: llvm-cvtres /machine:ARM64X /out:%t %p/Inputs/test_resource.res
RUN: llvm-readobj -h -r %t | FileCheck %s -check-prefix=ARM64X

X86:         Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
X86-DAG:   Relocations [
X86-DAG:                 .rsrc$01 {
X86-NEXT:      0x1E8 IMAGE_REL_I386_DIR32NB $R000000
X86-NEXT:      0x198 IMAGE_REL_I386_DIR32NB $R000001
X86-NEXT:      0x1A8 IMAGE_REL_I386_DIR32NB $R000002
X86-NEXT:      0x1C8 IMAGE_REL_I386_DIR32NB $R000003
X86-NEXT:      0x1D8 IMAGE_REL_I386_DIR32NB $R000004
X86-NEXT:      0x1F8 IMAGE_REL_I386_DIR32NB $R000005
X86-NEXT:      0x1B8 IMAGE_REL_I386_DIR32NB $R000006
X86-NEXT:      0x188 IMAGE_REL_I386_DIR32NB $R000007

X64:         Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
X64-DAG:   Relocations [
X64-DAG:                 .rsrc$01 {
X64-NEXT:      0x1E8 IMAGE_REL_AMD64_ADDR32NB $R000000
X64-NEXT:      0x198 IMAGE_REL_AMD64_ADDR32NB $R000001
X64-NEXT:      0x1A8 IMAGE_REL_AMD64_ADDR32NB $R000002
X64-NEXT:      0x1C8 IMAGE_REL_AMD64_ADDR32NB $R000003
X64-NEXT:      0x1D8 IMAGE_REL_AMD64_ADDR32NB $R000004
X64-NEXT:      0x1F8 IMAGE_REL_AMD64_ADDR32NB $R000005
X64-NEXT:      0x1B8 IMAGE_REL_AMD64_ADDR32NB $R000006
X64-NEXT:      0x188 IMAGE_REL_AMD64_ADDR32NB $R000007

ARM:         Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)
ARM-DAG:   Relocations [
ARM-DAG:                 .rsrc$01 {
ARM-NEXT:      0x1E8 IMAGE_REL_ARM_ADDR32NB $R000000
ARM-NEXT:      0x198 IMAGE_REL_ARM_ADDR32NB $R000001
ARM-NEXT:      0x1A8 IMAGE_REL_ARM_ADDR32NB $R000002
ARM-NEXT:      0x1C8 IMAGE_REL_ARM_ADDR32NB $R000003
ARM-NEXT:      0x1D8 IMAGE_REL_ARM_ADDR32NB $R000004
ARM-NEXT:      0x1F8 IMAGE_REL_ARM_ADDR32NB $R000005
ARM-NEXT:      0x1B8 IMAGE_REL_ARM_ADDR32NB $R000006
ARM-NEXT:      0x188 IMAGE_REL_ARM_ADDR32NB $R000007

ARM64:       Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)
ARM64-DAG: Relocations [
ARM64-DAG:               .rsrc$01 {
ARM64-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R000000
ARM64-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R000001
ARM64-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002
ARM64-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003
ARM64-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004
ARM64-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005
ARM64-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006
ARM64-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R000007

ARM64EC:       Machine: IMAGE_FILE_MACHINE_ARM64EC (0xA641)
ARM64EC-DAG: Relocations [
ARM64EC-DAG:               .rsrc$01 {
ARM64EC-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R000000
ARM64EC-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R000001
ARM64EC-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002
ARM64EC-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003
ARM64EC-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004
ARM64EC-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005
ARM64EC-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006
ARM64EC-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R000007

ARM64X:       Machine: IMAGE_FILE_MACHINE_ARM64X (0xA64E)
ARM64X-DAG: Relocations [
ARM64X-DAG:               .rsrc$01 {
ARM64X-NEXT:    0x1E8 IMAGE_REL_ARM64_ADDR32NB $R000000
ARM64X-NEXT:    0x198 IMAGE_REL_ARM64_ADDR32NB $R000001
ARM64X-NEXT:    0x1A8 IMAGE_REL_ARM64_ADDR32NB $R000002
ARM64X-NEXT:    0x1C8 IMAGE_REL_ARM64_ADDR32NB $R000003
ARM64X-NEXT:    0x1D8 IMAGE_REL_ARM64_ADDR32NB $R000004
ARM64X-NEXT:    0x1F8 IMAGE_REL_ARM64_ADDR32NB $R000005
ARM64X-NEXT:    0x1B8 IMAGE_REL_ARM64_ADDR32NB $R000006
ARM64X-NEXT:    0x188 IMAGE_REL_ARM64_ADDR32NB $R000007