This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 19 Jul 2017 08:40:43 -0700
- Subject: Re: [PATCH] x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]
- Authentication-results: sourceware.org; auth=none
- References: <20170709212717.GA10107@gmail.com> <mvm4lukeoo6.fsf@suse.de>
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.
--
H.J.
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