S/390: Make IFUNC optimized mem* functions hidden.
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Mon, 3 Sep 2012 12:06:27 +0000 (14:06 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Mon, 3 Sep 2012 12:08:52 +0000 (14:08 +0200)
ChangeLog
sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
sysdeps/s390/s390-64/multiarch/ifunc-resolve.c

index c130d9d..ef7477d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
+       (IFUNC_RESOLVE): Make pointers to the specialized implementations
+       hidden.
+       * sysdeps/s390/s390-64/multiarch/ifunc-resolve.c: Likewise.
+
 2012-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #14538]
index fd6e367..6a86c03 100644 (file)
        ".globl __GI_" #FUNC "\n\t"                                     \
        ".set   __GI_" #FUNC "," #FUNC "\n");                           \
                                                                        \
-  extern void *FUNC##_z10;                                             \
-  extern void *FUNC##_z196;                                            \
-  extern void *FUNC##_g5;                                              \
+  /* 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##_g5;                \
                                                                        \
   void *resolve_##FUNC (unsigned long int dl_hwcap)                    \
   {                                                                    \
index f980bc9..5f56764 100644 (file)
        ".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)                    \
   {                                                                    \