diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2013-11-22 06:36:54 -0600 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2013-12-05 07:44:07 -0600 |
commit | eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1 (patch) | |
tree | b82b8fbfb23fb60cc69d4bd06bf8ef13c471c9eb /sysdeps/powerpc/powerpc64/setjmp.S | |
parent | 76a4a26979e58132d500e700ac1637a09c6d9cef (diff) | |
download | glibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.tar.gz glibc-eb5ad6b9bcf579f1cb5c67ca4650ee4a0cf1b4b1.tar.xz 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/powerpc64/setjmp.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/setjmp.S | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/sysdeps/powerpc/powerpc64/setjmp.S b/sysdeps/powerpc/powerpc64/setjmp.S index 0a3b2fc022..5c6baf52df 100644 --- a/sysdeps/powerpc/powerpc64/setjmp.S +++ b/sysdeps/powerpc/powerpc64/setjmp.S @@ -22,6 +22,10 @@ #if defined NOT_IN_libc /* Build a non-versioned object for rtld-*. */ +# define setjmp_symbol setjmp +# define _setjmp_symbol _setjmp +# define __sigsetjmp_symbol __sigsetjmp +# define __sigjmp_save_symbol __sigjmp_save # include "setjmp-common.S" #else /* !NOT_IN_libc */ @@ -29,28 +33,28 @@ versioned_symbol (libc, __vmxsetjmp, setjmp, GLIBC_2_3_4) versioned_symbol (libc, __vmx_setjmp, _setjmp, GLIBC_2_3_4) versioned_symbol (libc, __vmx__sigsetjmp, __sigsetjmp, GLIBC_2_3_4) -# define setjmp __vmxsetjmp -# define _setjmp __vmx_setjmp -# define __sigsetjmp __vmx__sigsetjmp -# define __sigjmp_save __vmx__sigjmp_save +# define setjmp_symbol __vmxsetjmp +# define _setjmp_symbol __vmx_setjmp +# define __sigsetjmp_symbol __vmx__sigsetjmp +# define __sigjmp_save_symbol __vmx__sigjmp_save # include "setjmp-common.S" strong_alias (__vmxsetjmp, __vmx__setjmp) strong_alias (__vmx__sigsetjmp, __setjmp) # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4) -# undef setjmp -# undef _setjmp -# undef __sigsetjmp -# undef __sigjmp_save +# undef setjmp_symbol +# undef _setjmp_symbol +# undef __sigsetjmp_symbol +# undef __sigjmp_save_symbol # undef JB_SIZE # define __NO_VMX__ compat_symbol (libc, __novmxsetjmp, setjmp, GLIBC_2_3) compat_symbol (libc, __novmx_setjmp,_setjmp, GLIBC_2_3); compat_symbol (libc, __novmx__sigsetjmp,__sigsetjmp, GLIBC_2_3) -# define setjmp __novmxsetjmp -# define _setjmp __novmx_setjmp -# define __sigsetjmp __novmx__sigsetjmp -# define __sigjmp_save __novmx__sigjmp_save +# define setjmp_symbol __novmxsetjmp +# define _setjmp_symbol __novmx_setjmp +# define __sigsetjmp_symbol __novmx__sigsetjmp +# define __sigjmp_save_symbol __novmx__sigjmp_save # include "setjmp-common.S" strong_alias (__novmxsetjmp, __novmx__setjmp) # endif |