Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / ObjectYAML / MachO / fat_macho_i386_x86_64.yaml
blob50d45d6321a28e0356ea400b08645cb603af4611
1 ## This file contains test cases for generating Fat Mach-O binaries.
3 ## a) Test that yaml2obj emits Fat Mach-O binary and obj2yaml converts it
4 ## back to YAML file.
6 # RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s
8 --- !fat-mach-o
9 FatHeader:       
10   magic:           0xCAFEBABE
11   nfat_arch:       2
12 FatArchs:        
13   - cputype:         0x00000007
14     cpusubtype:      0x00000003
15     offset:          0x0000000000001000
16     size:            15244
17     align:           12
18   - cputype:         0x01000007
19     cpusubtype:      0x80000003
20     offset:          0x0000000000005000
21     size:            15380
22     align:           12
23 Slices:          
24   - FileHeader:      
25       magic:           0xFEEDFACE
26       cputype:         0x00000007
27       cpusubtype:      0x00000003
28       filetype:        0x00000002
29       ncmds:           0
30       sizeofcmds:      0
31       flags:           0x01218085
32   - FileHeader:      
33       magic:           0xFEEDFACF
34       cputype:         0x01000007
35       cpusubtype:      0x80000003
36       filetype:        0x00000002
37       ncmds:           0
38       sizeofcmds:      0
39       flags:           0x00218085
40       reserved:        0x00000000
41 ...
44 #CHECK: --- !fat-mach-o
45 #CHECK: FatHeader:       
46 #CHECK:   magic:           0xCAFEBABE
47 #CHECK:   nfat_arch:       2
48 #CHECK: FatArchs:        
49 #CHECK:   - cputype:         0x7
50 #CHECK:     cpusubtype:      0x3
51 #CHECK:     offset:          0x1000
52 #CHECK:     size:            15244
53 #CHECK:     align:           12
54 #CHECK:   - cputype:         0x1000007
55 #CHECK:     cpusubtype:      0x80000003
56 #CHECK:     offset:          0x5000
57 #CHECK:     size:            15380
58 #CHECK:     align:           12
59 #CHECK: Slices:          
60 #CHECK:   - !mach-o
61 #CHECK:     FileHeader:      
62 #CHECK:       magic:           0xFEEDFACE
63 #CHECK:       cputype:         0x7
64 #CHECK:       cpusubtype:      0x3
65 #CHECK:       filetype:        0x2
66 #CHECK:       ncmds:           0
67 #CHECK:       sizeofcmds:      0
68 #CHECK:       flags:           0x1218085
69 #CHECK:   - !mach-o
70 #CHECK:     FileHeader:        
71 #CHECK:       magic:           0xFEEDFACF
72 #CHECK:       cputype:         0x1000007
73 #CHECK:       cpusubtype:      0x80000003
74 #CHECK:       filetype:        0x2
75 #CHECK:       ncmds:           0
76 #CHECK:       sizeofcmds:      0
77 #CHECK:       flags:           0x218085
78 #CHECK:       reserved:        0x0
79 #CHECK: ...
81 ## b) Test that yaml2obj emits an error message if the number of 'FatArchs' is less than
82 ## the number of 'Slices'.
84 # RUN: not yaml2obj --docnum=2 %s -o %t2.fat-macho 2>&1 | FileCheck %s --check-prefix=ERROR
86 # ERROR: yaml2obj: error: cannot write 'Slices' if not described in 'FatArches'
88 --- !fat-mach-o
89 FatHeader:
90   magic:     0xCAFEBABE
91   nfat_arch: 2
92 FatArchs:
93   ## 2 FatArchs are expected.
94   - cputype:    0x00000007
95     cpusubtype: 0x00000003
96     offset:     0x0000000000001000
97     size:       0
98     align:      0
99 Slices:
100   - FileHeader:
101       magic:      0xFEEDFACE
102       cputype:    0x00000007
103       cpusubtype: 0x00000003
104       filetype:   0x00000002
105       ncmds:      0
106       sizeofcmds: 0
107       flags:      0x00000000
108   - FileHeader:
109       magic:      0xFEEDFACE
110       cputype:    0x00000007
111       cpusubtype: 0x00000003
112       filetype:   0x00000002
113       ncmds:      0
114       sizeofcmds: 0
115       flags:      0x00000000