>       * go-lang.c (go_langhook_init_options_struct): Don't set
>       x_flag_split_stack.
>       (go_langhook_post_options): Set it here instead.
> ---
>  gcc/go/go-lang.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c
> index ce4dd9b..d952e0f 100644
> --- a/gcc/go/go-lang.c
> +++ b/gcc/go/go-lang.c
> @@ -158,10 +158,6 @@ go_langhook_init_options_struct (struct gcc_options 
> *opts)
>    opts->x_flag_errno_math = 0;
>    opts->frontend_set_flag_errno_math = true;
>  
> -  /* We turn on stack splitting if we can.  */
> -  if (targetm_common.supports_split_stack (false, opts))
> -    opts->x_flag_split_stack = 1;
> -
>    /* Exceptions are used to handle recovering from panics.  */
>    opts->x_flag_exceptions = 1;
>    opts->x_flag_non_call_exceptions = 1;
> @@ -295,6 +291,11 @@ go_langhook_post_options (const char **pfilename 
> ATTRIBUTE_UNUSED)
>        && global_options.x_write_symbols == NO_DEBUG)
>      global_options.x_write_symbols = PREFERRED_DEBUGGING_TYPE;
>  
> +  /* We turn on stack splitting if we can.  */
> +  if (!global_options_set.x_flag_split_stack
> +      && targetm_common.supports_split_stack (false, &global_options))
> +    global_options.x_flag_split_stack = 1;
> +
>    /* Returning false means that the backend should be used.  */
>    return false;
>  }

This fixes the bootstrap error, and probably makes it possible to use
DEFAULT_ABI in rs6000_supports_split_stack.

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Reply via email to