[PATCH 6/9] Add __vsyslog_internal, with same flags as __v*printf_internal.

Florian Weimer fweimer@redhat.com
Tue Mar 13 12:43:00 GMT 2018


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.

Thanks,
Florian



More information about the Libc-alpha mailing list