diff options
author | fincs <fincs.alt1@gmail.com> | 2016-12-16 13:42:02 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-12-16 13:49:03 +1030 |
commit | 221855059a11ab76aa909a5df4104354f9384139 (patch) | |
tree | e1bd030fe42b33167faff27c3df182cc6843054d /ld/lexsup.c | |
parent | 4c4067e410581fe5c6190407b4fd410e7b71f9e4 (diff) | |
download | gdb-221855059a11ab76aa909a5df4104354f9384139.zip gdb-221855059a11ab76aa909a5df4104354f9384139.tar.gz gdb-221855059a11ab76aa909a5df4104354f9384139.tar.bz2 |
Implement and document --gc-keep-exported
include/
* bfdlink.h (struct bfd_link_info): Add gc_keep_exported.
bfd/
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
for info->gc_keep_exported.
(bfd_elf_gc_sections): Likewise.
ld/
* ld.texinfo: Document --gc-keep-exported.
* ldlex.h (enum option_values): Add OPTION_GC_KEEP_EXPORTED.
* lexsup.c (parse_args): Add handling for --gc-keep-exported.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r-- | ld/lexsup.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c index fb0b47f..8ff5d1f 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -335,6 +335,9 @@ static const struct ld_option ld_options[] = { {"no-print-gc-sections", no_argument, NULL, OPTION_NO_PRINT_GC_SECTIONS}, '\0', NULL, N_("Do not list removed unused sections"), TWO_DASHES }, + { {"gc-keep-exported", no_argument, NULL, OPTION_GC_KEEP_EXPORTED}, + '\0', NULL, N_("Keep exported symbols when removing unused sections"), + TWO_DASHES }, { {"hash-size=<NUMBER>", required_argument, NULL, OPTION_HASH_SIZE}, '\0', NULL, N_("Set default hash table size close to <NUMBER>"), TWO_DASHES }, @@ -861,6 +864,9 @@ parse_args (unsigned argc, char **argv) case OPTION_PRINT_GC_SECTIONS: link_info.print_gc_sections = TRUE; break; + case OPTION_GC_KEEP_EXPORTED: + link_info.gc_keep_exported = TRUE; + break; case OPTION_HELP: help (); xexit (0); |