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:10:05 -0700
commitfbe355fbd1973d6e29561084b3eaeb4bfe9d515a (patch)
treebedc3f2ad285a0a04d9966f4859d9e516f4f9fee
parente4e52ff059f46472145433d2bd003d5383f89e82 (diff)
downloadglibc-fbe355fbd1973d6e29561084b3eaeb4bfe9d515a.tar.gz
glibc-fbe355fbd1973d6e29561084b3eaeb4bfe9d515a.tar.xz
glibc-fbe355fbd1973d6e29561084b3eaeb4bfe9d515a.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.
-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 f1f9ceb7ec..d930009d44 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  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #21094]
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