about summary refs log tree commit diff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2015-08-05 23:20:49 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2015-08-05 23:35:28 +0200
commitbb1d31d06e400a42da4435e8649bb7a1451ef682 (patch)
treee174c355a15aefb1adbf9eb0d7200d7f4a54e602 /sysdeps/unix/sysv
parent72354ab5e1d61dec7606a8851f0eb1bb016f7af7 (diff)
downloadglibc-bb1d31d06e400a42da4435e8649bb7a1451ef682.tar.gz
glibc-bb1d31d06e400a42da4435e8649bb7a1451ef682.tar.xz
glibc-bb1d31d06e400a42da4435e8649bb7a1451ef682.zip
Properly terminate FDE in makecontext for m68k (bug 18635)
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S b/sysdeps/unix/sysv/linux/m68k/m680x0/makecontext.S
index f6ee50d2c7..5e717ab147 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