about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-08-21 05:58:39 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-08-21 05:58:53 -0700
commit41e673c1e771075f413f8e8ecd9e108f5ae096d9 (patch)
tree4a8c6a08878ca7a0d93ba7af9a6754a59de1b073
parent568ff4296c72534e49c8d9c83c33f3a0069cccc7 (diff)
downloadglibc-41e673c1e771075f413f8e8ecd9e108f5ae096d9.tar.gz
glibc-41e673c1e771075f413f8e8ecd9e108f5ae096d9.tar.xz
glibc-41e673c1e771075f413f8e8ecd9e108f5ae096d9.zip
x86-64: Mark internal symbols with attribute_hidden [BZ #18822]
Since __syscall_clock_gettime and __start_context are internal symbols
for Linux/x86-64, mark them with attribute_hidden.

	[BZ #18822]
	* sysdeps/unix/sysv/linux/x86_64/init-first.c
	(__syscall_clock_gettime): Add attribute_hidden.
	* sysdeps/unix/sysv/linux/x86_64/makecontext.c
	(__start_context): Likewise.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/init-first.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/makecontext.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ff2d90bae..620bf81f83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-08-21  H.J. Lu  <hongjiu.lu@intel.com>
 
+	[BZ #18822]
+	* sysdeps/unix/sysv/linux/x86_64/init-first.c
+	(__syscall_clock_gettime): Add attribute_hidden.
+	* sysdeps/unix/sysv/linux/x86_64/makecontext.c
+	(__start_context): Likewise.
+
+2017-08-21  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
 	building libc.a.
 	(hidden_proto): Likewise.
diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c
index f1c46cb5bc..b187239ba0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/init-first.c
+++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c
@@ -27,7 +27,7 @@ long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
 long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
   attribute_hidden;
 
-extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
+extern __typeof (clock_gettime) __syscall_clock_gettime attribute_hidden;
 
 
 static inline void
diff --git a/sysdeps/unix/sysv/linux/x86_64/makecontext.c b/sysdeps/unix/sysv/linux/x86_64/makecontext.c
index 59fb77a8c1..e198a2215a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/makecontext.c
+++ b/sysdeps/unix/sysv/linux/x86_64/makecontext.c
@@ -51,7 +51,7 @@
 void
 __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
 {
-  extern void __start_context (void);
+  extern void __start_context (void) attribute_hidden;
   greg_t *sp;
   unsigned int idx_uc_link;
   va_list ap;