diff options
author | Nick Clifton <nickc@redhat.com> | 2015-04-07 16:29:41 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-04-07 16:29:41 +0100 |
commit | 3ea6077552ad86ebb441bef6e1bd40e18d06ab44 (patch) | |
tree | 2a705af6063e141f715ad6e96547feffacec90a8 /ld/lexsup.c | |
parent | 8a06aea71e0aa9099d0ca593dbb58f6e056af4ff (diff) | |
download | gdb-3ea6077552ad86ebb441bef6e1bd40e18d06ab44.zip gdb-3ea6077552ad86ebb441bef6e1bd40e18d06ab44.tar.gz gdb-3ea6077552ad86ebb441bef6e1bd40e18d06ab44.tar.bz2 |
Add new linker option: --warn-orphan which generates warning messages when orphan sections are detected.
ld * ld.h (struct ld_config_type): Add new field: warn_orphan.
* ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and
OPTION_NO_WARN_ORPHAN.
* lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan.
(parse_args): Handle the new options.
* ldemul.c (ldemul_place_orphan): If requested, generate a warning
message when an orphan section is placed in the output file.
* ld.texinfo: Document the new option.
* NEWS: Mention the new feature.
tests * ld-elf/orphan-5.l: New test - checks the linker's output with
--warn-orphan enabled.
* ld-elf/elf.exp: Run the new test.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r-- | ld/lexsup.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c index aa6c3cd..a30fafa 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -489,6 +489,10 @@ static const struct ld_option ld_options[] = '\0', NULL, N_("Warn if the multiple GP values are used"), TWO_DASHES }, { {"warn-once", no_argument, NULL, OPTION_WARN_ONCE}, '\0', NULL, N_("Warn only once per undefined symbol"), TWO_DASHES }, + { {"warn-orphan", no_argument, NULL, OPTION_WARN_ORPHAN}, + '\0', NULL, N_("Warn if any orphan sections are encountered"), TWO_DASHES }, + { {"no-warn-orphan", no_argument, NULL, OPTION_NO_WARN_ORPHAN}, + '\0', NULL, N_("Do not warn if orphan sections are encountered (default)"), TWO_DASHES }, { {"warn-section-align", no_argument, NULL, OPTION_WARN_SECTION_ALIGN}, '\0', NULL, N_("Warn if start of section changes due to alignment"), TWO_DASHES }, @@ -1350,6 +1354,12 @@ parse_args (unsigned argc, char **argv) case OPTION_WARN_ONCE: config.warn_once = TRUE; break; + case OPTION_WARN_ORPHAN: + config.warn_orphan = TRUE; + break; + case OPTION_NO_WARN_ORPHAN: + config.warn_orphan = FALSE; + break; case OPTION_WARN_SECTION_ALIGN: config.warn_section_align = TRUE; break; |