From b4b522f6108e2116fb806e4f29b25542062dd84b Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 20 Aug 2015 15:25:18 +0200 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 09ff85f..76bbb73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-09-04 Andreas Schwab + + [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 * 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 1d6915b..472f5a5 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 -- 2.7.4