llvm-project/llvm/test/tools/llvm-objcopy
Jordan Rupprecht be8ebccaed [llvm-objcopy] Implement -G/--keep-global-symbol(s).
Summary:
Port GNU Objcopy -G/--keep-global-symbol(s).

This is slightly different than the already-implemented --globalize-symbol, which marks a symbol as global when copying. When --keep-global-symbol (alias -G) is used, *only* those symbols marked will stay global, and all other globals are demoted to local. (Also note that it doesn't *promote* a symbol to global). Additionally, there is a pluralized version of the flag --keep-global-symbols, which effectively applies --keep-global-symbol for every non-comment in a file.

Reviewers: jakehehrlich, jhenderson, alexshap

Reviewed By: jhenderson

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D50589

llvm-svn: 340105
2018-08-17 22:34:48 +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 [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +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-input-and-output.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +00:00
binary-input-arch.test Fix windows buildbots by removing : from filenames 2018-08-17 19:18:20 +00:00
binary-input-error.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +00:00
binary-input.test [llvm-objcopy] Add support for -I binary -B <arch>. 2018-08-17 18:51:11 +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
check-addr-offset-align.test
common-symbol.test
discard-all.test [llvm-strip] Expose --discard-all option 2018-06-06 21:23:19 +00:00
drawf-fission.test
dump-section.test [llvm-objcopy] Add --dump-section 2018-08-09 17:05:21 +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-global-symbols-mix-globalize.test [llvm-objcopy] Implement -G/--keep-global-symbol(s). 2018-08-17 22:34:48 +00:00
keep-global-symbols.test [llvm-objcopy] Implement -G/--keep-global-symbol(s). 2018-08-17 22:34:48 +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 [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +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
prefix-symbols.test [llvm-objcopy] Add --prefix-symbols option 2018-08-09 17:49:04 +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
remove-multiple-sections.test
remove-section-with-symbol.test
remove-section.test [llvm-objcopy] Update remove-section.test 2018-05-11 04:30:57 +00:00
remove-shndx.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +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
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
segment-shift.test
segment-test-remove-section.test
strict-no-add.test [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:44 +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 [llvm-objcopy] NFC: Add some color to error() 2018-08-09 22:52:03 +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-preserve-time.test [llvm-strip] Add support for -p/--preserve-dates 2018-08-16 18:29:40 +00:00
strip-reloc-symbol.test [llvm-objcopy] NFC: Add some color to error() 2018-08-09 22:52:03 +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
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
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