Message ID | 1396962956-28589-1-git-send-email-will.newton@linaro.org |
---|---|
State | Accepted |
Headers | show |
On 8 April 2014 14:15, Will Newton <will.newton@linaro.org> wrote: > From: Venkataramanan Kumar <venkataramanan.kumar@linaro.org> > > Add setjmp, longjmp and longjmp_target Systemtap probes. > > ChangeLog: > > 2014-04-08 Will Newton <will.newton@linaro.org> > Venkataramanan Kumar <venkataramanan.kumar@linaro.org> > > * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. > (__longjmp): Add longjmp and longjmp_target SystemTap > probes. > * sysdeps/aarch64/setjmp.S: Include stap-probe.h. > (__sigsetjmp): Add setjmp SystemTap probe. > --- > sysdeps/aarch64/__longjmp.S | 10 ++++++++++ > sysdeps/aarch64/setjmp.S | 5 +++++ > 2 files changed, 15 insertions(+) Ping? > diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S > index 2d38bbf..1bb7be36 100644 > --- a/sysdeps/aarch64/__longjmp.S > +++ b/sysdeps/aarch64/__longjmp.S > @@ -18,6 +18,7 @@ > > #include <sysdep.h> > #include <jmpbuf-offsets.h> > +#include <stap-probe.h> > > /* __longjmp(jmpbuf, val) */ > > @@ -56,6 +57,10 @@ ENTRY (__longjmp) > #else > ldp x29, x30, [x0, #JB_X29<<3] > #endif > + /* longjmp probe takes 3 arguments, address of jump buffer as > + first argument (8@x0), return value as second argument (-4@x1), > + and target address (8@x30), respectively. */ > + LIBC_PROBE (longjmp, 3, 8@x0, -4@x1, 8@x30) > ldp d8, d9, [x0, #JB_D8<<3] > ldp d10, d11, [x0, #JB_D10<<3] > ldp d12, d13, [x0, #JB_D12<<3] > @@ -98,6 +103,11 @@ ENTRY (__longjmp) > ldr x5, [x0, #JB_SP<<3] > #endif > mov sp, x5 > + > + /* longjmp_target probe takes 3 arguments, address of jump buffer > + as first argument (8@x0), return value as second argument (-4@x1), > + and target address (8@x30), respectively. */ > + LIBC_PROBE (longjmp_target, 3, 8@x0, -4@x1, 8@x30) > cmp x1, #0 > mov x0, #1 > csel x0, x1, x0, ne > diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S > index 5822abd..fd39319 100644 > --- a/sysdeps/aarch64/setjmp.S > +++ b/sysdeps/aarch64/setjmp.S > @@ -18,6 +18,7 @@ > > #include <sysdep.h> > #include <jmpbuf-offsets.h> > +#include <stap-probe.h> > > /* Keep traditional entry points in with sigsetjmp(). */ > ENTRY (setjmp) > @@ -46,6 +47,10 @@ ENTRY (__sigsetjmp) > #else > stp x29, x30, [x0, #JB_X29<<3] > #endif > + /* setjmp probe takes 3 arguments, address of jump buffer > + first argument (8@x0), return value second argument (-4@x1), > + and target address (8@x30), respectively. */ > + LIBC_PROBE (setjmp, 3, 8@x0, -4@x1, 8@x30) > stp d8, d9, [x0, #JB_D8<<3] > stp d10, d11, [x0, #JB_D10<<3] > stp d12, d13, [x0, #JB_D12<<3] > -- > 1.8.1.4 >
On 17 April 2014 13:18, Will Newton <will.newton@linaro.org> wrote: > On 8 April 2014 14:15, Will Newton <will.newton@linaro.org> wrote: >> From: Venkataramanan Kumar <venkataramanan.kumar@linaro.org> >> >> Add setjmp, longjmp and longjmp_target Systemtap probes. >> >> ChangeLog: >> >> 2014-04-08 Will Newton <will.newton@linaro.org> >> Venkataramanan Kumar <venkataramanan.kumar@linaro.org> >> >> * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. >> (__longjmp): Add longjmp and longjmp_target SystemTap >> probes. >> * sysdeps/aarch64/setjmp.S: Include stap-probe.h. >> (__sigsetjmp): Add setjmp SystemTap probe. >> --- >> sysdeps/aarch64/__longjmp.S | 10 ++++++++++ >> sysdeps/aarch64/setjmp.S | 5 +++++ >> 2 files changed, 15 insertions(+) > > Ping? Ping? >> diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S >> index 2d38bbf..1bb7be36 100644 >> --- a/sysdeps/aarch64/__longjmp.S >> +++ b/sysdeps/aarch64/__longjmp.S >> @@ -18,6 +18,7 @@ >> >> #include <sysdep.h> >> #include <jmpbuf-offsets.h> >> +#include <stap-probe.h> >> >> /* __longjmp(jmpbuf, val) */ >> >> @@ -56,6 +57,10 @@ ENTRY (__longjmp) >> #else >> ldp x29, x30, [x0, #JB_X29<<3] >> #endif >> + /* longjmp probe takes 3 arguments, address of jump buffer as >> + first argument (8@x0), return value as second argument (-4@x1), >> + and target address (8@x30), respectively. */ >> + LIBC_PROBE (longjmp, 3, 8@x0, -4@x1, 8@x30) >> ldp d8, d9, [x0, #JB_D8<<3] >> ldp d10, d11, [x0, #JB_D10<<3] >> ldp d12, d13, [x0, #JB_D12<<3] >> @@ -98,6 +103,11 @@ ENTRY (__longjmp) >> ldr x5, [x0, #JB_SP<<3] >> #endif >> mov sp, x5 >> + >> + /* longjmp_target probe takes 3 arguments, address of jump buffer >> + as first argument (8@x0), return value as second argument (-4@x1), >> + and target address (8@x30), respectively. */ >> + LIBC_PROBE (longjmp_target, 3, 8@x0, -4@x1, 8@x30) >> cmp x1, #0 >> mov x0, #1 >> csel x0, x1, x0, ne >> diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S >> index 5822abd..fd39319 100644 >> --- a/sysdeps/aarch64/setjmp.S >> +++ b/sysdeps/aarch64/setjmp.S >> @@ -18,6 +18,7 @@ >> >> #include <sysdep.h> >> #include <jmpbuf-offsets.h> >> +#include <stap-probe.h> >> >> /* Keep traditional entry points in with sigsetjmp(). */ >> ENTRY (setjmp) >> @@ -46,6 +47,10 @@ ENTRY (__sigsetjmp) >> #else >> stp x29, x30, [x0, #JB_X29<<3] >> #endif >> + /* setjmp probe takes 3 arguments, address of jump buffer >> + first argument (8@x0), return value second argument (-4@x1), >> + and target address (8@x30), respectively. */ >> + LIBC_PROBE (setjmp, 3, 8@x0, -4@x1, 8@x30) >> stp d8, d9, [x0, #JB_D8<<3] >> stp d10, d11, [x0, #JB_D10<<3] >> stp d12, d13, [x0, #JB_D12<<3] >> -- >> 1.8.1.4 >> > > > > -- > Will Newton > Toolchain Working Group, Linaro
On 8 April 2014 14:15, Will Newton <will.newton@linaro.org> wrote: > From: Venkataramanan Kumar <venkataramanan.kumar@linaro.org> > > Add setjmp, longjmp and longjmp_target Systemtap probes. > > ChangeLog: > > 2014-04-08 Will Newton <will.newton@linaro.org> > Venkataramanan Kumar <venkataramanan.kumar@linaro.org> > > * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. > (__longjmp): Add longjmp and longjmp_target SystemTap > probes. > * sysdeps/aarch64/setjmp.S: Include stap-probe.h. > (__sigsetjmp): Add setjmp SystemTap probe. OK /Marcus
diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S index 2d38bbf..1bb7be36 100644 --- a/sysdeps/aarch64/__longjmp.S +++ b/sysdeps/aarch64/__longjmp.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <jmpbuf-offsets.h> +#include <stap-probe.h> /* __longjmp(jmpbuf, val) */ @@ -56,6 +57,10 @@ ENTRY (__longjmp) #else ldp x29, x30, [x0, #JB_X29<<3] #endif + /* longjmp probe takes 3 arguments, address of jump buffer as + first argument (8@x0), return value as second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (longjmp, 3, 8@x0, -4@x1, 8@x30) ldp d8, d9, [x0, #JB_D8<<3] ldp d10, d11, [x0, #JB_D10<<3] ldp d12, d13, [x0, #JB_D12<<3] @@ -98,6 +103,11 @@ ENTRY (__longjmp) ldr x5, [x0, #JB_SP<<3] #endif mov sp, x5 + + /* longjmp_target probe takes 3 arguments, address of jump buffer + as first argument (8@x0), return value as second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (longjmp_target, 3, 8@x0, -4@x1, 8@x30) cmp x1, #0 mov x0, #1 csel x0, x1, x0, ne diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S index 5822abd..fd39319 100644 --- a/sysdeps/aarch64/setjmp.S +++ b/sysdeps/aarch64/setjmp.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <jmpbuf-offsets.h> +#include <stap-probe.h> /* Keep traditional entry points in with sigsetjmp(). */ ENTRY (setjmp) @@ -46,6 +47,10 @@ ENTRY (__sigsetjmp) #else stp x29, x30, [x0, #JB_X29<<3] #endif + /* setjmp probe takes 3 arguments, address of jump buffer + first argument (8@x0), return value second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (setjmp, 3, 8@x0, -4@x1, 8@x30) stp d8, d9, [x0, #JB_D8<<3] stp d10, d11, [x0, #JB_D10<<3] stp d12, d13, [x0, #JB_D12<<3]
From: Venkataramanan Kumar <venkataramanan.kumar@linaro.org> Add setjmp, longjmp and longjmp_target Systemtap probes. ChangeLog: 2014-04-08 Will Newton <will.newton@linaro.org> Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. (__longjmp): Add longjmp and longjmp_target SystemTap probes. * sysdeps/aarch64/setjmp.S: Include stap-probe.h. (__sigsetjmp): Add setjmp SystemTap probe. --- sysdeps/aarch64/__longjmp.S | 10 ++++++++++ sysdeps/aarch64/setjmp.S | 5 +++++ 2 files changed, 15 insertions(+)