diff mbox

x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]

Message ID CAMe9rOo+Pm0GOh3ouzaaai1KiXvkyfWL8xPo5A8BXQCEKz3zug@mail.gmail.com
State New, archived
Headers show

Commit Message

H.J. Lu July 19, 2017, 3:40 p.m. UTC
On Mon, Jul 10, 2017 at 12:28 AM, Andreas Schwab <schwab@suse.de> wrote:
> On Jul 09 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>
>>       [BZ #21741]
>>       * sysdeps/x86_64/multiarch/ifunc-impl-list.c
>>       (__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
>>       in libc.so.
>
> Ok.
>
> Andreas.
>

i386 has the same issue.  I am checking in this.
diff mbox

Patch

From 47f27396591fdc4875ecc1663f6d4315edacb5a1 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 19 Jul 2017 08:39:18 -0700
Subject: [PATCH] i386: Test memmove_chk and memset_chk only in libc.so [BZ
 #21741]

Since there are no multiarch versions of memmove_chk and memset_chk,
test multiarch versions of memmove_chk and memset_chk only in libc.so.

	[BZ #21741]
	* sysdeps/i386/i686/multiarch/ifunc-impl-list.c
	(__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
	in libc.so.
---
 ChangeLog                                     | 7 +++++++
 sysdeps/i386/i686/multiarch/ifunc-impl-list.c | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index b9dc70573b..d514f08b53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@ 
 2017-07-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+	[BZ #21741]
+	* sysdeps/i386/i686/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Test memmove_chk and memset_chk only
+	in libc.so.
+
+2017-07-19  H.J. Lu  <hongjiu.lu@intel.com>
+
 	[BZ #21740]
 	* debug/Makefile (elide-routines.o): New.
 
diff --git a/sysdeps/i386/i686/multiarch/ifunc-impl-list.c b/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
index e8026a2a78..6e20cffb04 100644
--- a/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
+++ b/sysdeps/i386/i686/multiarch/ifunc-impl-list.c
@@ -70,6 +70,7 @@  __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __memcmp_ssse3)
 	      IFUNC_IMPL_ADD (array, i, memcmp, 1, __memcmp_ia32))
 
+#ifdef SHARED
   /* Support sysdeps/i386/i686/multiarch/memmove_chk.S.  */
   IFUNC_IMPL (i, name, __memmove_chk,
 	      IFUNC_IMPL_ADD (array, i, __memmove_chk,
@@ -83,6 +84,7 @@  __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __memmove_chk_sse2_unaligned)
 	      IFUNC_IMPL_ADD (array, i, __memmove_chk, 1,
 			      __memmove_chk_ia32))
+#endif
 
   /* Support sysdeps/i386/i686/multiarch/memmove.S.  */
   IFUNC_IMPL (i, name, memmove,
@@ -102,6 +104,7 @@  __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __memrchr_sse2)
 	      IFUNC_IMPL_ADD (array, i, memrchr, 1, __memrchr_ia32))
 
+#ifdef SHARED
   /* Support sysdeps/i386/i686/multiarch/memset_chk.S.  */
   IFUNC_IMPL (i, name, __memset_chk,
 	      IFUNC_IMPL_ADD (array, i, __memset_chk,
@@ -112,6 +115,7 @@  __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __memset_chk_sse2)
 	      IFUNC_IMPL_ADD (array, i, __memset_chk, 1,
 			      __memset_chk_ia32))
+#endif
 
   /* Support sysdeps/i386/i686/multiarch/memset.S.  */
   IFUNC_IMPL (i, name, memset,
-- 
2.13.3