aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc32/setjmp-common.S
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-11-22 06:36:54 -0600
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-12-05 07:44:07 -0600
commiteb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1 (patch)
treeb82b8fbfb23fb60cc69d4bd06bf8ef13c471c9eb /sysdeps/powerpc/powerpc32/setjmp-common.S
parent76a4a26979e58132d500e700ac1637a09c6d9cef (diff)
downloadglibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.tar
glibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.tar.gz
glibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.tar.bz2
glibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.zip
PowerPC: Add systemtap static probe points in setjmp/longjmp
This patch add static probes for setjmp/longjmp in the way gdb expects,fixing the gdb.base/longjmp.exp gdb testcases. It changes the symbol_name and use macros to to avoid change the probe names and ending up adding more logic on GDB (since with the expected name GDB work seamlessly).
Diffstat (limited to 'sysdeps/powerpc/powerpc32/setjmp-common.S')
-rw-r--r--sysdeps/powerpc/powerpc32/setjmp-common.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S
index 3fb65b5f70..0c77029abe 100644
--- a/sysdeps/powerpc/powerpc32/setjmp-common.S
+++ b/sysdeps/powerpc/powerpc32/setjmp-common.S
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <stap-probe.h>
#define _ASM
#ifdef __NO_VMX__
# include <novmxsetjmp.h>
@@ -30,7 +31,7 @@
# define SAVE_GP(N) stw r##N,((JB_GPRS+(N)-14)*4)(3)
#endif
-ENTRY (__sigsetjmp)
+ENTRY (__sigsetjmp_symbol)
#ifdef PTR_MANGLE
mr r5,r1
@@ -40,6 +41,9 @@ ENTRY (__sigsetjmp)
stw r1,(JB_GPR1*4)(3)
#endif
mflr r0
+ /* setjmp probe expects longjmp first argument (4@3), second argument
+ (-4@4), and target address (4@0), respectively. */
+ LIBC_PROBE (setjmp, 3, 4@3, -4@4, 4@0)
SAVE_GP (14)
#ifdef PTR_MANGLE
PTR_MANGLE2 (r0, r10)
@@ -69,6 +73,6 @@ ENTRY (__sigsetjmp)
li r3,0
blr
#else
- b __sigjmp_save@local
+ b __sigjmp_save_symbol@local
#endif
-END (__sigsetjmp)
+END (__sigsetjmp_symbol)