[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