about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2016-11-24 12:10:13 +0100
committerAurelien Jarno <aurelien@aurel32.net>2016-11-24 16:57:23 +0100
commit2d16e81babd1d7b66d10cec0bc6d6d86a7e0c95e (patch)
tree0a7573446cbc81c61703916e9f40fa36eb48f11d
parent65a2b63756a4d622b938910d582d8b807c471c9a (diff)
downloadglibc-2d16e81babd1d7b66d10cec0bc6d6d86a7e0c95e.tar.gz
glibc-2d16e81babd1d7b66d10cec0bc6d6d86a7e0c95e.tar.xz
glibc-2d16e81babd1d7b66d10cec0bc6d6d86a7e0c95e.zip
x86_64: fix static build of __memcpy_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 __memcpy_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 memmove_chk.

Changelog:
	* sysdeps/x86_64/memcpy_chk.S (__memcpy_chk): Check for SHARED
	instead of PIC.

(cherry picked from commit 380ec16d62f459d5a28cfc25b7b20990c45e1cc9)
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86_64/memcpy_chk.S2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 701c687e03..e6ea2dfe46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-24  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* sysdeps/x86_64/memcpy_chk.S (__memcpy_chk): Check for SHARED
+	instead of PIC.
+
 2016-11-23  Matthew Fortune  <Matthew.Fortune@imgtec.com>
 	    Maciej W. Rozycki  <macro@imgtec.com>
 
diff --git a/sysdeps/x86_64/memcpy_chk.S b/sysdeps/x86_64/memcpy_chk.S
index 2296b55119..a95b3ad3cf 100644
--- a/sysdeps/x86_64/memcpy_chk.S
+++ b/sysdeps/x86_64/memcpy_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
 	   memcpy bringing in __chk_fail and all routines