From 97e02ad23392f929862d6a04643e7f2fd91baebc Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 27 Aug 2017 22:10:17 +0200 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ hurd/Versions | 4 ++++ hurd/stack_chk_fail_local.c | 1 + mach/Machrules | 2 +- mach/Versions | 4 ++++ mach/stack_chk_fail_local.c | 1 + 6 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 hurd/stack_chk_fail_local.c create mode 100644 mach/stack_chk_fail_local.c diff --git a/ChangeLog b/ChangeLog index 1b0f15573a..4d94fee93b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ 2017-08-27 Samuel Thibault * 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 diff --git a/hurd/Versions b/hurd/Versions index 77f5b4271e..011edc7384 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 0000000000..305871fbc0 --- /dev/null +++ b/hurd/stack_chk_fail_local.c @@ -0,0 +1 @@ +#include diff --git a/mach/Machrules b/mach/Machrules index 36adfc7681..29114b1eef 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 0097aad59b..b22fda4cf4 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 0000000000..305871fbc0 --- /dev/null +++ b/mach/stack_chk_fail_local.c @@ -0,0 +1 @@ +#include