Index: gcc/configure
===================================================================
--- gcc/configure	(revision 174518)
+++ gcc/configure	(working copy)
@@ -10977,7 +10977,9 @@ static char revision[] = "$gcc_REVISION";
 
 static struct plugin_gcc_version gcc_version = {basever, datestamp,
 						devphase, revision,
-						configuration_arguments};
+						configuration_arguments,
+/* Field invoking_program is set in general_init inside toplev.c.  */
+						NULL};
 EOF
 
 # Internationalization
@@ -17517,7 +17519,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17520 "configure"
+#line 17522 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17623,7 +17625,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17626 "configure"
+#line 17628 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
Index: gcc/toplev.c
===================================================================
--- gcc/toplev.c	(revision 174518)
+++ gcc/toplev.c	(working copy)
@@ -1148,6 +1148,7 @@ general_init (const char *argv0)
     --p;
   progname = p;
 
+  gcc_version.invoking_program = progname;
   xmalloc_set_program_name (progname);
 
   hex_init ();
Index: gcc/configure.ac
===================================================================
--- gcc/configure.ac	(revision 174518)
+++ gcc/configure.ac	(working copy)
@@ -1521,7 +1521,9 @@ static char revision[] = "$gcc_REVISION";
 
 static struct plugin_gcc_version gcc_version = {basever, datestamp,
 						devphase, revision,
-						configuration_arguments};
+						configuration_arguments,
+/* Field invoking_program is set in general_init inside toplev.c.  */
+						NULL};
 EOF
 changequote([,])dnl
 
Index: gcc/gcc-plugin.h
===================================================================
--- gcc/gcc-plugin.h	(revision 174518)
+++ gcc/gcc-plugin.h	(working copy)
@@ -70,6 +70,8 @@ struct plugin_gcc_version
   const char *devphase;
   const char *revision;
   const char *configuration_arguments;
+  /* Short string like "cc1" or "lto1" giving the invoking program.  */
+  const char *invoking_program;
 };
 
 /* Object that keeps track of the plugin name and its arguments. */
