xref: /llvm-project/llvm/test/tools/llvm-objcopy/ELF/add-section-and-set-attr.test (revision b28412d5397dc5a23f172d6ebeac760c82a82248)
1## Check --set-section-flags/--set-section-types work with sections added by --add-section.
2
3# RUN: yaml2obj %s -o %t
4# RUN: llvm-objcopy --add-section=foo=/dev/null --set-section-flags=foo=alloc,exclude %t %t.1
5# RUN: llvm-readobj -S %t.1 | FileCheck %s
6
7# CHECK:      Name: foo
8# CHECK-NEXT: Type: SHT_PROGBITS
9# CHECK-NEXT: Flags [
10# CHECK-NEXT:   SHF_ALLOC
11# CHECK-NEXT:   SHF_EXCLUDE
12# CHECK-NEXT:   SHF_WRITE
13# CHECK-NEXT: ]
14
15# RUN: llvm-objcopy --add-section=foo=/dev/null --set-section-type=foo=7 %t %t.2
16# RUN: llvm-readobj -S %t.2 | FileCheck %s --check-prefix=CHECK2
17
18# CHECK2:      Name: foo
19# CHECK2-NEXT: Type: SHT_NOTE (0x7)
20# CHECK2-NEXT: Flags [
21# CHECK2-NEXT: ]
22
23--- !ELF
24FileHeader:
25  Class:   ELFCLASS64
26  Data:    ELFDATA2LSB
27  Type:    ET_EXEC
28  Machine: EM_X86_64
29