|
1 | | -# RUN: yaml2obj %s --docnum=1 -o %t.i386 |
| 1 | +# RUN: yaml2obj %s --docnum=1 -o %t.i386 -DCPUTYPE=0x00000007 -DSUBTYPE=0x00000003 -DENDIAN=true |
2 | 2 | # RUN: llvm-readobj -h %t.i386 \ |
3 | | -# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386 |
| 3 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix=MACHO32 \ |
| 4 | +# RUN: -DFORMAT="Mach-O 32-bit i386" -DARCH=i386 -DCPUTYPE="X86 (0x7)" \ |
| 5 | +# RUN: -DSUBTYPE="CPU_SUBTYPE_I386_ALL (0x3)" |
4 | 6 |
|
5 | | -# I386:File: [[FILE]] |
6 | | -# I386-NEXT:Format: Mach-O 32-bit i386 |
7 | | -# I386-NEXT:Arch: i386 |
8 | | -# I386-NEXT:AddressSize: 32bit |
9 | | -# I386-NEXT:MachHeader { |
10 | | -# I386-NEXT: Magic: Magic (0xFEEDFACE) |
11 | | -# I386-NEXT: CpuType: X86 (0x7) |
12 | | -# I386-NEXT: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) |
13 | | -# I386-NEXT: FileType: Relocatable (0x1) |
14 | | -# I386-NEXT: NumOfLoadCommands: 0 |
15 | | -# I386-NEXT: SizeOfLoadCommands: 0 |
16 | | -# I386-NEXT: Flags [ (0x2000) |
17 | | -# I386-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
18 | | -# I386-NEXT: ] |
19 | | -# I386-NEXT:} |
20 | | -# I386-NOT:{{.}} |
| 7 | +# RUN: yaml2obj %s --docnum=1 -o %t.arm-v7 -DCPUTYPE=0x0000000C -DSUBTYPE=0x9 -DENDIAN=true |
| 8 | +# RUN: llvm-readobj -h %t.arm-v7 \ |
| 9 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm-v7 --check-prefix=MACHO32 \ |
| 10 | +# RUN: -DFORMAT="Mach-O arm" -DARCH=arm \ |
| 11 | +# RUN: -DCPUTYPE="Arm (0xC)" -DSUBTYPE="CPU_SUBTYPE_ARM_V7 (0x9)" |
21 | 12 |
|
22 | | ---- !mach-o |
23 | | -FileHeader: |
24 | | - magic: 0xFEEDFACE |
25 | | - cputype: 0x00000007 |
26 | | - cpusubtype: 0x00000003 |
27 | | - filetype: 0x00000001 |
28 | | - ncmds: 0 |
29 | | - sizeofcmds: 0 |
30 | | - flags: 0x00002000 |
31 | | - |
32 | | -# RUN: yaml2obj %s --docnum=2 -o %t.x86-64 |
33 | | -# RUN: llvm-readobj -h %t.x86-64 \ |
34 | | -# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-64 |
| 13 | +# RUN: yaml2obj %s --docnum=1 -o %t.arm64_32 -DCPUTYPE=0x0200000C -DSUBTYPE=0x1 -DENDIAN=true |
| 14 | +# RUN: llvm-readobj -h %t.arm64_32 \ |
| 15 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm64_32 --check-prefix=MACHO32 \ |
| 16 | +# RUN: -DFORMAT="Mach-O arm64 (ILP32)" -DARCH=aarch64_32 -DCPUTYPE="Arm64 (ILP32) (0x200000C)" \ |
| 17 | +# RUN: -DSUBTYPE="CPU_SUBTYPE_ARM64_32_V8 (0x1)" |
35 | 18 |
|
36 | | -# X86-64:File: [[FILE]] |
37 | | -# X86-64-NEXT:Format: Mach-O 64-bit x86-64 |
38 | | -# X86-64-NEXT:Arch: x86_64 |
39 | | -# X86-64-NEXT:AddressSize: 64bit |
40 | | -# X86-64-NEXT:MachHeader { |
41 | | -# X86-64-NEXT: Magic: Magic64 (0xFEEDFACF) |
42 | | -# X86-64-NEXT: CpuType: X86-64 (0x1000007) |
43 | | -# X86-64-NEXT: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3) |
44 | | -# X86-64-NEXT: FileType: Relocatable (0x1) |
45 | | -# X86-64-NEXT: NumOfLoadCommands: 0 |
46 | | -# X86-64-NEXT: SizeOfLoadCommands: 0 |
47 | | -# X86-64-NEXT: Flags [ (0x2000) |
48 | | -# X86-64-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
49 | | -# X86-64-NEXT: ] |
50 | | -# X86-64-NEXT: Reserved: 0x0 |
51 | | -# X86-64-NEXT:} |
52 | | -# X86-64-NOT:{{.}} |
| 19 | +# RUN: yaml2obj %s --docnum=1 -o %t.ppc -DCPUTYPE=0x00000012 -DSUBTYPE=0x00000000 -DENDIAN=false |
| 20 | +# RUN: llvm-readobj -h %t.ppc \ |
| 21 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.ppc --check-prefix=MACHO32 \ |
| 22 | +# RUN: -DFORMAT="Mach-O 32-bit ppc" -DARCH=powerpc -DCPUTYPE="PowerPC (0x12)" \ |
| 23 | +# RUN: -DSUBTYPE="CPU_SUBTYPE_POWERPC_ALL (0x0)" |
53 | 24 |
|
54 | 25 | --- !mach-o |
| 26 | +IsLittleEndian: [[ENDIAN]] |
55 | 27 | FileHeader: |
56 | | - magic: 0xFEEDFACF |
57 | | - cputype: 0x01000007 |
58 | | - cpusubtype: 0x00000003 |
| 28 | + magic: 0xFEEDFACE |
| 29 | + cputype: [[CPUTYPE]] |
| 30 | + cpusubtype: [[SUBTYPE]] |
59 | 31 | filetype: 0x00000001 |
60 | 32 | ncmds: 0 |
61 | 33 | sizeofcmds: 0 |
62 | 34 | flags: 0x00002000 |
63 | | - reserved: 0x00000000 |
64 | 35 |
|
65 | | -# RUN: yaml2obj %s --docnum=3 -o %t.ppc |
66 | | -# RUN: llvm-readobj -h %t.ppc \ |
67 | | -# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.ppc --check-prefix PPC |
| 36 | +# MACHO32:File: [[FILE]] |
| 37 | +# MACHO32-NEXT:Format: [[FORMAT]] |
| 38 | +# MACHO32-NEXT:Arch: [[ARCH]] |
| 39 | +# MACHO32-NEXT:AddressSize: 32bit |
| 40 | +# MACHO32-NEXT:MachHeader { |
| 41 | +# MACHO32-NEXT: Magic: Magic (0xFEEDFACE) |
| 42 | +# MACHO32-NEXT: CpuType: [[CPUTYPE]] |
| 43 | +# MACHO32-NEXT: CpuSubType: [[SUBTYPE]] |
| 44 | +# MACHO32-NEXT: FileType: Relocatable (0x1) |
| 45 | +# MACHO32-NEXT: NumOfLoadCommands: 0 |
| 46 | +# MACHO32-NEXT: SizeOfLoadCommands: 0 |
| 47 | +# MACHO32-NEXT: Flags [ (0x2000) |
| 48 | +# MACHO32-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
| 49 | +# MACHO32-NEXT: ] |
| 50 | +# MACHO32-NEXT:} |
| 51 | +# MACHO32-NOT:{{.}} |
68 | 52 |
|
69 | | -# PPC:File: [[FILE]] |
70 | | -# PPC-NEXT:Format: Mach-O 32-bit ppc |
71 | | -# PPC-NEXT:Arch: powerpc |
72 | | -# PPC-NEXT:AddressSize: 32bit |
73 | | -# PPC-NEXT:MachHeader { |
74 | | -# PPC-NEXT: Magic: Magic (0xFEEDFACE) |
75 | | -# PPC-NEXT: CpuType: PowerPC (0x12) |
76 | | -# PPC-NEXT: CpuSubType: CPU_SUBTYPE_POWERPC_ALL (0x0) |
77 | | -# PPC-NEXT: FileType: Relocatable (0x1) |
78 | | -# PPC-NEXT: NumOfLoadCommands: 0 |
79 | | -# PPC-NEXT: SizeOfLoadCommands: 0 |
80 | | -# PPC-NEXT: Flags [ (0x2000) |
81 | | -# PPC-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
82 | | -# PPC-NEXT: ] |
83 | | -# PPC-NEXT:} |
84 | | -# PPC-NOT:{{.}} |
| 53 | +# RUN: yaml2obj %s --docnum=2 -o %t.x86-64 -DCPUTYPE=0x01000007 -DSUBTYPE=0x00000003 -DENDIAN=true |
| 54 | +# RUN: llvm-readobj -h %t.x86-64 \ |
| 55 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix=MACHO64 \ |
| 56 | +# RUN: -DFORMAT="Mach-O 64-bit x86-64" -DARCH=x86_64 -DCPUTYPE="X86-64 (0x1000007)" \ |
| 57 | +# RUN: -DSUBTYPE="CPU_SUBTYPE_X86_64_ALL (0x3)" |
85 | 58 |
|
86 | | ---- !mach-o |
87 | | -IsLittleEndian: false |
88 | | -FileHeader: |
89 | | - magic: 0xFEEDFACE |
90 | | - cputype: 0x00000012 |
91 | | - cpusubtype: 0x00000000 |
92 | | - filetype: 0x00000001 |
93 | | - ncmds: 0 |
94 | | - sizeofcmds: 0 |
95 | | - flags: 0x00002000 |
| 59 | +# RUN: yaml2obj %s --docnum=2 -o %t.arm64 -DCPUTYPE=0x0100000C -DSUBTYPE=0x00000000 -DENDIAN=true |
| 60 | +# RUN: llvm-readobj -h %t.arm64 \ |
| 61 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm64 --check-prefix=MACHO64 \ |
| 62 | +# RUN: -DFORMAT="Mach-O arm64" -DARCH=aarch64 -DCPUTYPE="Arm64 (0x100000C)" \ |
| 63 | +# RUN: -DSUBTYPE="CPU_SUBTYPE_ARM64_ALL (0x0)" |
96 | 64 |
|
97 | | -# RUN: yaml2obj %s --docnum=4 -o %t.ppc64 |
| 65 | +# RUN: yaml2obj %s --docnum=2 -o %t.ppc64 -DCPUTYPE=0x01000012 -DSUBTYPE=0x00000000 -DENDIAN=false |
98 | 66 | # RUN: llvm-readobj -h %t.ppc64 \ |
99 | | -# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.ppc64 --check-prefix PPC64 |
100 | | - |
101 | | -# PPC64:File: [[FILE]] |
102 | | -# PPC64-NEXT:Format: Mach-O 64-bit ppc64 |
103 | | -# PPC64-NEXT:Arch: powerpc64 |
104 | | -# PPC64-NEXT:AddressSize: 64bit |
105 | | -# PPC64-NEXT:MachHeader { |
106 | | -# PPC64-NEXT: Magic: Magic64 (0xFEEDFACF) |
107 | | -# PPC64-NEXT: CpuType: PowerPC64 (0x1000012) |
108 | | -# PPC64-NEXT: CpuSubtype: 0x0 |
109 | | -# PPC64-NEXT: FileType: Relocatable (0x1) |
110 | | -# PPC64-NEXT: NumOfLoadCommands: 0 |
111 | | -# PPC64-NEXT: SizeOfLoadCommands: 0 |
112 | | -# PPC64-NEXT: Flags [ (0x2000) |
113 | | -# PPC64-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
114 | | -# PPC64-NEXT: ] |
115 | | -# PPC64-NEXT: Reserved: 0x0 |
116 | | -# PPC64-NEXT:} |
117 | | -# PPC64-NOT:{{.}} |
| 67 | +# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.ppc64 --check-prefix=MACHO64 \ |
| 68 | +# RUN: -DFORMAT="Mach-O 64-bit ppc64" -DARCH=powerpc64 -DCPUTYPE="PowerPC64 (0x1000012)" \ |
| 69 | +# RUN: -DSUBTYPE=0x0 |
118 | 70 |
|
119 | 71 | --- !mach-o |
120 | | -IsLittleEndian: false |
| 72 | +IsLittleEndian: [[ENDIAN]] |
121 | 73 | FileHeader: |
122 | 74 | magic: 0xFEEDFACF |
123 | | - cputype: 0x01000012 |
124 | | - cpusubtype: 0x00000000 |
| 75 | + cputype: [[CPUTYPE]] |
| 76 | + cpusubtype: [[SUBTYPE]] |
125 | 77 | filetype: 0x00000001 |
126 | 78 | ncmds: 0 |
127 | 79 | sizeofcmds: 0 |
128 | 80 | flags: 0x00002000 |
129 | 81 | reserved: 0x00000000 |
130 | 82 |
|
131 | | -# RUN: yaml2obj %s --docnum=5 -o %t.arm |
132 | | -# RUN: llvm-readobj -h %t.arm \ |
133 | | -# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm --check-prefix ARM |
134 | | - |
135 | | -# ARM:File: [[FILE]] |
136 | | -# ARM-NEXT:Format: Mach-O arm |
137 | | -# ARM-NEXT:Arch: arm |
138 | | -# ARM-NEXT:AddressSize: 32bit |
139 | | -# ARM-NEXT:MachHeader { |
140 | | -# ARM-NEXT: Magic: Magic (0xFEEDFACE) |
141 | | -# ARM-NEXT: CpuType: Arm (0xC) |
142 | | -# ARM-NEXT: CpuSubType: CPU_SUBTYPE_ARM_V7 (0x9) |
143 | | -# ARM-NEXT: FileType: Relocatable (0x1) |
144 | | -# ARM-NEXT: NumOfLoadCommands: 0 |
145 | | -# ARM-NEXT: SizeOfLoadCommands: 0 |
146 | | -# ARM-NEXT: Flags [ (0x2000) |
147 | | -# ARM-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
148 | | -# ARM-NEXT: ] |
149 | | -# ARM-NEXT:} |
150 | | -# ARM-NOT:{{.}} |
151 | | - |
152 | | ---- !mach-o |
153 | | -FileHeader: |
154 | | - magic: 0xFEEDFACE |
155 | | - cputype: 0x0000000C |
156 | | - cpusubtype: 0x00000009 |
157 | | - filetype: 0x00000001 |
158 | | - ncmds: 0 |
159 | | - sizeofcmds: 0 |
160 | | - flags: 0x00002000 |
| 83 | +# MACHO64:File: [[FILE]] |
| 84 | +# MACHO64-NEXT:Format: [[FORMAT]] |
| 85 | +# MACHO64-NEXT:Arch: [[ARCH]] |
| 86 | +# MACHO64-NEXT:AddressSize: 64bit |
| 87 | +# MACHO64-NEXT:MachHeader { |
| 88 | +# MACHO64-NEXT: Magic: Magic64 (0xFEEDFACF) |
| 89 | +# MACHO64-NEXT: CpuType: [[CPUTYPE]] |
| 90 | +# MACHO64-NEXT: CpuSubType: [[SUBTYPE]] |
| 91 | +# MACHO64-NEXT: FileType: Relocatable (0x1) |
| 92 | +# MACHO64-NEXT: NumOfLoadCommands: 0 |
| 93 | +# MACHO64-NEXT: SizeOfLoadCommands: 0 |
| 94 | +# MACHO64-NEXT: Flags [ (0x2000) |
| 95 | +# MACHO64-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) |
| 96 | +# MACHO64-NEXT: ] |
| 97 | +# MACHO64-NEXT: Reserved: 0x0 |
| 98 | +# MACHO64-NEXT:} |
| 99 | +# MACHO64-NOT:{{.}} |
0 commit comments