diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | signal/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c | 4 |
4 files changed, 20 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 99749a5b75..edf85237ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,15 @@ 2016-12-26 Nick Alcock <nick.alcock@oracle.com> [BZ #7065] + * signal/Makefile (CFLAGS-sigreturn.c): Use $(no-stack-protector). + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: + (__rt_sigreturn_stub): Use inhibit_stack_protector. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c + (__rt_sigreturn_stub, __sigreturn_stub): Likewise. + +2016-12-26 Nick Alcock <nick.alcock@oracle.com> + + [BZ #7065] * login/Makefile (pt_chown-cflags): Remove. * nscd/Makefile (CFLAGS-nscd): Likewise. * resolv/Makefile (CFLAGS-libresolv): Likewise. diff --git a/signal/Makefile b/signal/Makefile index 9d29ff49f3..ccd6f51619 100644 --- a/signal/Makefile +++ b/signal/Makefile @@ -48,3 +48,5 @@ CFLAGS-sigsuspend.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-sigtimedwait.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-sigwait.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-sigwaitinfo.c = -fexceptions -fasynchronous-unwind-tables + +CFLAGS-sigreturn.c = $(no-stack-protector) diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c index 5aa3c3516e..b75142fc6b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c @@ -65,7 +65,9 @@ libc_hidden_def (__libc_sigaction) #include <nptl/sigaction.c> -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" @@ -74,7 +76,9 @@ __rt_sigreturn_stub (void) : "i" (__NR_rt_sigreturn)); } -static void +static +inhibit_stack_protector +void __sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c index 50c444c72d..058c011449 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c @@ -66,7 +66,9 @@ libc_hidden_def (__libc_sigaction) #include <nptl/sigaction.c> -static void +static +inhibit_stack_protector +void __rt_sigreturn_stub (void) { __asm__ ("mov %0, %%g1\n\t" |