about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2017-03-12 15:12:21 -0700
committerMike Frysinger <vapier@gentoo.org>2017-03-15 16:12:22 -0700
commit0889003c67f9c2f520a37281c4b5c3b8a9861f46 (patch)
treeacd40fd5405b180e289ede1804557ba0ba58515b
parent8b3caa41b9cb82651e72a0c87aa56719c134000e (diff)
downloadglibc-0889003c67f9c2f520a37281c4b5c3b8a9861f46.tar.gz
glibc-0889003c67f9c2f520a37281c4b5c3b8a9861f46.tar.xz
glibc-0889003c67f9c2f520a37281c4b5c3b8a9861f46.zip
x86_64: fix static build of __mempcpy_chk for compilers defaulting to PIC/PIE
When glibc is compiled with gcc 6.2 that has been configured with
to default to PIC/PIE, the static version of __mempcpy_chk is not built,
as the test is done on PIC instead of SHARED.  Fix the test to check for
SHARED, like it is done for similar functions like __memcpy_chk.

2017-03-12  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/x86_64/mempcpy_chk.S (__mempcpy_chk): Check for SHARED
	instead of PIC.

(cherry picked from commit fbe355fbd1973d6e29561084b3eaeb4bfe9d515a)
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86_64/mempcpy_chk.S2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d8ed2e4d90..c29a70aa72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* sysdeps/x86_64/mempcpy_chk.S (__mempcpy_chk): Check for SHARED
+	instead of PIC.
+
 2017-03-15  John David Anglin  <danglin@gcc.gnu.org>
 
 	* sysdeps/hppa/dl-machine.h (DL_STACK_END): Define.
diff --git a/sysdeps/x86_64/mempcpy_chk.S b/sysdeps/x86_64/mempcpy_chk.S
index f8a9260e6e..f912291576 100644
--- a/sysdeps/x86_64/mempcpy_chk.S
+++ b/sysdeps/x86_64/mempcpy_chk.S
@@ -19,7 +19,7 @@
 #include <sysdep.h>
 #include "asm-syntax.h"
 
-#ifndef PIC
+#ifndef SHARED
 	/* For libc.so this is defined in memcpy.S.
 	   For libc.a, this is a separate source to avoid
 	   mempcpy bringing in __chk_fail and all routines