Ramana Radhakrishnan <ramana.radhakrish...@foss.arm.com> writes:
> This fixes a GCC-8 regression that we accidentally switched off frame
> pointers in the AArch64 backend when changing the defaults in the common
> parts of the code. This breaks an ABI decision that was made in GCC at
> the dawn of the port with respect to having a frame pointer at all
> times.  If we really want to turn this off lets have a discussion around
> that separately.
>
> For now turn this back on and I believe this will leave PR84521 latent
> again with -fomit-frame-pointer and (hopefully) make the ruby issue go
> away. I'm asking Sudi to pick that up.
>
> Bootstrapped and regression tested on AArch64-none-linux-gnu but I see
> one regression in gcc.c-torture/execute/960419-2.c which needs to be
> looked at next (PR84528, thanks Kyrill).
>
> Ok to put in and then look at PR84528 ?
>
> gcc/ChangeLog:
>
> 2018-02-23  Ramana Radhakrishnan  <ramana.radhakrish...@arm.com>
>
>         PR target/84521
>       * common/config/aarch64/aarch64-common.c
> (aarch_option_optimization_table[]): Switch
> off fomit-frame-pointer

If we're doing this, we might also want to change the default for
-momit-leaf-frame-pointer.  As things stand we'll create a frame
for things like:

  void f (void) { volatile int x = 1; }

but not use a frame pointer for it.

Thanks,
Richard

Reply via email to