This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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 6/9] Add __vsyslog_internal, with same flags as __v*printf_internal.


On Tue, Mar 13, 2018 at 8:43 AM, Florian Weimer <fweimer@redhat.com> wrote:
> On 03/13/2018 01:39 PM, Zack Weinberg wrote:
>>
>> On Tue, Mar 13, 2018 at 7:59 AM, Florian Weimer <fweimer@redhat.com>
>> wrote:
>>>
>>> On 03/07/2018 08:32 PM, Zack Weinberg wrote:
>>>
>>>> +/* __vsyslog_internal uses the same mode_flags bits as
>>>> +   __v*printf_internal; see libio/libioP.h.  */
>>>> +extern void __vsyslog_internal (int pri, const char *fmt,
>>>> __gnuc_va_list
>>>> ap,
>>>> +                                unsigned int mode_flags)
>>>> +     __attribute__ ((__format__ (__printf__, 2, 0)));
>>>
>>>
>>>
>>> I'm surprised that this doesn't need attribute_hidden or
>>> libc_hidden_proto
>>> to avoid new PLT calls.
>>
>>
>> That's only needed for functions that will be called _both_ from
>> inside and outside glibc.  This function is only ever called from
>> inside glibc, so it doesn't appear in any Versions files and it's
>> hidden by default.
>
>
> Some architectures will still use indirect calls without attribute_hidden,
> so please add it.  The existing tests do not catch this reliably
> unfortunately.

Can you be more specific?  This will affect all of the other new
__*_internal functions added in this patchset, so I need to know how
to be sure I got it right.  Also, this seems like something we should
find a way to automate if at all possible.

zw


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