This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 14/14] sparc: do not stack-protect the sigreturn handler.
- From: Nix <nix at esperi dot org dot uk>
- To: libc-alpha at sourceware dot org
- Cc: carlos at redhat dot com
- Date: Tue, 23 Feb 2016 23:39:37 +0000
- Subject: [PATCH 14/14] sparc: do not stack-protect the sigreturn handler.
- Authentication-results: sourceware.org; auth=none
- References: <1456270777-9083-1-git-send-email-nix at esperi dot org dot uk>
From: Nick Alcock <nick.alcock@oracle.com>
This is called from the kernel and must not have a canary.
v2: New.
---
sysdeps/unix/sysv/linux/sparc/sparc32/Makefile | 7 +++++++
sysdeps/unix/sysv/linux/sparc/sparc64/Makefile | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
index 21c7dc1..60fb6f6 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
@@ -26,3 +26,10 @@ ifeq ($(subdir),math)
# Provide these routines here as well.
libm-routines += multc3 divtc3
endif # math
+
+ifneq (,$(filter signal nptl,$(subdir)))
+ifeq ($(have-ssp),yes)
+# We must not stack-protect the sigreturn handler.
+CFLAGS-sigaction.c += -fno-stack-protector
+endif # have-ssp
+endif # signal
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
index 7ea433f..dada022 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
@@ -12,3 +12,10 @@ ifeq ($(subdir),nptl)
CFLAGS-pause.c += -fexceptions
CFLAGS-sigsuspend.c += -fexceptions
endif
+
+ifneq (,$(filter signal nptl,$(subdir)))
+ifeq ($(have-ssp),yes)
+# We must not stack-protect the sigreturn handler.
+CFLAGS-sigaction.c += -fno-stack-protector
+endif # have-ssp
+endif # signal
--
2.7.0.198.g6dd47b6