From ddbb8a31d5f6d13c91a416e13f6ad11ac6604102 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 5 Nov 2009 15:35:50 +0000 Subject: * lexsup.c: Rename --add-needed to --copy-dt-needed-entries. * ldlang.h (struct lang_input_statement_struct): Rename add_needed to add_DT_NEEDED_for_dynamic. Rename as_needed to add_DT_NEEDED_for_regular. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldlang.c: Use the new variable names. * ldgram.y: Likewise. * emultempl/elf32.em: Likewise. * ld.texinfo: Document the renamed option. Also mention its affect on the resolution of dynamic symbols. * NEWS: Mention the changed option name. --- ld/lexsup.c | 58 +++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 23 deletions(-) (limited to 'ld/lexsup.c') diff --git a/ld/lexsup.c b/ld/lexsup.c index 47c72db..71b426a 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -125,10 +125,10 @@ enum option_values OPTION_SPLIT_BY_RELOC, OPTION_SPLIT_BY_FILE , OPTION_WHOLE_ARCHIVE, - OPTION_ADD_NEEDED, - OPTION_NO_ADD_NEEDED, - OPTION_AS_NEEDED, - OPTION_NO_AS_NEEDED, + OPTION_ADD_DT_NEEDED_FOR_DYNAMIC, + OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC, + OPTION_ADD_DT_NEEDED_FOR_REGULAR, + OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR, OPTION_WRAP, OPTION_FORCE_EXE_SUFFIX, OPTION_GC_SECTIONS, @@ -333,19 +333,22 @@ static const struct ld_option ld_options[] = OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH}, '\0', NULL, N_("Reject input files whose architecture is unknown"), TWO_DASHES }, - { {"add-needed", no_argument, NULL, OPTION_ADD_NEEDED}, - '\0', NULL, N_("Set DT_NEEDED tags for DT_NEEDED entries in\n" - " following dynamic libs"), - TWO_DASHES }, - { {"no-add-needed", no_argument, NULL, OPTION_NO_ADD_NEEDED}, - '\0', NULL, N_("Do not set DT_NEEDED tags for DT_NEEDED entries\n" - " in following dynamic libs"), - TWO_DASHES }, - { {"as-needed", no_argument, NULL, OPTION_AS_NEEDED}, + + /* The next two options are deprecated because of their similarity to + --as-needed and --no-as-needed. They have been replaced by + --resolve-implicit-dynamic-symbols and + --no-resolve-implicit-dynamic-symbols. */ + { {"add-needed", no_argument, NULL, OPTION_ADD_DT_NEEDED_FOR_DYNAMIC}, + '\0', NULL, NULL, NO_HELP }, + { {"no-add-needed", no_argument, NULL, OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC}, + '\0', NULL, NULL, NO_HELP }, + + { {"as-needed", no_argument, NULL, OPTION_ADD_DT_NEEDED_FOR_REGULAR}, '\0', NULL, N_("Only set DT_NEEDED for following dynamic libs if used"), TWO_DASHES }, - { {"no-as-needed", no_argument, NULL, OPTION_NO_AS_NEEDED}, - '\0', NULL, N_("Always set DT_NEEDED for following dynamic libs"), + { {"no-as-needed", no_argument, NULL, OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR}, + '\0', NULL, N_("Always set DT_NEEDED for dynamic libraries mentioned on\n" + " the command line"), TWO_DASHES }, { {"assert", required_argument, NULL, OPTION_ASSERT}, '\0', N_("KEYWORD"), N_("Ignored for SunOS compatibility"), ONE_DASH }, @@ -373,6 +376,15 @@ static const struct ld_option ld_options[] = { {"no-check-sections", no_argument, NULL, OPTION_NO_CHECK_SECTIONS}, '\0', NULL, N_("Do not check section addresses for overlaps"), TWO_DASHES }, + { {"copy-dt-needed-entries", no_argument, NULL, + OPTION_ADD_DT_NEEDED_FOR_DYNAMIC}, + '\0', NULL, N_("Copy DT_NEEDED links mentioned inside DSOs that follow"), + TWO_DASHES }, + { {"no-copy-dt-needed-entries", no_argument, NULL, + OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC}, + '\0', NULL, N_("Do not copy DT_NEEDED links mentioned inside DSOs that follow"), + TWO_DASHES }, + { {"cref", no_argument, NULL, OPTION_CREF}, '\0', NULL, N_("Output cross reference table"), TWO_DASHES }, { {"defsym", required_argument, NULL, OPTION_DEFSYM}, @@ -1379,17 +1391,17 @@ parse_args (unsigned argc, char **argv) case OPTION_WHOLE_ARCHIVE: whole_archive = TRUE; break; - case OPTION_ADD_NEEDED: - add_needed = TRUE; + case OPTION_ADD_DT_NEEDED_FOR_DYNAMIC: + add_DT_NEEDED_for_dynamic = TRUE; break; - case OPTION_NO_ADD_NEEDED: - add_needed = FALSE; + case OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC: + add_DT_NEEDED_for_dynamic = FALSE; break; - case OPTION_AS_NEEDED: - as_needed = TRUE; + case OPTION_ADD_DT_NEEDED_FOR_REGULAR: + add_DT_NEEDED_for_regular = TRUE; break; - case OPTION_NO_AS_NEEDED: - as_needed = FALSE; + case OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR: + add_DT_NEEDED_for_regular = FALSE; break; case OPTION_WRAP: add_wrap (optarg); -- cgit v1.1