[1/4] Mark 3 *_internal functions with attribute_hidden [BZ #18822]

Message ID 20170817205529.GA7700@gmail.com
State New, archived
Headers

Commit Message

Lu, Hongjiu Aug. 17, 2017, 8:55 p.m. UTC
  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.

Tested on i686 and x86-64.  OK for master?


H.J.
---
	[BZ #18822]
	* include/stdlib.h (__ptsname_internal): Add attribute_hidden.
	* include/time.h (__mktime_internal): Likewise.
	* libio/iolibio.h (__fopen_internal): Likewise.
---
 include/stdlib.h | 2 +-
 include/time.h   | 2 +-
 libio/iolibio.h  | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)
  

Patch

diff --git a/include/stdlib.h b/include/stdlib.h
index c4a6e6f737..2274790a2e 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 958cb8600d..0fc429a85e 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 f215fcef01..754d8b0650 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*);