diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-08-27 22:10:17 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2017-08-27 22:10:17 +0200 |
commit | 97e02ad23392f929862d6a04643e7f2fd91baebc (patch) | |
tree | e751c7bcccbfdc40839a54ff97b405f01d070674 | |
parent | 2ef8d46913b10cb1cf8adddfe80ce8d1b57d4f46 (diff) | |
download | glibc-97e02ad23392f929862d6a04643e7f2fd91baebc.zip glibc-97e02ad23392f929862d6a04643e7f2fd91baebc.tar.gz glibc-97e02ad23392f929862d6a04643e7f2fd91baebc.tar.bz2 |
hurd: fix build with -fstack-protector-strong
libmachuser and libhurduser also need stack_chk_fail_local and they do not
link against libc_nonshared.
* mach/stack_chk_fail_local.c: New file.
* hurd/stack_chk_fail_local.c: New file.
* mach/Machrules ($(interface-library)-routines): Add
stack_chk_fail_local.
* mach/Versions (GLIBC_2.4): Add __stack_chk_fail.
* hurd/Versions (GLIBC_2.4): Add __stack_chk_fail.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | hurd/Versions | 4 | ||||
-rw-r--r-- | hurd/stack_chk_fail_local.c | 1 | ||||
-rw-r--r-- | mach/Machrules | 2 | ||||
-rw-r--r-- | mach/Versions | 4 | ||||
-rw-r--r-- | mach/stack_chk_fail_local.c | 1 |
6 files changed, 17 insertions, 1 deletions
@@ -1,6 +1,12 @@ 2017-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org> * sysdeps/mach/hurd/bits/sysmacros.h: New file. + * mach/stack_chk_fail_local.c: New file. + * hurd/stack_chk_fail_local.c: New file. + * mach/Machrules ($(interface-library)-routines): Add + stack_chk_fail_local. + * mach/Versions (GLIBC_2.4): Add __stack_chk_fail. + * hurd/Versions (GLIBC_2.4): Add __stack_chk_fail. 2017-08-25 H.J. Lu <hongjiu.lu@intel.com> diff --git a/hurd/Versions b/hurd/Versions index 77f5b42..011edc7 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -129,6 +129,10 @@ libc { # functions used in macros & inline functions __errno_location; } + GLIBC_2.4 { + # functions used by RPC stubs + __stack_chk_fail + } HURD_CTHREADS_0.3 { # weak refs to libthreads functions that libc calls iff libthreads in use diff --git a/hurd/stack_chk_fail_local.c b/hurd/stack_chk_fail_local.c new file mode 100644 index 0000000..305871f --- /dev/null +++ b/hurd/stack_chk_fail_local.c @@ -0,0 +1 @@ +#include <debug/stack_chk_fail_local.c> diff --git a/mach/Machrules b/mach/Machrules index 36adfc7..29114b1 100644 --- a/mach/Machrules +++ b/mach/Machrules @@ -221,7 +221,7 @@ endif ifdef interface-library -$(interface-library)-routines = $(interface-routines) +$(interface-library)-routines = $(interface-routines) stack_chk_fail_local extra-libs += $(interface-library) extra-libs-others += $(interface-library) diff --git a/mach/Versions b/mach/Versions index 0097aad..b22fda4 100644 --- a/mach/Versions +++ b/mach/Versions @@ -54,6 +54,10 @@ libc { # This was always there, but not exported as it should have been. mig_strncpy; } + GLIBC_2.4 { + # functions used by RPC stubs + __stack_chk_fail + } GLIBC_2.23 { __mach_host_self_; } diff --git a/mach/stack_chk_fail_local.c b/mach/stack_chk_fail_local.c new file mode 100644 index 0000000..305871f --- /dev/null +++ b/mach/stack_chk_fail_local.c @@ -0,0 +1 @@ +#include <debug/stack_chk_fail_local.c> |