This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 10/20] libcpu-rt-c: Don't use IFUNC memcmp in init_cpu_features
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 12 Jun 2018 15:19:29 -0700
- Subject: [PATCH 10/20] libcpu-rt-c: Don't use IFUNC memcmp in init_cpu_features
- References: <20180612221939.19545-1-hjl.tools@gmail.com>
Don't use IFUNC memcmp in init_cpu_features libcpu-rt-c since IFUNC must
be set up by init_cpu_features.
* sysdeps/x86/cpu-tunables.c (DEFAULT_MEMCMP): Don't use IFUNC
memcmp in libcpu-rt-c.
---
sysdeps/x86/cpu-tunables.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c
index 3d1c26577f..901a5d3934 100644
--- a/sysdeps/x86/cpu-tunables.c
+++ b/sysdeps/x86/cpu-tunables.c
@@ -32,13 +32,17 @@
/* We can't use IFUNC memcmp nor strlen in init_cpu_features from libc.a
since IFUNC must be set up by init_cpu_features. */
-# if defined USE_MULTIARCH && !defined SHARED
+# if defined USE_MULTIARCH && (!defined SHARED || IS_IN (libcpu_rt_c))
# ifdef __x86_64__
# define DEFAULT_MEMCMP __memcmp_sse2
# else
# define DEFAULT_MEMCMP __memcmp_ia32
# endif
-extern __typeof (memcmp) DEFAULT_MEMCMP;
+extern __typeof (memcmp) DEFAULT_MEMCMP
+# if IS_IN (libcpu_rt_c)
+ __attribute__ ((visibility ("hidden")));
+# endif
+;
# else
# define DEFAULT_MEMCMP memcmp
# endif
--
2.17.1