diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-11-29 10:16:35 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-11-29 10:16:35 +0100 |
commit | b36528936449d2e800db8833869d108a20653c96 (patch) | |
tree | bf72453076bccca5b03f3197e1203788b3b74a80 /sysdeps/powerpc/powerpc64/setjmp-common.S | |
parent | 76388b236a7089f6ee5dc0a566caa518132f16bd (diff) | |
download | glibc-b36528936449d2e800db8833869d108a20653c96.tar.gz glibc-b36528936449d2e800db8833869d108a20653c96.tar.xz glibc-b36528936449d2e800db8833869d108a20653c96.zip |
powerpc: Add hidden definition for __sigsetjmp
There already is a hidden prototype for __sigsetjmp, but the architecture-specific definition was missing.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/setjmp-common.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/setjmp-common.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S index 83361f537c..b5de49ebaf 100644 --- a/sysdeps/powerpc/powerpc64/setjmp-common.S +++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -232,3 +232,14 @@ L(no_vmx): blr #endif END (__sigsetjmp_symbol) + +#if defined SHARED && !IS_IN (rtld) && !defined __NO_VMX__ +/* When called from within libc we need a special version of __sigsetjmp + that saves r2 since the call won't go via a plt call stub. See + bugz #269. */ +ENTRY (__GI___sigsetjmp) + std r2,FRAME_TOC_SAVE(r1) /* Save the callers TOC in the save area. */ + CALL_MCOUNT 1 + b JUMPTARGET (GLUE(__sigsetjmp_symbol,_ent)) +END (__GI___sigsetjmp) +#endif |