Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-objcopy / ELF / strip-non-alloc.test
blob9c74084ac90448d992ac226707d1b9a926f0adca
1 # RUN: yaml2obj --docnum=1 %s -o %t
2 # RUN: llvm-objcopy --strip-non-alloc %t %t.out
3 # RUN: llvm-readobj --file-headers --sections %t.out | FileCheck %s
5 # CHECK: SectionHeaderCount: 5
6 # CHECK: Name: non_alloc_in_segment
7 # CHECK: Name: .bss
8 # CHECK: Name: .text
9 # CHECK: Name: .shstrtab
11 --- !ELF
12 FileHeader:
13   Class:           ELFCLASS64
14   Data:            ELFDATA2LSB
15   Type:            ET_REL
16   Machine:         EM_X86_64
17 Sections:
18   - Name:            non_alloc_in_segment
19     Type:            SHT_PROGBITS
20     Flags:           [ ]
21     Size:            4
22   - Name:            .bss
23     Type:            SHT_NOBITS
24     Flags:           [ SHF_ALLOC ]
25   - Name:            .text
26     Type:            SHT_PROGBITS
27     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
28 ProgramHeaders:
29   # Use an arbitrary segment type to show that the segment type is unimportant.
30   - Type:     0x61234567
31     FirstSec: non_alloc_in_segment
32     LastSec:  non_alloc_in_segment
34 # RUN: yaml2obj --docnum=2 %s -o %t2
35 # RUN: llvm-objcopy --strip-non-alloc %t2 %t2.out
36 # RUN: llvm-readobj --file-headers --sections %t2.out | FileCheck --check-prefix=CHECK2 %s
38 # CHECK2: SectionHeaderCount: 3
39 # CHECK2: Name: .text
40 # CHECK2: Name: .shstrtab
42 --- !ELF
43 FileHeader:
44   Class:     ELFCLASS64
45   Data:      ELFDATA2LSB
46   Type:      ET_REL
47   Machine:   EM_X86_64
48 Sections:
49   - Name:    .text
50     Type:    SHT_PROGBITS
51     Flags:   [ SHF_ALLOC, SHF_EXECINSTR ]
52 ## empty_trailing_non_alloc is considered included by the segment,
53 ## so it will be retained.
54   - Name:    empty_trailing_non_alloc
55     Type:    SHT_PROGBITS
56   - Name:    trailing_non_alloc
57     Type:    SHT_PROGBITS
58     Content: 00
59 ProgramHeaders:
60   - Type:     0x61234567
61     FirstSec: .text
62     LastSec:  .text