Implement --print-sysroot in ld.
authorHans-Peter Nilsson <hp@bitrange.com>
Fri, 17 Oct 2014 11:06:56 +0000 (13:06 +0200)
committerHans-Peter Nilsson <hp@bitrange.com>
Fri, 17 Oct 2014 11:06:56 +0000 (13:06 +0200)
* ldlex.h (enum option_values): Add entry OPTION_PRINT_SYSROOT.
* lexsup.c (ld_options): Add entry for --print-sysroot.
(parse_args) <OPTION_PRINT_SYSROOT>: Print sysroot and exit early.

ld/ldlex.h
ld/lexsup.c

index 56cd121..e3e9b24 100644 (file)
@@ -136,6 +136,7 @@ enum option_values
 #endif /* ENABLE_PLUGINS */
   OPTION_DEFAULT_SCRIPT,
   OPTION_PRINT_OUTPUT_FORMAT,
+  OPTION_PRINT_SYSROOT,
   OPTION_IGNORE_UNRESOLVED_SYMBOL,
   OPTION_PUSH_STATE,
   OPTION_POP_STATE,
index 3a1ea9e..4812c97 100644 (file)
@@ -379,6 +379,8 @@ static const struct ld_option ld_options[] =
     EXACTLY_TWO_DASHES },
   { {"print-output-format", no_argument, NULL, OPTION_PRINT_OUTPUT_FORMAT},
     '\0', NULL, N_("Print default output format"), TWO_DASHES },
+  { {"print-sysroot", no_argument, NULL, OPTION_PRINT_SYSROOT},
+    '\0', NULL, N_("Print current sysroot"), TWO_DASHES },
   { {"qmagic", no_argument, NULL, OPTION_IGNORE},
     '\0', NULL, N_("Ignored for Linux compatibility"), ONE_DASH },
   { {"reduce-memory-overheads", no_argument, NULL,
@@ -960,6 +962,11 @@ parse_args (unsigned argc, char **argv)
        case OPTION_OFORMAT:
          lang_add_output_format (optarg, NULL, NULL, 0);
          break;
+       case OPTION_PRINT_SYSROOT:
+         if (*ld_sysroot)
+           puts (ld_sysroot);
+         xexit (0);
+         break;
        case OPTION_PRINT_OUTPUT_FORMAT:
          command_line.print_output_format = TRUE;
          break;