summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-09-02 19:43:04 -0700
committerUlrich Drepper <drepper@redhat.com>2009-09-02 19:43:04 -0700
commit22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9 (patch)
tree20b218c6dd450cf694f46e37cbbf4f5d6b4dc00a
parentd840539e1271020600edba752e6ee908c00f66eb (diff)
downloadglibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.tar.gz
glibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.tar.xz
glibc-22bb992d51903bc8cd5f67a207d00e3a6aa8e1a9.zip
Fix strstr/strcasestr/fma/fmaf on x86_64.
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/x86_64/multiarch/s_fma.c4
-rw-r--r--sysdeps/x86_64/multiarch/s_fmaf.c4
-rw-r--r--sysdeps/x86_64/multiarch/strcasestr-c.c3
-rw-r--r--sysdeps/x86_64/multiarch/strstr-c.c3
5 files changed, 19 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 0812312f3f..ef087c7944 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2009-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/x86_64/multiarch/strstr-c.c (__strstr_sse42, __strstr_sse2):
+	Add attribute_hidden.
+	* sysdeps/x86_64/multiarch/strcasestr-c.c (__strcasestr_sse42,
+	__strcasestr_sse2): Likewise.
+	* sysdeps/x86_64/multiarch/s_fma.c (__fma_sse2): Add attribute_hidden.
+	(__fma_fma): Make static.
+	* sysdeps/x86_64/multiarch/s_fmaf.c (__fmaf_sse2): Add attribute_hidden.
+	(__fmaf_fma): Make static.
+
 2009-08-31  Andreas Schwab  <schwab@redhat.com>
 
 	* libio/wfileops.c (_IO_wfile_seekoff): Remove dead code and
diff --git a/sysdeps/x86_64/multiarch/s_fma.c b/sysdeps/x86_64/multiarch/s_fma.c
index 40601e9a68..cfecf9b41d 100644
--- a/sysdeps/x86_64/multiarch/s_fma.c
+++ b/sysdeps/x86_64/multiarch/s_fma.c
@@ -24,10 +24,10 @@
 
 #ifdef HAVE_AVX_SUPPORT
 
-extern double __fma_sse2 (double x, double y, double z);
+extern double __fma_sse2 (double x, double y, double z) attribute_hidden;
 
 
-double
+static double
 __fma_fma (double x, double y, double z)
 {
   asm ("vfmadd213sd %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z));
diff --git a/sysdeps/x86_64/multiarch/s_fmaf.c b/sysdeps/x86_64/multiarch/s_fmaf.c
index f3d37f8f4a..de1c4b6f41 100644
--- a/sysdeps/x86_64/multiarch/s_fmaf.c
+++ b/sysdeps/x86_64/multiarch/s_fmaf.c
@@ -23,10 +23,10 @@
 
 #ifdef HAVE_AVX_SUPPORT
 
-extern float __fmaf_sse2 (float x, float y, float z);
+extern float __fmaf_sse2 (float x, float y, float z) attribute_hidden;
 
 
-float
+static float
 __fmaf_fma (float x, float y, float z)
 {
   asm ("vfmadd213ss %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z));
diff --git a/sysdeps/x86_64/multiarch/strcasestr-c.c b/sysdeps/x86_64/multiarch/strcasestr-c.c
index e6879531bc..3cb5557b67 100644
--- a/sysdeps/x86_64/multiarch/strcasestr-c.c
+++ b/sysdeps/x86_64/multiarch/strcasestr-c.c
@@ -7,7 +7,8 @@
 
 #include "string/strcasestr.c"
 
-extern char *__strcasestr_sse42 (const char *, const char *);
+extern char *__strcasestr_sse42 (const char *, const char *) attribute_hidden;
+extern __typeof (__strcasestr_sse2) __strcasestr_sse2 attribute_hidden;
 
 #if 1
 libc_ifunc (__strcasestr,
diff --git a/sysdeps/x86_64/multiarch/strstr-c.c b/sysdeps/x86_64/multiarch/strstr-c.c
index cff99b71ef..d593089a87 100644
--- a/sysdeps/x86_64/multiarch/strstr-c.c
+++ b/sysdeps/x86_64/multiarch/strstr-c.c
@@ -7,6 +7,7 @@
 
 #include "string/strstr.c"
 
-extern char *__strstr_sse42 (const char *, const char *);
+extern char *__strstr_sse42 (const char *, const char *) attribute_hidden;
+extern __typeof (__strstr_sse2) __strstr_sse2 attribute_hidden;
 
 libc_ifunc (strstr, HAS_SSE4_2 ? __strstr_sse42 : __strstr_sse2);