OSDN Git Service

Turn on trace in collect2 if needed
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jan 2010 14:42:38 +0000 (14:42 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jan 2010 14:42:38 +0000 (14:42 +0000)
2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>

PR lto/42581
* collect2.c (main): Turn on trace in collect2 if -v is passed
to gcc with LTO.

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

gcc/ChangeLog
gcc/collect2.c

index 35009dc..807a34b 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42581
+       * collect2.c (main): Turn on trace in collect2 if -v is passed
+       to gcc with LTO.
+
 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
 
        * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
index b9bed6b..777510b 100644 (file)
@@ -1174,6 +1174,8 @@ main (int argc, char **argv)
   int num_c_args;
   char **old_argv;
 
+  bool use_verbose = false;
+
   old_argv = argv;
   expandargv (&argc, &argv);
   if (argv != old_argv)
@@ -1228,12 +1230,19 @@ main (int argc, char **argv)
        if (! strcmp (argv[i], "-debug"))
          debug = 1;
         else if (! strcmp (argv[i], "-flto") && ! use_plugin)
-          lto_mode = LTO_MODE_LTO;
+         {
+           use_verbose = true;
+           lto_mode = LTO_MODE_LTO;
+         }
         else if (! strcmp (argv[i], "-fwhopr") && ! use_plugin)
-          lto_mode = LTO_MODE_WHOPR;
+         {
+           use_verbose = true;
+           lto_mode = LTO_MODE_WHOPR;
+         }
         else if (! strcmp (argv[i], "-plugin"))
          {
            use_plugin = true;
+           use_verbose = true;
            lto_mode = LTO_MODE_NONE;
          }
 #ifdef COLLECT_EXPORT_LIST
@@ -1446,6 +1455,11 @@ main (int argc, char **argv)
              *c_ptr++ = xstrdup (q);
            }
        }
+      if (use_verbose && *q == '-' && q[1] == 'v' && q[2] == 0)
+       {
+         /* Turn on trace in collect2 if needed.  */
+         vflag = 1;
+       }
     }
   obstack_free (&temporary_obstack, temporary_firstobj);
   *c_ptr++ = "-fno-profile-arcs";