aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S5
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f985f1..8c4a578 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-08-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ [BZ #18635]
+ * sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S: Add nop
+ before return label.
+
2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18661]
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S b/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
index f6ee50d..5e717ab 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
@@ -74,8 +74,11 @@ ENTRY(__makecontext)
have to install the context listed in the uc_link element of
the context 'makecontext' manipulated at the time of the
'makecontext' call. If the pointer is NULL the process must
- terminate. */
+ terminate.
+ Make sure to separate the return label from the previous unwind
+ region, because the unwinder uses ra-1 to find the FDE. */
cfi_endproc
+ nop
1:
/* This removes the parameters passed to the function given to
'makecontext' from the stack. D7 contains the number of