x86_64: fix static build of __memcpy_chk for compilers defaulting to PIC/PIE
Commit Message
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
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
@@ -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]
@@ -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