* ldmain.c (main): Init "strip_discarded".

* lexsup.c (OPTION_STRIP_DISCARDED): Define.
	(OPTION_NO_STRIP_DISCARDED): Define.
	(ld_options): Add "strip-discarded" and "no-strip-discarded".
	(parse_args): Handle them.
This commit is contained in:
Alan Modra 2002-12-23 12:05:38 +00:00
parent 7582835273
commit d5cd393307
3 changed files with 30 additions and 9 deletions

View File

@ -1,17 +1,25 @@
2002-12-23 Alan Modra <amodra@bigpond.net.au>
* ldmain.c (main): Init "strip_discarded".
* lexsup.c (OPTION_STRIP_DISCARDED): Define.
(OPTION_NO_STRIP_DISCARDED): Define.
(ld_options): Add "strip-discarded" and "no-strip-discarded".
(parse_args): Handle them.
2002-12-23 Nick Clifton <nickc@redhat.com>
* ld.h (struct args_type): Add new field
'accept_unknown_input_architecture'.
* ldmain.c (main): Initialise 'accept_unknown_input_architecture'
* ldmain.c (main): Initialise 'accept_unknown_input_architecture'
to false.
* ldlang.c (lang_check): Pass accept_unknown_input_architecture to
* ldlang.c (lang_check): Pass accept_unknown_input_architecture to
bfd_arch_get_compatible.
* ldfile.c (ldfile_try_open_bfd): Likewise.
* lexsup.c (ld_options): Add new command line switch
* ldfile.c (ldfile_try_open_bfd): Likewise.
* lexsup.c (ld_options): Add new command line switch
--accept-unknown-input-architecture and its inverse.
(parse_args): Handle --accept-unknown-input-architecture.
* ld.texinfo: Document new linker option.
* NEWS: Mention new linker option.
(parse_args): Handle --accept-unknown-input-architecture.
* ld.texinfo: Document new linker option.
* NEWS: Mention new linker option.
2002-12-20 Alan Modra <amodra@bigpond.net.au>
@ -46,7 +54,7 @@
so that it is not confused with -c.
2002-12-13 Ralf Habacker <Ralf.Habacker@freenet.de>
Charles Wilson <cwilson@ece.gatech.edu>
Charles Wilson <cwilson@ece.gatech.edu>
* configure.in: Add check for realpath function.
* configure: Regenerate.

View File

@ -248,6 +248,7 @@ main (argc, argv)
link_info.new_dtags = FALSE;
link_info.combreloc = TRUE;
link_info.eh_frame_hdr = FALSE;
link_info.strip_discarded = TRUE;
link_info.strip = strip_none;
link_info.discard = discard_sec_merge;
link_info.common_skip_ar_aymbols = bfd_link_common_skip_none;

View File

@ -133,7 +133,9 @@ int parsing_defsym = 0;
#define OPTION_NO_DEFINE_COMMON (OPTION_SPARE_DYNAMIC_TAGS + 1)
#define OPTION_NOSTDLIB (OPTION_NO_DEFINE_COMMON + 1)
#define OPTION_NO_OMAGIC (OPTION_NOSTDLIB + 1)
#define OPTION_ACCEPT_UNKNOWN_INPUT_ARCH (OPTION_NO_OMAGIC + 1)
#define OPTION_STRIP_DISCARDED (OPTION_NO_OMAGIC + 1)
#define OPTION_NO_STRIP_DISCARDED (OPTION_STRIP_DISCARDED + 1)
#define OPTION_ACCEPT_UNKNOWN_INPUT_ARCH (OPTION_NO_STRIP_DISCARDED + 1)
#define OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH (OPTION_ACCEPT_UNKNOWN_INPUT_ARCH + 1)
/* The long options. This structure is used for both the option
@ -241,6 +243,10 @@ static const struct ld_option ld_options[] =
's', NULL, N_("Strip all symbols"), TWO_DASHES },
{ {"strip-debug", no_argument, NULL, 'S'},
'S', NULL, N_("Strip debugging symbols"), TWO_DASHES },
{ {"strip-discarded", no_argument, NULL, OPTION_STRIP_DISCARDED},
'\0', NULL, N_("Strip symbols in discarded sections"), TWO_DASHES },
{ {"no-strip-discarded", no_argument, NULL, OPTION_NO_STRIP_DISCARDED},
'\0', NULL, N_("Do not strip symbols in discarded sections"), TWO_DASHES },
{ {"trace", no_argument, NULL, 't'},
't', NULL, N_("Trace file opens"), TWO_DASHES },
{ {"script", required_argument, NULL, 'T'},
@ -924,6 +930,12 @@ parse_args (argc, argv)
case 's':
link_info.strip = strip_all;
break;
case OPTION_STRIP_DISCARDED:
link_info.strip_discarded = TRUE;
break;
case OPTION_NO_STRIP_DISCARDED:
link_info.strip_discarded = FALSE;
break;
case OPTION_SHARED:
if (config.has_shared)
link_info.shared = TRUE;