llvm-project/llvm/test/tools/llvm-objcopy
Jordan Rupprecht d67c1e129b [llvm-objcopy] Add support for --rename-section flags from gnu objcopy
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
2018-08-01 16:23:22 +00:00
..
Inputs [llvm-objcopy, tests] Fix several llvm-objcopy tests 2018-07-20 16:19:36 +00:00
abs-symbol.test
add-gnu-debuglink.test [llvm-objcopy] Use the full filename in --add-gnu-debuglink 2018-02-19 19:53:44 +00:00
add-section-remove.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
add-section.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
adjacent-segments.test
armexidx-link.test [llvm-objcopy] Fix sh_link 2018-04-20 20:46:04 +00:00
auto-remove-shndx.test [llvm-objcopy] %python wants to be in quotes, because it might contain spaces 2018-07-18 16:17:53 +00:00
basic-archive-copy.test [llvm-objcopy] Add support for static libraries 2018-07-06 17:51:03 +00:00
basic-binary-copy.test
basic-copy.test
basic-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
basic-only-keep-debug.test [llvm-objcopy] Add --only-keep-debug as a noop 2018-05-15 20:53:53 +00:00
basic-only-keep.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
basic-relocations.test
binary-first-seg-offset-zero.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
binary-no-paddr.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
binary-out-error.test [llvm-objcopy] Refactor llvm-objcopy to use reader and writer objects 2018-01-25 22:46:17 +00:00
binary-paddr.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
binary-remove-all-but-one.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-remove-end.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-remove-middle.test [llvm-objcopy] Change -O binary to respect section removal and behave like GNU objcopy 2017-11-15 19:13:31 +00:00
binary-segment-layout.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
cannot-delete-dest.test Simplify test. 2017-12-05 18:26:23 +00:00
check-addr-offset-align-binary.test [llvm-objcopy] Fix bug in how segment alignment was being handled 2017-11-02 23:24:04 +00:00
check-addr-offset-align.test [llvm-objcopy] Fix bug in how segment alignment was being handled 2017-11-02 23:24:04 +00:00
common-symbol.test
discard-all.test [llvm-strip] Expose --discard-all option 2018-06-06 21:23:19 +00:00
drawf-fission.test [llvm-objcopy] Add support for dwarf fission 2017-11-03 18:58:41 +00:00
dump-section.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
dynamic-relocations.test
dynamic.test
dynstr.test
dynsym-error-remove-strtab.test [llvm-objcopy] Fix sh_link 2018-04-20 20:46:04 +00:00
dynsym.test
elf32be.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
elf32le.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
elf64be.test [llvm-objcopy] Support the rest of the ELF formats 2017-11-14 18:41:47 +00:00
empty-section.test
explicit-keep-remove.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
explicit-only-keep-remove.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
fail-no-output-directory.test [llvm-objcopy] Add support for static libraries 2018-07-06 17:51:03 +00:00
globalize.test [llvm-objcopy] Add --globalize-symbol option 2018-04-27 19:09:44 +00:00
group-big-endian.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
group-unchanged.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
group.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
help-message.test [llvm-objcopy] Add tests for help messages 2018-05-10 15:56:04 +00:00
hexagon-unsupported-on-x86.test
identical-segments.test
keep-file-symbols.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
keep-many.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
keep-only-keep.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
keep-symbol-remove-section.test [llvm-objcopy] Add --keep-symbol (-K) option 2018-05-15 14:09:37 +00:00
keep-symbol.test [llvm-objcopy] Add --keep-symbol (-K) option 2018-05-15 14:09:37 +00:00
localize-hidden.test [llvm-objcopy] Add --localize-hidden option 2018-01-05 19:19:09 +00:00
localize.test [llvm-objcopy] Add --localize-symbol option 2018-04-26 17:44:43 +00:00
many-sections.test [llvm-objcopy] %python wants to be in quotes, because it might contain spaces 2018-07-18 16:17:53 +00:00
marker-segment.test [llvm-objcopy] Fix handling of zero-size segments in llvm-objcopy 2018-02-14 23:31:33 +00:00
no-symbol-relocation.test
null-symbol.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
only-keep-many.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
only-keep-remove-strtab.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
only-keep-strip-non-alloc.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
overlap-chain.test
parent-loop-check.test Recommit "[llvm-objcopy] Switch over to using TableGen for parsing arguments" 2018-04-24 05:43:32 +00:00
program-headers.test
pt-phdr.test
redefine-symbol.test [llvm-objcopy] Implement --redefine-sym option 2018-04-26 18:28:17 +00:00
reloc-error-remove-symtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
remove-multiple-sections.test [llvm-objcopy] Add ability to remove multiple sections by name 2017-10-10 23:02:43 +00:00
remove-section-with-symbol.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
remove-section.test [llvm-objcopy] Update remove-section.test 2018-05-11 04:30:57 +00:00
remove-shndx.test [llvm-objcopy] %python wants to be in quotes, because it might contain spaces 2018-07-18 16:17:53 +00:00
remove-shstrtab-error.test [llvm-objcopy] Refactor llvm-objcopy to use reader and writer objects 2018-01-25 22:46:17 +00:00
remove-symtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
rename-section-flag-osproc-mask.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-flag-preserved.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-flag.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
rename-section-multiple.test [llvm-objcopy] Add basic support for --rename-section 2018-07-20 19:54:24 +00:00
rename-section.test [llvm-objcopy] Add support for --rename-section flags from gnu objcopy 2018-08-01 16:23:22 +00:00
section-index-unsupported.test
sectionless-segment.test
segment-shift-section-remove.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
segment-shift.test
segment-test-remove-section.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
strict-no-add.test [llvm-objcopy] %python wants to be in quotes, because it might contain spaces 2018-07-18 16:17:53 +00:00
strip-all-and-keep-symbol.test [llvm-objcopy] Fix null symbol handling 2018-06-01 16:19:46 +00:00
strip-all-and-remove.test [llvm-strip] Add support for -remove-section 2018-05-11 05:27:06 +00:00
strip-all-gnu.test [llvm-objcopy] Add --strip-all-gnu and change --strip-all 2017-11-27 18:56:01 +00:00
strip-all.test Handle the lack of a symbol table correctly. 2018-07-26 20:05:31 +00:00
strip-debug-and-remove.test [llvm-strip] Add support for -remove-section 2018-05-11 05:27:06 +00:00
strip-debug.test [llvm-objcopy] Make --strip-debug strip .gdb_index 2018-07-31 21:26:35 +00:00
strip-dwo-groups.test [llvm-objcopy] Implement support for section groups 2018-03-21 19:53:44 +00:00
strip-dwo-inplace.test [llvm-objcopy] Make modifications in-place if output is not specified 2018-02-09 23:33:31 +00:00
strip-group-symbol.test Fix tests added in r331924 so that they work on Windows. 2018-05-10 03:06:42 +00:00
strip-non-alloc.test [llvm-objcopy] Add -strip-non-alloc option to remove all non-allocated sections 2017-11-14 18:50:24 +00:00
strip-reloc-symbol.test Fix tests added in r331924 so that they work on Windows. 2018-05-10 03:06:42 +00:00
strip-sections-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
strip-sections-only-keep.test [llvm-objcopy] Add support for --only-keep/-j and --keep 2017-11-30 20:14:53 +00:00
strip-sections.test Reland "[llvm-objcopy] Add support for --strip-sections to remove all section headers leaving only program headers and loadable segment data" 2017-10-11 18:09:18 +00:00
strip-symbol.test [llvm-objcopy] Add --strip-symbol (-N) option 2018-05-09 21:36:54 +00:00
strip-unneeded.test [llvm-strip] Expose --strip-unneeded option 2018-06-07 10:05:25 +00:00
symbol-copy.test [llvm-objcopy] Add support for visibility 2018-01-02 23:01:24 +00:00
symtab-error-on-remove-strtab.test [llvm-objcopy] Add support for removing sections 2017-10-10 18:47:09 +00:00
symtab-link.test llvm-objcopy: Set sh_link to 0 on unrecognized symtab-linked sections. 2018-05-30 19:30:39 +00:00
triple-overlap.test
two-seg-remove-end.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
two-seg-remove-first.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
two-seg-remove-third-sec.test [llvm-objcopy] Use physical instead of virtual address when aligning and placing sections in binary 2018-01-22 19:27:30 +00:00
weaken-all.test [llvm-objcopy] Add --weaken option 2018-05-02 20:14:49 +00:00
weaken.test [llvm-objcopy] Add --weaken-symbol (-W) option 2018-04-27 19:16:27 +00:00