This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: [PATCH] ARM: Add SystemTap probes to longjmp and setjmp.
- From: Will Newton <will dot newton at linaro dot org>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: "libc-ports at sourceware dot org" <libc-ports at sourceware dot org>, Patch Tracking <patches at linaro dot org>
- Date: Mon, 27 Jan 2014 20:50:57 +0000
- Subject: Re: [PATCH] ARM: Add SystemTap probes to longjmp and setjmp.
- Authentication-results: sourceware.org; auth=none
- References: <1390815426-10792-1-git-send-email-will dot newton at linaro dot org> <Pine dot LNX dot 4 dot 64 dot 1401271821090 dot 8452 at digraph dot polyomino dot org dot uk>
On 27 January 2014 18:22, Joseph S. Myers <joseph@codesourcery.com> wrote:
> On Mon, 27 Jan 2014, Will Newton wrote:
>
>> + /* longjmp probe expects longjmp first argument (4@r0), second
>> + argument (-4@r1), and target address (4@r14), respectively. */
>> + LIBC_PROBE (longjmp, 3, 4@r0, -4@r1, 4@r14)
>
> I don't know what 4@r0 etc. mean - where is this documented (I don't see
> it in include/stap-probe.h)? Also, where are the semantics of these
> probes documented (I don't see them in manual/probes.texi)?
None of this seems particularly well-documented as far as I can tell.
The SystemTap probe syntax is covered here:
https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation
But there's no mention of ARM specifically, and the gdb source seems
to be the place where the syntax is parsed so I wrote to match that.
For example, lr does not seem to be a supported register name but r14
is.
The semantics of the probes is not documented at all as far as I can
tell. Again gdb is the consumer so I looked at the sources there as
well as the comments in the powerpc port of glibc (thanks powerpc
maintainers!). Only the third argument is used by gdb, which is the
target pc.
It would be great if someone who actually knew the details of this for
sure added some docs (i.e. see discussion of longjmp_target probe that
other architectures implement).
--
Will Newton
Toolchain Working Group, Linaro