mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
manual/probes.texi: Add documentation of setjmp/longjmp probes
Add some documentation of the setjmp, longjmp and longjmp_target Systemtap probe points. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * manual/probes.texi (Internal Probes): Add documentation of setjmp, longjmp and longjmp_target probes.
This commit is contained in:
parent
b4f12ca391
commit
7b3436d468
@ -1,3 +1,8 @@
|
||||
2014-02-11 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* manual/probes.texi (Internal Probes): Add documentation
|
||||
of setjmp, longjmp and longjmp_target probes.
|
||||
|
||||
2014-02-11 Will Newton <will.newton@linaro.org>
|
||||
|
||||
* include/stap-probe.h: Add comment about probe argument
|
||||
|
@ -17,6 +17,7 @@ arguments.
|
||||
@menu
|
||||
* Memory Allocation Probes:: Probes in the memory allocation subsystem
|
||||
* Mathematical Function Probes:: Probes in mathematical functions
|
||||
* Non-local Goto Probes:: Probes in setjmp and longjmp
|
||||
@end menu
|
||||
|
||||
@node Memory Allocation Probes
|
||||
@ -368,3 +369,42 @@ results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function, @var{$arg2} is the error bound of
|
||||
@var{$arg1} and @var{$arg3} is the computed result.
|
||||
@end deftp
|
||||
|
||||
@node Non-local Goto Probes
|
||||
@section Non-local Goto Probes
|
||||
|
||||
These probes are used to signal calls to @code{setjmp}, @code{sigsetjmp},
|
||||
@code{longjmp} or @code{siglongjmp}.
|
||||
|
||||
@deftp Probe setjmp (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3})
|
||||
This probe is triggered whenever @code{setjmp} or @code{sigsetjmp} is
|
||||
called. Argument @var{$arg1} is a pointer to the @code{jmp_buf}
|
||||
passed as the first argument of @code{setjmp} or @code{sigsetjmp},
|
||||
@var{$arg2} is the second argument of @code{sigsetjmp} or zero if this
|
||||
is a call to @code{setjmp} and @var{$arg3} is a pointer to the return
|
||||
address that will be stored in the @code{jmp_buf}.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe longjmp (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3})
|
||||
This probe is triggered whenever @code{longjmp} or @code{siglongjmp}
|
||||
is called. Argument @var{$arg1} is a pointer to the @code{jmp_buf}
|
||||
passed as the first argument of @code{longjmp} or @code{siglongjmp},
|
||||
@var{$arg2} is the return value passed as the second argument of
|
||||
@code{longjmp} or @code{siglongjmp} and @var{$arg3} is a pointer to
|
||||
the return address @code{longjmp} or @code{siglongjmp} will return to.
|
||||
|
||||
The @code{longjmp} probe is triggered at a point where the registers
|
||||
have not yet been restored to the values in the @code{jmp_buf} and
|
||||
unwinding will show a call stack including the caller of
|
||||
@code{longjmp} or @code{siglongjmp}.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe longjmp_target (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3})
|
||||
This probe is triggered under the same conditions and with the same
|
||||
arguments as the @code{longjmp} probe.
|
||||
|
||||
The @code{longjmp_target} probe is triggered at a point where the
|
||||
registers have been restored to the values in the @code{jmp_buf} and
|
||||
unwinding will show a call stack including the caller of @code{setjmp}
|
||||
or @code{sigsetjmp}.
|
||||
@end deftp
|
||||
|
Loading…
Reference in New Issue
Block a user