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.
This commit is contained in:
Samuel Thibault 2017-08-27 22:10:17 +02:00
parent 2ef8d46913
commit 97e02ad233
6 changed files with 17 additions and 1 deletions

View File

@ -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>

View File

@ -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

View File

@ -0,0 +1 @@
#include <debug/stack_chk_fail_local.c>

View File

@ -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)

View File

@ -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_;
}

View File

@ -0,0 +1 @@
#include <debug/stack_chk_fail_local.c>