https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85669

--- Comment #43 from Wilco <wdijkstr at arm dot com> ---
(In reply to Douglas Mencken from comment #42)
> (In reply to Wilco from comment #41)
> 
> > So what is the disassembly now?
> 
> $ /Developer/GCC/8.2p/PowerPC/32bit/bin/gcc -O2 -fno-inline pr78468.c
> -save-temps
> $ mv pr78468.s ~/
> $ diff -u ~/8.2patched-pr78468.s ~/pr78468.s
> 
> Shows nothing, so they are identical

So that patch didn't do anything to fix STACK_DYNAMIC_OFFSET then. If it has no
effect then is that header really used?

> > The 2nd diff still shows the original unaligned STACK_DYNAMIC_OFFSET.
> 
> Second is vanilla 8.2, unpatched, which is marked with “-” in diff I posted
> 
> Possible problem is that in
> 
> -      if (size_align > known_align)
> -     size_align = known_align;
> +  if (extra && size_align > BITS_PER_UNIT)
> +    size_align = BITS_PER_UNIT;
> 
> you forgot if (extra /* assumed >0 */

No the problem is not in this code. It's STACK_DYNAMIC_OFFSET which is wrong.

Reply via email to