Summary: Add support for --rename-section flags from gnu objcopy. Not all flags appear to have an effect for ELF objects, but allowing them would allow easier drop-in replacement. Other unrecognized flags are rejected. This was only tested by comparing flags printed by "readelf -e <.o>" against the output of gnu vs llvm objcopy, it hasn't been tested to be valid beyond that. Reviewers: jakehehrlich, alexshap Subscribers: llvm-commits, paulsemel, alexshap Differential Revision: https://reviews.llvm.org/D49870 llvm-svn: 338582
31 lines
1001 B
Plaintext
31 lines
1001 B
Plaintext
# RUN: yaml2obj %s > %t
|
|
# RUN: llvm-objcopy --rename-section=.foo=.bar %t %t2
|
|
# RUN: llvm-readobj -file-headers -sections -section-data %t2 | FileCheck %s
|
|
# RUN: not llvm-objcopy --rename-section=.foo.bar --rename-section=.foo=.other %t %t2 2>&1 | FileCheck %s --check-prefix=BAD-FORMAT
|
|
# RUN: not llvm-objcopy --rename-section=.foo=.bar --rename-section=.foo=.other %t %t2 2>&1 | FileCheck %s --check-prefix=MULTIPLE-RENAMES
|
|
|
|
!ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .foo
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
Content: "c3c3c3c3"
|
|
|
|
# CHECK: SectionHeaderCount: 5
|
|
|
|
# CHECK: Name: .bar
|
|
# CHECK: SectionData (
|
|
# CHECK-NEXT: 0000: C3C3C3C3
|
|
# CHECK-NEXT: )
|
|
# CHECK: Name: .symtab
|
|
# CHECK: Name: .strtab
|
|
# CHECK: Name: .shstrtab
|
|
|
|
#BAD-FORMAT: Bad format for --rename-section: missing '='
|
|
#MULTIPLE-RENAMES: Multiple renames of section .foo
|