From: H.J. Lu Date: Sun, 1 Oct 2017 21:33:26 +0000 (-0700) Subject: Mark 3 *_internal functions with attribute_hidden [BZ #18822] X-Git-Tag: glibc-2.27~828 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef9b6f73f45a46d079018f63e2d9184eaa0db1d5;p=thirdparty%2Fglibc.git Mark 3 *_internal functions with attribute_hidden [BZ #18822] Mark __ptsname_internal, __mktime_internal and __fopen_internal with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/stdlib.h (__ptsname_internal): Add attribute_hidden. * include/time.h (__mktime_internal): Likewise. * libio/iolibio.h (__fopen_internal): Likewise. --- diff --git a/ChangeLog b/ChangeLog index 593ac8395a8..b011e83b93a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-10-01 H.J. Lu + + [BZ #18822] + * include/stdlib.h (__ptsname_internal): Add attribute_hidden. + * include/time.h (__mktime_internal): Likewise. + * libio/iolibio.h (__fopen_internal): Likewise. + 2017-10-01 John David Anglin * sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return diff --git a/include/stdlib.h b/include/stdlib.h index c4a6e6f737b..2274790a2ef 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -78,7 +78,7 @@ extern char *__realpath (const char *__name, char *__resolved); extern int __ptsname_r (int __fd, char *__buf, size_t __buflen); # ifndef _ISOMAC extern int __ptsname_internal (int fd, char *buf, size_t buflen, - struct stat64 *stp); + struct stat64 *stp) attribute_hidden; # endif extern int __getpt (void); extern int __posix_openpt (int __oflag); diff --git a/include/time.h b/include/time.h index 324913214f1..870b7eb93c9 100644 --- a/include/time.h +++ b/include/time.h @@ -54,7 +54,7 @@ extern void __tz_compute (time_t timer, struct tm *tm, int use_localtime) extern time_t __mktime_internal (struct tm *__tp, struct tm *(*__func) (const time_t *, struct tm *), - time_t *__offset); + time_t *__offset) attribute_hidden; extern struct tm *__localtime_r (const time_t *__timer, struct tm *__tp) attribute_hidden; diff --git a/libio/iolibio.h b/libio/iolibio.h index f215fcef019..754d8b06505 100644 --- a/libio/iolibio.h +++ b/libio/iolibio.h @@ -23,7 +23,8 @@ extern _IO_FILE *_IO_fopen (const char*, const char*); extern _IO_FILE *_IO_old_fopen (const char*, const char*); extern _IO_FILE *_IO_new_fopen (const char*, const char*); extern _IO_FILE *_IO_fopen64 (const char*, const char*); -extern _IO_FILE *__fopen_internal (const char*, const char*, int); +extern _IO_FILE *__fopen_internal (const char*, const char*, int) + attribute_hidden; extern _IO_FILE *__fopen_maybe_mmap (_IO_FILE *) __THROW; extern int _IO_fprintf (_IO_FILE*, const char*, ...); extern int _IO_fputs (const char*, _IO_FILE*);