diff mbox

x86_64: fix static build of __memcpy_chk for compilers defaulting to PIC/PIE

Message ID 20161124112421.4430-1-aurelien@aurel32.net
State New
Headers show

Commit Message

Aurelien Jarno Nov. 24, 2016, 11:24 a.m. UTC
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 SHARED
	instead of PIC.
---
 ChangeLog                   | 5 +++++
 sysdeps/x86_64/memcpy_chk.S | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

Comments

Florian Weimer Nov. 24, 2016, 11:37 a.m. UTC | #1
On 11/24/2016 12:24 PM, Aurelien Jarno wrote:
> 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 SHARED
> 	instead of PIC.

Okay.

Thanks,
Florian
diff mbox

Patch

diff --git a/ChangeLog b/ChangeLog
index b6fc831..db1fb2a 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 SHARED
+	instead of PIC.
+
 2016-11-23  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #20859]
diff --git a/sysdeps/x86_64/memcpy_chk.S b/sysdeps/x86_64/memcpy_chk.S
index 2296b55..a95b3ad 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