[committed, PATCH] x86: Add POINTER_LOCAL_IFUNC_P/PLT_LOCAL_IFUNC_P

Pedro Alves palves@redhat.com
Fri Oct 6 12:25:00 GMT 2017


On 10/06/2017 01:15 PM, H.J. Lu wrote:
> On 10/6/17, Pedro Alves <palves@redhat.com> wrote:
>> On 10/06/2017 08:38 AM, H.J. Lu wrote:
>>> +/* TRUE if this is a PLT reference to a local IFUNC.  */
>>> +#define PLT_LOCAL_IFUNC_P(INFO, H) \
>>> +  ((H)->dynindx == -1 \
>>> +   || ((bfd_link_executable (INFO) \
>>> +	|| ELF_ST_VISIBILITY ((H)->other) != STV_DEFAULT) \
>>> +	&& (H)->def_regular \
>>> +	&& (H)->type == STT_GNU_IFUNC))
>>> +
>>
>> OOC, is there a good reason these things are macros
>> instead of (static inline) functions?
>>
>>
> 
> Just a habit.   

OK.  Unless there's a good reason for macros,
IMO functions are usually superior because of better type
safety, safe against multiple argument reevaluation,
and offer much better debugability (you can actually step
through them).  But I'm sure this is not news.

> Care to submit a patch?

Nope.  Your choice really.

Thanks,
Pedro Alves



More information about the Binutils mailing list