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 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


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