* config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
[deliverable/binutils-gdb.git] / ld / lexsup.c
index 0c44151bac084ea9a01b79cb819a95991a95e62c..8cf96eb6ff09f4603cef2b518ede97226e9df5ed 100644 (file)
@@ -283,6 +283,12 @@ static const struct ld_option ld_options[] =
     '\0', N_("PLUGIN"), N_("Load named plugin"), ONE_DASH },
   { {"plugin-opt", required_argument, NULL, OPTION_PLUGIN_OPT},
     '\0', N_("ARG"), N_("Send arg to last-loaded plugin"), ONE_DASH },
+  { {"flto", optional_argument, NULL, OPTION_IGNORE},
+    '\0', NULL, N_("Ignored for GCC LTO option compatibility"),
+    ONE_DASH },
+  { {"flto-partition=", required_argument, NULL, OPTION_IGNORE},
+    '\0', NULL, N_("Ignored for GCC LTO option compatibility"),
+    ONE_DASH },
 #endif /* ENABLE_PLUGINS */
   { {"Qy", no_argument, NULL, OPTION_IGNORE},
     '\0', NULL, N_("Ignored for SVR4 compatibility"), ONE_DASH },
@@ -350,8 +356,7 @@ static const struct ld_option ld_options[] =
 
   /* 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.  */
+     --copy-dt-needed-entries and --no-copy-dt-needed-entries.  */
   { {"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},
@@ -555,8 +560,9 @@ static const struct ld_option ld_options[] =
                   "                                ignore-all, report-all, ignore-in-object-files,\n"
                   "                                ignore-in-shared-libs"),
     TWO_DASHES },
-  { {"verbose", no_argument, NULL, OPTION_VERBOSE},
-    '\0', NULL, N_("Output lots of information during link"), TWO_DASHES },
+  { {"verbose", optional_argument, NULL, OPTION_VERBOSE},
+    '\0', N_("[=NUMBER]"),
+    N_("Output lots of information during link"), TWO_DASHES },
   { {"dll-verbose", no_argument, NULL, OPTION_VERBOSE}, /* Linux.  */
     '\0', NULL, NULL, NO_HELP },
   { {"version-script", required_argument, NULL, OPTION_VERSION_SCRIPT },
@@ -1056,7 +1062,8 @@ parse_args (unsigned argc, char **argv)
 #ifdef ENABLE_PLUGINS
        case OPTION_PLUGIN:
          if (plugin_opt_plugin (optarg))
-           einfo(_("%P%F: bad -plugin option\n"));
+           einfo (_("%P%F: %s: error loading plugin\n"),
+                  plugin_error_plugin ());
          break;
        case OPTION_PLUGIN_OPT:
          if (plugin_opt_plugin_arg (optarg))
@@ -1307,7 +1314,7 @@ parse_args (unsigned argc, char **argv)
          config.dynamic_link = FALSE;
          break;
        case 'u':
-         ldlang_add_undef (optarg);
+         ldlang_add_undef (optarg, TRUE);
          break;
        case OPTION_UNIQUE:
          if (optarg != NULL)
@@ -1320,6 +1327,14 @@ parse_args (unsigned argc, char **argv)
          version_printed = TRUE;
          trace_file_tries = TRUE;
          overflow_cutoff_limit = -2;
+         if (optarg != NULL)
+           {
+             char *end;
+             int level = strtoul (optarg, &end, 0);
+             if (*end)
+               einfo (_("%P%F: invalid number `%s'\n"), optarg);
+             report_plugin_symbols = level > 1;
+           }
          break;
        case 'v':
          ldversion (0);
This page took 0.023924 seconds and 4 git commands to generate.