about summary refs log tree commit diff
path: root/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/s390-64/multiarch/ifunc-resolve.c')
-rw-r--r--sysdeps/s390/s390-64/multiarch/ifunc-resolve.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c b/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
index f980bc9390..5f56764909 100644
--- a/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
+++ b/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
@@ -32,9 +32,11 @@
        ".globl __GI_" #FUNC "\n\t"					\
        ".set   __GI_" #FUNC "," #FUNC "\n");				\
 									\
-  extern void *FUNC##_z10;						\
-  extern void *FUNC##_z196;						\
-  extern void *FUNC##_z900;						\
+  /* Make the declarations of the optimized functions hidden in order
+     to prevent GOT slots being generated for them. */			\
+  extern __attribute__((visibility("hidden"))) void *FUNC##_z196;	\
+  extern __attribute__((visibility("hidden"))) void *FUNC##_z10;	\
+  extern __attribute__((visibility("hidden"))) void *FUNC##_z900;	\
 									\
   void *resolve_##FUNC (unsigned long int dl_hwcap)			\
   {									\