aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-12-21 10:24:34 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2020-12-21 10:24:34 +0530
commit6eb7e1da0e805e2893a0b70a5813641529d8c7e2 (patch)
tree3e41bd0527d16d03a0b88c09a7a68afb360bc90c
parent756608dbe89f6a829c8f0d2479e09eb026e48d8b (diff)
downloadglibc-6eb7e1da0e805e2893a0b70a5813641529d8c7e2.tar
glibc-6eb7e1da0e805e2893a0b70a5813641529d8c7e2.tar.gz
glibc-6eb7e1da0e805e2893a0b70a5813641529d8c7e2.tar.bz2
glibc-6eb7e1da0e805e2893a0b70a5813641529d8c7e2.zip
m68k: fix clobbering a5 in setjmp() [BZ #24202]
setjmp() uses C code to store current registers into jmp_buf environment. -fstack-protector-all places canary into setjmp() prologue and clobbers 'a5' before it gets saved. The change inhibits stack canary injection to avoid clobber.
-rw-r--r--sysdeps/m68k/setjmp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/m68k/setjmp.c b/sysdeps/m68k/setjmp.c
index 0b86f2d3ee..d8cc2515d2 100644
--- a/sysdeps/m68k/setjmp.c
+++ b/sysdeps/m68k/setjmp.c
@@ -19,6 +19,7 @@
/* Save the current program position in ENV and return 0. */
int
+inhibit_stack_protector
#if defined BSD_SETJMP
# undef setjmp
# define savemask 1