This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix unsafe function attributes for special functions (PR 71876)
On 07/29/16 19:28, Jeff Law wrote:
> On 07/26/2016 09:48 AM, Bernd Edlinger wrote:
>> Richard, this was the latest version of the patch:
>> Are you OK with my clean-up of the presumably dead function names,
>> or would you like to keep the quirks in special_function_p for now
>> and just remove ECF_NORETURN and ECF_LEAF?
> The only worry I have left is we're not catching _ prefixed savectx,
> vfork & getcontext (the the latter two being the important ones).
> Various ports still use USER_LABEL_PREFIX, so those symbols might be
> showing up as _vfork & friends.
> That might just be an oversight (using name instead of tname in the
> simplified conditional).
no, that is actually intentional.
If name would contain USER_LABEL_PREFIX then special_function_p would
already have been broken, and that would need to be fixed as well.
We need to handle __sigsetjmp, and that would not work with
one extra underscore.
I try to keep compatible to what is used in the header files of
glibc and newlib.
glibc defines setjmp to _setjmp, and sigsetjmp to __sigsetjmp.
and newlib does not do that.
Thus we actually need to handle these names:
vfork and getcontext are no defines, so I don't see why
we should match more names than absolutely necessary here.
Not too sure about savectx, as solaris is no longer open source.