This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ARM: Add SystemTap probes to longjmp and setjmp.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]