This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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:
>> https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01481.html
>>
>>
>> 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:

setjmp
_setjmp
sigsetjmp
__sigsetjmp

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.


Thanks
Bernd.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]