x86_64: fix static build of __mempcpy_chk for compilers defaulting to PIC/PIE
authorMike Frysinger <vapier@gentoo.org>
Sun, 12 Mar 2017 22:12:21 +0000 (15:12 -0700)
committerMike Frysinger <vapier@gentoo.org>
Wed, 15 Mar 2017 23:10:05 +0000 (16:10 -0700)
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.

ChangeLog
sysdeps/x86_64/mempcpy_chk.S

index f1f9ceb..d930009 100644 (file)
--- 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]
index f8a9260..f912291 100644 (file)
@@ -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