xref: /llvm-project/llvm/test/tools/llvm-objcopy/MachO/bitcode-strip-remove.test (revision 59172194389c92f14057cfe97d6c0b26a4b1a6f1)
1## Test bitcode section and segment removal.
2# RUN: yaml2obj %s -o %t
3# RUN: llvm-bitcode-strip -r %t -o %t2
4# RUN: llvm-readobj --macho-segment --sections %t2 | FileCheck --implicit-check-not=Name: %s
5
6# CHECK:      Name: __text
7# CHECK-NEXT: Segment: __TEXT
8# CHECK:      Name: __bundle
9# CHECK-NEXT: Segment: __DATA
10# CHECK:      Cmd: LC_SEGMENT_64
11# CHECK-NEXT: Name: __TEXT
12# CHECK:      Cmd: LC_SEGMENT_64
13# CHECK-NEXT: Name: __DATA
14
15--- !mach-o
16FileHeader:
17  magic:           0xFEEDFACF
18  cputype:         0x01000007
19  cpusubtype:      0x00000003
20  filetype:        0x00000001
21  ncmds:           3
22  sizeofcmds:      456
23  flags:           0x00002000
24  reserved:        0x00000000
25LoadCommands:
26  - cmd:             LC_SEGMENT_64
27    cmdsize:         152
28    segname:         __TEXT
29    vmaddr:          0
30    vmsize:          4
31    fileoff:         488
32    filesize:        4
33    maxprot:         7
34    initprot:        7
35    nsects:          1
36    flags:           0
37    Sections:
38      - sectname:        __text
39        segname:         __TEXT
40        addr:            0x0000000000000000
41        content:         'AABBCCDD'
42        size:            4
43        offset:          488
44        align:           0
45        reloff:          0x00000000
46        nreloc:          0
47        flags:           0x80000400
48        reserved1:       0x00000000
49        reserved2:       0x00000000
50        reserved3:       0x00000000
51  - cmd:             LC_SEGMENT_64
52    cmdsize:         152
53    segname:         __DATA
54    vmaddr:          4
55    vmsize:          4
56    fileoff:         492
57    filesize:        4
58    maxprot:         7
59    initprot:        7
60    nsects:          1
61    flags:           0
62    Sections:
63      - sectname:        __bundle
64        segname:         __DATA
65        addr:            0x0000000000000004
66        content:         'DDAADDAA'
67        size:            4
68        offset:          492
69        align:           0
70        reloff:          0x00000000
71        nreloc:          0
72        flags:           0x00000000
73        reserved1:       0x00000000
74        reserved2:       0x00000000
75        reserved3:       0x00000000
76  - cmd:             LC_SEGMENT_64
77    cmdsize:         152
78    segname:         __LLVM
79    vmaddr:          8
80    vmsize:          4
81    fileoff:         496
82    filesize:        4
83    maxprot:         7
84    initprot:        7
85    nsects:          1
86    flags:           0
87    Sections:
88      - sectname:        __bundle
89        segname:         __LLVM
90        addr:            0x0000000000000008
91        content:         'EEFFEEFF'
92        size:            4
93        offset:          496
94        align:           0
95        reloff:          0x00000000
96        nreloc:          0
97        flags:           0x00000000
98        reserved1:       0x00000000
99        reserved2:       0x00000000
100        reserved3:       0x00000000
101