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

--- Comment #11 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #10)
> BTW: probably related to this PR, I have seen following kludge in
> i386/darwin.h:
> 
> #define STACK_BOUNDARY \
>   ((profile_flag || TARGET_64BIT_MS_ABI) ? 128 : BITS_PER_WORD)
> 
> It looks that profile_flag is there due to "call mcount" insn. However,
> crtl->profile is set in this case, and the vaule of the flag could be
> checked in the same place to eventually increase function alignment.
> Removing profile_flag would make Darwin's STACK_BOUNDARY definition the same
> as the default one, and could be removed.

I think you're correct - this was a case where a non-leaf use (the profile
case) caused the dynamic loader to abort exes - and this hack is a work-around.
 I will experiment with removing it when the proper check is in place.

Reply via email to