xref: /llvm-project/llvm/test/tools/llvm-objcopy/ELF/set-section-attr-and-rename.test (revision b28412d5397dc5a23f172d6ebeac760c82a82248)
17c03b7d6SFangrui Song# RUN: yaml2obj %s -o %t
27c03b7d6SFangrui Song
3*b28412d5SFangrui Song# RUN: llvm-objcopy --rename-section=.foo=.bar --set-section-alignment=.foo=16 --set-section-flags=.foo=alloc --set-section-type=.foo=5 %t %t.1
47c03b7d6SFangrui Song# RUN: llvm-readobj -S %t.1 | FileCheck %s
57c03b7d6SFangrui Song
67c03b7d6SFangrui Song# CHECK:      Name: .bar
7*b28412d5SFangrui Song# CHECK-NEXT: Type: SHT_HASH (0x5)
87c03b7d6SFangrui Song# CHECK-NEXT: Flags [
97c03b7d6SFangrui Song# CHECK-NEXT:   SHF_ALLOC
107c03b7d6SFangrui Song# CHECK-NEXT:   SHF_WRITE
117c03b7d6SFangrui Song# CHECK-NEXT: ]
127c03b7d6SFangrui Song# CHECK:      AddressAlignment:
137c03b7d6SFangrui Song# CHECK-SAME:   {{^}} 16
147c03b7d6SFangrui Song
157c03b7d6SFangrui Song# RUN: not llvm-objcopy --rename-section=.foo=.bar --set-section-flags=.bar=alloc %t %t.2 2>&1 | \
16*b28412d5SFangrui Song# RUN:   FileCheck %s --check-prefix=SET-BAR1
17*b28412d5SFangrui Song# SET-BAR1: --set-section-flags=.bar conflicts with --rename-section=.foo=.bar
18*b28412d5SFangrui Song
19*b28412d5SFangrui Song# RUN: not llvm-objcopy --rename-section=.foo=.bar --set-section-type=.bar=1 %t %t.2 2>&1 | \
20*b28412d5SFangrui Song# RUN:   FileCheck %s --check-prefix=SET-BAR2
21*b28412d5SFangrui Song# SET-BAR2: --set-section-type=.bar conflicts with --rename-section=.foo=.bar
227c03b7d6SFangrui Song
237c03b7d6SFangrui Song!ELF
247c03b7d6SFangrui SongFileHeader:
257c03b7d6SFangrui Song  Class:           ELFCLASS64
267c03b7d6SFangrui Song  Data:            ELFDATA2LSB
277c03b7d6SFangrui Song  Type:            ET_REL
287c03b7d6SFangrui Song  Machine:         EM_X86_64
297c03b7d6SFangrui SongSections:
307c03b7d6SFangrui Song  - Name:  .foo
317c03b7d6SFangrui Song    Type:  SHT_PROGBITS
327c03b7d6SFangrui Song    Flags: [ SHF_ALLOC ]
33