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.
This commit is contained in:
H.J. Lu 2017-10-01 14:33:26 -07:00
parent 8da92e722c
commit ef9b6f73f4
4 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[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 <danglin@gcc.gnu.org>
* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext): Save return

View File

@ -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);

View File

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

View File

@ -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*);