OSDN Git Service

Pass -m* and -v to -plugin-opt
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jan 2010 00:52:50 +0000 (00:52 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jan 2010 00:52:50 +0000 (00:52 +0000)
gcc/

2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>

PR lto/42520
* gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.

lto-plugin/

2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>

PR lto/42520
* lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
if -v is passed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155601 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gcc.c
lto-plugin/ChangeLog
lto-plugin/lto-plugin.c

index 203039f..6922745 100644 (file)
@@ -1,3 +1,8 @@
+2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42520
+       * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
+
 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
 
        PR rtl-optimization/41862
index 068671d..a9a10fe 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -786,6 +786,8 @@ proper position among the other output files.  */
     %{O*:-plugin-opt=-O%*} \
     %{w:-plugin-opt=-w} \
     %{f*:-plugin-opt=-f%*} \
+    %{m*:-plugin-opt=-m%*} \
+    %{v:-plugin-opt=-v} \
     } \
     %{flto} %{fwhopr} %l " LINK_PIE_SPEC \
    "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
index 77a8313..4848e27 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42520
+       * lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
+       if -v is passed.
+
 2009-12-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR bootstrap/42306
index 4a8a0ff..2fb4f2a 100644 (file)
@@ -369,7 +369,7 @@ add_output_files (FILE *f)
 static void
 exec_lto_wrapper (char *argv[])
 {
-  int t;
+  int t, i;
   int status;
   char *at_args;
   FILE *args;
@@ -394,13 +394,24 @@ exec_lto_wrapper (char *argv[])
   at_args = concat ("@", arguments_file_name, NULL);
   check (at_args, LDPL_FATAL, "could not allocate");
 
+  for (i = 1; argv[i]; i++)
+    {
+      char *a = argv[i];
+      if (a[0] == '-' && a[1] == 'v' && a[2] == '\0')
+       {
+         for (i = 0; argv[i]; i++)
+           fprintf (stderr, "%s ", argv[i]);
+         fprintf (stderr, "\n");
+         break;
+       }
+    }
+
   new_argv[0] = argv[0];
   new_argv[1] = at_args;
   new_argv[2] = NULL;
 
   if (debug)
     {
-      int i;
       for (i = 0; new_argv[i]; i++)
        fprintf (stderr, "%s ", new_argv[i]);
       fprintf (stderr, "\n");