PATCH: PR lto/42598: -v/-m* don't work with plugin

Richard Guenther richard.guenther@gmail.com
Sun Jan 3 22:18:00 GMT 2010


On Sun, Jan 3, 2010 at 10:48 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> This patch adds -m* and -v support to plugin. OK for trunk?

Ok.

Thanks,
Richard.

> Thanks.
>
>
> H.J.
> ---
> gcc/
>
> 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
>
>        PR lto/42598
>        * 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/42598
>        * lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
>        if -v is passed.
>
> diff --git a/gcc/gcc.c b/gcc/gcc.c
> index 068671d..a9a10fe 100644
> --- 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}\
> diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
> index 4a8a0ff..2fb4f2a 100644
> --- a/lto-plugin/lto-plugin.c
> +++ b/lto-plugin/lto-plugin.c
> @@ -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");
>



More information about the Gcc-patches mailing list