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> 2017-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/mach/hurd/bits/sysmacros.h: New file. * 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> 2017-08-25 H.J. Lu <hongjiu.lu@intel.com>

View File

@ -129,6 +129,10 @@ libc {
# functions used in macros & inline functions # functions used in macros & inline functions
__errno_location; __errno_location;
} }
GLIBC_2.4 {
# functions used by RPC stubs
__stack_chk_fail
}
HURD_CTHREADS_0.3 { HURD_CTHREADS_0.3 {
# weak refs to libthreads functions that libc calls iff libthreads in use # 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 ifdef interface-library
$(interface-library)-routines = $(interface-routines) $(interface-library)-routines = $(interface-routines) stack_chk_fail_local
extra-libs += $(interface-library) extra-libs += $(interface-library)
extra-libs-others += $(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. # This was always there, but not exported as it should have been.
mig_strncpy; mig_strncpy;
} }
GLIBC_2.4 {
# functions used by RPC stubs
__stack_chk_fail
}
GLIBC_2.23 { GLIBC_2.23 {
__mach_host_self_; __mach_host_self_;
} }

View File

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