Patchwork Diagnostics from GCC_DRIVER_HOST_INITIALIZATION

login
register
mail settings
Submitter Ryan Mansfield
Date July 20, 2012, 11:55 a.m.
Message ID <50094719.6050301@qnx.com>
Download mbox | patch
Permalink /patch/172207/
State New
Headers show

Comments

Ryan Mansfield - July 20, 2012, 11:55 a.m.
On 12-07-19 06:06 PM, Gabriel Dos Reis wrote:
> On Thu, Jul 19, 2012 at 4:13 PM, Ryan Mansfield <rmansfield@qnx.com> wrote:
>> GCC_DRIVER_HOST_INITIALIZATION happens before diagnostic_initialize, this
>> can cause crashes if it call diagnostics such as warning, or fatal_error are
>> used in the macro. One example would be in darwin-driver.c where
>> darwin_find_version_from_kernel can call warning(). Another example is in
>> xm-djgpp.h where it calls fatal (this appears to have bit-rotted with the
>> fatal -> fatal_error switch)
>>
>> Would moving the GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize
>> be OK?
>
> yes, I think so.

OK, then here's a changelog entry for the diff.

2012-07-20  Ryan Mansfield  <rmansfield@qnx.com>

         * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
         diagnostic_initialize.

Could someone please apply the change?

Regards,

Ryan Mansfield
Dodji Seketeli - July 27, 2012, 7:41 a.m.
Hello,

Ryan Mansfield <rmansfield@qnx.com> a écrit:

> On 12-07-19 06:06 PM, Gabriel Dos Reis wrote:

[...]

>>> Would moving the GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize
>>> be OK?
>>
>> yes, I think so.
>
> OK, then here's a changelog entry for the diff.
>
> 2012-07-20  Ryan Mansfield  <rmansfield@qnx.com>
>
>         * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
>         diagnostic_initialize.
>
> Could someone please apply the change?

The change seems small and obvious enough to not require copyright
assignment on file, but, just to be sure, Ryan, do you have copyright
assignment to the FSF on file (sorry if my question is stupid)?

Gaby, can I go ahead and apply this?

Thanks.

[...]

> Index: gcc.c
> ===================================================================
> --- gcc.c	(revision 189716)
> +++ gcc.c	(working copy)
> @@ -6189,17 +6189,18 @@
>  				   CL_DRIVER,
>  				   &decoded_options, &decoded_options_count);
>  
> -#ifdef GCC_DRIVER_HOST_INITIALIZATION
> -  /* Perform host dependent initialization when needed.  */
> -  GCC_DRIVER_HOST_INITIALIZATION;
> -#endif
> -
>    /* Unlock the stdio streams.  */
>    unlock_std_streams ();
>  
>    gcc_init_libintl ();
>  
>    diagnostic_initialize (global_dc, 0);
> +
> +#ifdef GCC_DRIVER_HOST_INITIALIZATION
> +  /* Perform host dependent initialization when needed.  */
> +  GCC_DRIVER_HOST_INITIALIZATION;
> +#endif
> +
>    if (atexit (delete_temp_files) != 0)
>      fatal_error ("atexit failed");
>
Ryan Mansfield - July 27, 2012, 1:38 p.m.
On 12-07-27 03:41 AM, Dodji Seketeli wrote:
>> 2012-07-20  Ryan Mansfield  <rmansfield@qnx.com>
>>
>>          * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
>>          diagnostic_initialize.
>>
>> Could someone please apply the change?
>
> The change seems small and obvious enough to not require copyright
> assignment on file, but, just to be sure, Ryan, do you have copyright
> assignment to the FSF on file (sorry if my question is stupid)?

Yes, I do.

Regards,

Ryan Mansfield
Dodji Seketeli - July 27, 2012, 6:18 p.m.
Gabriel Dos Reis <gdr@integrable-solutions.net> a écrit:

>> > 2012-07-20  Ryan Mansfield  <rmansfield@qnx.com <javascript:;>>
>> >
>> >         * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
>> >         diagnostic_initialize.
>> >
>> > Could someone please apply the change?
>>
>> The change seems small and obvious enough to not require copyright
>> assignment on file, but, just to be sure, Ryan, do you have copyright
>> assignment to the FSF on file (sorry if my question is stupid)?
>>
>> Gaby, can I go ahead and apply this?
>>
>>
> yes, thank you!

Committed at revision r189918.

Thanks.

Patch

Index: gcc.c
===================================================================
--- gcc.c	(revision 189716)
+++ gcc.c	(working copy)
@@ -6189,17 +6189,18 @@ 
 				   CL_DRIVER,
 				   &decoded_options, &decoded_options_count);
 
-#ifdef GCC_DRIVER_HOST_INITIALIZATION
-  /* Perform host dependent initialization when needed.  */
-  GCC_DRIVER_HOST_INITIALIZATION;
-#endif
-
   /* Unlock the stdio streams.  */
   unlock_std_streams ();
 
   gcc_init_libintl ();
 
   diagnostic_initialize (global_dc, 0);
+
+#ifdef GCC_DRIVER_HOST_INITIALIZATION
+  /* Perform host dependent initialization when needed.  */
+  GCC_DRIVER_HOST_INITIALIZATION;
+#endif
+
   if (atexit (delete_temp_files) != 0)
     fatal_error ("atexit failed");