aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2015-08-20 15:25:18 +0200
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2015-09-04 16:03:00 -0300
commitb4b522f6108e2116fb806e4f29b25542062dd84b (patch)
tree09c66efad88aae0257dabf90233548e3d27cd044
parent41a4f0d493e98199d147be93431e74a932fd2b69 (diff)
downloadglibc-b4b522f6108e2116fb806e4f29b25542062dd84b.tar
glibc-b4b522f6108e2116fb806e4f29b25542062dd84b.tar.gz
glibc-b4b522f6108e2116fb806e4f29b25542062dd84b.tar.bz2
glibc-b4b522f6108e2116fb806e4f29b25542062dd84b.zip
Terminate FDE before return trampoline in makecontext for powerpc (bug 18635)
This fixes tst-makecontext for PowerPC. [BZ #18635] * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S (__makecontext): Terminate FDE before return label. (__novec_makecontext): Likewise.
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S6
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 09ff85f016..76bbb73cac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-09-04 Andreas Schwab <schwab@suse.de>
+
+ [BZ #18635]
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
+ (__makecontext): Terminate FDE before return label.
+ (__novec_makecontext): Likewise.
+
2015-09-04 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
* sysdeps/unix/sysv/linux/socketpair.c: Use the address of the
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
index 1d6915b5ec..472f5a5b8f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
@@ -94,6 +94,8 @@ ENTRY(__makecontext)
blr
+ cfi_endproc
+ nop
/*
* If the function returns, it comes here. We put ucp->uc_link in
* r31, which is a callee-saved register. We have to continue with
@@ -106,6 +108,7 @@ L(exitcode):
4: bl HIDDEN_JUMPTARGET(exit)
b 4b
+ cfi_startproc
END(__makecontext)
versioned_symbol (libc, __makecontext, makecontext, GLIBC_2_3_4)
@@ -185,6 +188,8 @@ ENTRY(__novec_makecontext)
blr
+ cfi_endproc
+ nop
/*
* If the function returns, it comes here. We put ucp->uc_link in
* r31, which is a callee-saved register. We have to continue with
@@ -197,6 +202,7 @@ L(novec_exitcode):
4: bl HIDDEN_JUMPTARGET(exit)
b 4b
+ cfi_startproc
END(__novec_makecontext)
.previous