This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: tst-pthread-getattr changes break sparc
On Fri, 27 Jul 2012 08:30:53 -0700, Richard wrote:
> On 07/27/2012 07:36 AM, Siddhesh Poyarekar wrote:
> > - /* ??? STACK_POINTER_OFFSET is always defined now. */
> > -#if defined (STACK_DYNAMIC_OFFSET) || defined
> > (STACK_POINTER_OFFSET) +#if defined (STACK_DYNAMIC_OFFSET) ||
> > STACK_POINTER_OFFSET must_align = true;
> > extra_align = BITS_PER_UNIT;
> > #endif
>
> Ah, well, fyi, doing a test in the #if isn't going to work.
>
> Also, I'll note that STACK_DYNAMIC_OFFSET has a default too, it's
> just not here in explow.c, but in function.c. Further, as the
> comment above says, we can't actually evaluate S_D_O at this time.
> Which is going to leave us with something like
>
> if (ACCUMULATE_OUTGOING_ARGS || STACK_POINTER_OFFSET)
> must_align = true, extra_align = BITS_PER_UNIT;
>
> We *could* probably arrange for STACK_DYNAMIC_OFFSET to be forced to
> be aligned to some value that gets computed from the maximum required
> by dynamic allocation though. That way we wouldn't have to take
> S_D_O into account at all -- we'd know it was cooperating.
>
> Wanna file a gcc bz enhancement request for this?
>
Thanks, I'll do this today.
Regards,
Siddhesh