mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-29 02:07:39 +01:00
Put {Name} section contents on a single line to work around a bug in
lexgrog. (Logical change 1.74)
This commit is contained in:
parent
1baaf32be4
commit
d0028f3b30
8 changed files with 561 additions and 0 deletions
|
@ -0,0 +1,79 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_get\_fpreg}{David Mosberger-Tang}{Programming Library}{unw\_get\_fpreg}unw\_get\_fpreg -- get contents of floating-point register
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_get\_fpreg}(\Type{unw\_cursor\_t~*}\Var{cp}, \Type{unw\_regnum\_t} \Var{reg}, \Type{unw\_fpreg\_t~*}\Var{valp});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_get\_fpreg}() routine reads the value of floating-point
|
||||||
|
register \Var{reg} in the stack frame identified by cursor \Var{cp}
|
||||||
|
and stores the value in the variable pointed to by \Var{valp}.
|
||||||
|
|
||||||
|
The register numbering is target-dependent and described in separate
|
||||||
|
manual pages (e.g., libunwind-ia64(3) for the IA-64 target).
|
||||||
|
Furthermore, the exact set of accessible registers may depend on the
|
||||||
|
type of frame that \Var{cp} is referring to. For ordinary stack
|
||||||
|
frames, it is normally possible to access only the preserved
|
||||||
|
(``callee-saved'') registers and frame-related registers (such as the
|
||||||
|
stack-pointer). However, for signal frames (see
|
||||||
|
\Func{unw\_is\_signal\_frame}(3)), it is usually possible to access
|
||||||
|
all registers.
|
||||||
|
|
||||||
|
Note that \Func{unw\_get\_fpreg}() can only read the contents of
|
||||||
|
floating-point registers. See \Func{unw\_get\_fpreg}(3) for a way to
|
||||||
|
read registers which fit in a single word.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_get\_fpreg}() returns 0.
|
||||||
|
Otherwise the negative value of one of the error-codes below is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_get\_fpreg}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
||||||
|
\item[\Const{UNW\_EBADREG}] An attempt was made to read a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
\end{Description}
|
||||||
|
In addition, \Func{unw\_get\_fpreg}() may return any error returned by
|
||||||
|
the \Func{access\_mem}(), \Func{access\_reg}(), and
|
||||||
|
\Func{access\_fpreg}() call-backs (see
|
||||||
|
\Func{unw\_create\_addr\_space}(3)).
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{libunwind-ia64(3)},
|
||||||
|
\SeeAlso{unw\_get\_reg(3)},
|
||||||
|
\SeeAlso{unw\_is\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_is\_signal\_frame(3)},
|
||||||
|
\SeeAlso{unw\_set\_fpreg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,79 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_get\_reg}{David Mosberger-Tang}{Programming Library}{unw\_get\_reg}unw\_get\_reg -- get register contents
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_get\_reg}(\Type{unw\_cursor\_t~*}\Var{cp}, \Type{unw\_regnum\_t} \Var{reg}, \Type{unw\_word\_t~*}\Var{valp});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_get\_reg}() routine reads the value of register
|
||||||
|
\Var{reg} in the stack frame identified by cursor \Var{cp} and stores
|
||||||
|
the value in the word pointed to by \Var{valp}.
|
||||||
|
|
||||||
|
The register numbering is target-dependent and described in separate
|
||||||
|
manual pages (e.g., libunwind-ia64(3) for the IA-64 target).
|
||||||
|
Furthermore, the exact set of accessible registers may depend on the
|
||||||
|
type of frame that \Var{cp} is referring to. For ordinary stack
|
||||||
|
frames, it is normally possible to access only the preserved
|
||||||
|
(``callee-saved'') registers and frame-related registers (such as the
|
||||||
|
stack-pointer). However, for signal frames (see
|
||||||
|
\Func{unw\_is\_signal\_frame}(3)), it is usually possible to access
|
||||||
|
all registers.
|
||||||
|
|
||||||
|
Note that \Func{unw\_get\_reg}() can only read the contents of
|
||||||
|
registers whose values fit in a single word. See
|
||||||
|
\Func{unw\_get\_fpreg}(3) for a way to read registers which do not fit
|
||||||
|
this constraint.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_get\_reg}() returns 0.
|
||||||
|
Otherwise the negative value of one of the error-codes below is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_get\_reg}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
||||||
|
\item[\Const{UNW\_EBADREG}] An attempt was made to read a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
\end{Description}
|
||||||
|
In addition, \Func{unw\_get\_reg}() may return any error returned by
|
||||||
|
the \Func{access\_mem}(), \Func{access\_reg}(), and
|
||||||
|
\Func{access\_fpreg}() call-backs (see
|
||||||
|
\Func{unw\_create\_addr\_space}(3)).
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{libunwind-ia64(3)},
|
||||||
|
\SeeAlso{unw\_get\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_is\_signal\_frame(3)},
|
||||||
|
\SeeAlso{unw\_set\_reg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,51 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_getcontext}{David Mosberger-Tang}{Programming Library}{unw\_getcontext}unw\_getcontext -- get initial machine-state
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_getcontext}(\Type{unw\_context\_t~*}\Var{ucp});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_getcontext}() routine initializes the context structure
|
||||||
|
pointed to by \Var{ucp} with the machine-state of the call-site. The
|
||||||
|
exact set of registers stored by \Func{unw\_getcontext}() is
|
||||||
|
platform-specific, but, in general, at least all preserved
|
||||||
|
(``callee-saved'') and all frame-related registers, such as the
|
||||||
|
stack-pointer, will be stored.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_getcontext}() returns 0.
|
||||||
|
Otherwise, a value of -1 is returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_getcontext}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{unw\_init\_local(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,51 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_is\_fpreg}{David Mosberger-Tang}{Programming Library}{unw\_is\_fpreg}unw\_is\_fpreg -- check if a register is a floating-point register
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_is\_fpreg}(\Type{unw\_regnum\_t} \Var{reg});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_is\_fpreg}() routine checks whether register number
|
||||||
|
\Var{reg} is a floating-point register.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
The \Func{unw\_is\_fpreg}() routine returns a non-zero value if
|
||||||
|
\Var{reg} is a floating-point register. Otherwise, it returns a value
|
||||||
|
of 0.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_is\_fpreg}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{unw\_get\_reg(3)},
|
||||||
|
\SeeAlso{unw\_set\_reg(3)},
|
||||||
|
\SeeAlso{unw\_get\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_set\_fpreg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,69 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_is\_signal\_frame}{David Mosberger-Tang}{Programming Library}{unw\_is\_signal\_frame}unw\_is\_signal\_frame -- check if current frame is a signal frame
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_is\_signal\_frame}(\Type{unw\_cursor\_t~*}\Var{cp});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_is\_signal\_frame}() routine returns a positive value
|
||||||
|
if the current frame identified by \Var{cp} is a signal frame, and a
|
||||||
|
value of 0 otherwise. For the purpose of this discussion, a signal
|
||||||
|
frame is a frame that was created in response to a potentially
|
||||||
|
asynchronous interruption. For UNIX and UNIX-like platforms, such
|
||||||
|
frames are normally created by the kernel when delivering a signal.
|
||||||
|
In a kernel-environment, a signal frame might, for example, correspond
|
||||||
|
to a frame created in response to a device interrupt.
|
||||||
|
|
||||||
|
Signal frames are somewhat unusual because the asynchronous nature of
|
||||||
|
the events that create them require storing the contents of registers
|
||||||
|
that are normally treated as scratch (``caller-saved'') registers.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_is\_signal\_frame}() returns a
|
||||||
|
positive value if the current frame is a signal frame, or 0 if it is
|
||||||
|
not. Otherwise, a negative value of one of the error-codes below is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_is\_signal\_frame}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_ENOINFO}] \Prog{Libunwind} is unable to determine
|
||||||
|
whether or not the current frame is a signal frame.
|
||||||
|
\end{Description}
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{unw\_get\_reg(3)},
|
||||||
|
\SeeAlso{unw\_set\_reg(3)},
|
||||||
|
\SeeAlso{unw\_get\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_set\_fpreg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,81 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_set\_fpreg}{David Mosberger-Tang}{Programming Library}{unw\_set\_fpreg}unw\_set\_fpreg -- set contents of floating-point register
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_set\_fpreg}(\Type{unw\_cursor\_t~*}\Var{cp}, \Type{unw\_regnum\_t} \Var{reg}, \Type{unw\_fpreg\_t} \Var{val});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_set\_fpreg}() routine sets the value of register
|
||||||
|
\Var{reg} in the stack frame identified by cursor \Var{cp} to the
|
||||||
|
value passed in \Var{val}.
|
||||||
|
|
||||||
|
The register numbering is target-dependent and described in separate
|
||||||
|
manual pages (e.g., libunwind-ia64(3) for the IA-64 target).
|
||||||
|
Furthermore, the exact set of accessible registers may depend on the
|
||||||
|
type of frame that \Var{cp} is referring to. For ordinary stack
|
||||||
|
frames, it is normally possible to access only the preserved
|
||||||
|
(``callee-saved'') registers and frame-related registers (such as the
|
||||||
|
stack-pointer). However, for signal frames (see
|
||||||
|
\Func{unw\_is\_signal\_frame}(3)), it is usually possible to access
|
||||||
|
all registers.
|
||||||
|
|
||||||
|
Note that \Func{unw\_set\_fpreg}() can only write the contents of
|
||||||
|
floating-point registers. See \Func{unw\_set\_reg}(3) for a way to
|
||||||
|
write registers which fit in a single word.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_set\_fpreg}() returns 0.
|
||||||
|
Otherwise the negative value of one of the error-codes below is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_set\_fpreg}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
||||||
|
\item[\Const{UNW\_EBADREG}] An attempt was made to write a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
\item[\Const{UNW\_EREADONLY}] An attempt was made to write to a
|
||||||
|
read-only register.
|
||||||
|
\end{Description}
|
||||||
|
In addition, \Func{unw\_set\_fpreg}() may return any error returned by
|
||||||
|
the \Func{access\_mem}(), \Func{access\_reg}(), and
|
||||||
|
\Func{access\_fpreg}() call-backs (see
|
||||||
|
\Func{unw\_create\_addr\_space}(3)).
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{libunwind-ia64(3)},
|
||||||
|
\SeeAlso{unw\_get\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_is\_fpreg(3)},
|
||||||
|
\SeeAlso{unw\_is\_signal\_frame(3)},
|
||||||
|
\SeeAlso{unw\_set\_reg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,81 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_set\_reg}{David Mosberger-Tang}{Programming Library}{unw\_set\_reg}unw\_set\_reg -- set register contents
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_set\_reg}(\Type{unw\_cursor\_t~*}\Var{cp}, \Type{unw\_regnum\_t} \Var{reg}, \Type{unw\_word\_t} \Var{val});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_set\_reg}() routine sets the value of register
|
||||||
|
\Var{reg} in the stack frame identified by cursor \Var{cp} to the
|
||||||
|
value passed in \Var{val}.
|
||||||
|
|
||||||
|
The register numbering is target-dependent and described in separate
|
||||||
|
manual pages (e.g., libunwind-ia64(3) for the IA-64 target).
|
||||||
|
Furthermore, the exact set of accessible registers may depend on the
|
||||||
|
type of frame that \Var{cp} is referring to. For ordinary stack
|
||||||
|
frames, it is normally possible to access only the preserved
|
||||||
|
(``callee-saved'') registers and frame-related registers (such as the
|
||||||
|
stack-pointer). However, for signal frames (see
|
||||||
|
\Func{unw\_is\_signal\_frame}(3)), it is usually possible to access
|
||||||
|
all registers.
|
||||||
|
|
||||||
|
Note that \Func{unw\_set\_reg}() can only write the contents of
|
||||||
|
registers whose values fit in a single word. See
|
||||||
|
\Func{unw\_set\_fpreg}(3) for a way to write registers which do not
|
||||||
|
fit this constraint.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_set\_reg}() returns 0.
|
||||||
|
Otherwise the negative value of one of the error-codes below is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_set\_reg}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
||||||
|
\item[\Const{UNW\_EBADREG}] An attempt was made to write a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
\item[\Const{UNW\_EREADONLY}] An attempt was made to write to a
|
||||||
|
read-only register.
|
||||||
|
\end{Description}
|
||||||
|
In addition, \Func{unw\_set\_reg}() may return any error returned by
|
||||||
|
the \Func{access\_mem}(), \Func{access\_reg}(), and
|
||||||
|
\Func{access\_fpreg}() call-backs (see
|
||||||
|
\Func{unw\_create\_addr\_space}(3)).
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{libunwind-ia64(3)},
|
||||||
|
\SeeAlso{unw\_get\_reg(3)},
|
||||||
|
\SeeAlso{unw\_is\_signal\_frame(3)},
|
||||||
|
\SeeAlso{unw\_set\_fpreg(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,70 @@
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage[fancyhdr,pdf]{latex2man}
|
||||||
|
|
||||||
|
\input{common.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{Name}{3}{unw\_step}{David Mosberger-Tang}{Programming Library}{unw\_step}unw\_step -- advance to next stack frame
|
||||||
|
\end{Name}
|
||||||
|
|
||||||
|
\section{Synopsis}
|
||||||
|
|
||||||
|
\File{\#include $<$libunwind.h$>$}\\
|
||||||
|
|
||||||
|
\Type{int} \Func{unw\_step}(\Type{unw\_cursor\_t~*}\Var{cp});\\
|
||||||
|
|
||||||
|
\section{Description}
|
||||||
|
|
||||||
|
The \Func{unw\_step}() routine advances the unwind cursor \Var{cp} to
|
||||||
|
the next older, less deeply nested stack frame.
|
||||||
|
|
||||||
|
\section{Return Value}
|
||||||
|
|
||||||
|
On successful completion, \Func{unw\_step}() returns a positive value
|
||||||
|
if there are more stack frames in the call-chain, or 0 if the returned
|
||||||
|
stack frame is the last frame in the chain. On error, the negative
|
||||||
|
value of one of the error-codes below is returned.
|
||||||
|
|
||||||
|
\section{Thread and Signal Safety}
|
||||||
|
|
||||||
|
\Func{unw\_step}() is thread-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
|
||||||
|
\section{Errors}
|
||||||
|
|
||||||
|
\begin{Description}
|
||||||
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
||||||
|
\item[\Const{UNW\_ENOINFO}] \Prog{Libunwind} was unable to locate the
|
||||||
|
unwind-info needed to complete the operation.
|
||||||
|
\item[\Const{UNW\_EBADVERSION}] The unwind-info needed to complete the
|
||||||
|
operation has a version or a format that is not understood by
|
||||||
|
\Prog{libunwind}.
|
||||||
|
\item[\Const{UNW\_EINVALIDIP}] The instruction-pointer
|
||||||
|
(``program-counter'') of the next stack frame is invalid (e.g., not
|
||||||
|
properly aligned).
|
||||||
|
\item[\Const{UNW\_EBADFRAME}] The next stack frame is invalid.
|
||||||
|
\item[\Const{UNW\_ESTOPUNWIND}] Returned if a call to
|
||||||
|
\Func{find\_proc\_info}() returned -\Const{UNW\_ESTOPUNWIND}.
|
||||||
|
\end{Description}
|
||||||
|
In addition, \Func{unw\_step}() may return any error returned by the
|
||||||
|
\Func{find\_proc\_info}(), \Func{get\_dyn\_info\_list\_addr}(),
|
||||||
|
\Func{access\_mem}(), \Func{access\_reg}(), or \Func{access\_fpreg}()
|
||||||
|
call-backs (see \Func{unw\_create\_addr\_space}(3)).
|
||||||
|
|
||||||
|
\section{See Also}
|
||||||
|
|
||||||
|
\SeeAlso{libunwind(3)},
|
||||||
|
\SeeAlso{unw\_create\_addr\_space(3)}
|
||||||
|
|
||||||
|
\section{Author}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
David Mosberger-Tang\\
|
||||||
|
Hewlett-Packard Labs\\
|
||||||
|
Palo-Alto, CA 94304\\
|
||||||
|
Email: \Email{davidm@hpl.hp.com}\\
|
||||||
|
WWW: \URL{http://www.hpl.hp.com/research/linux/libunwind/}.
|
||||||
|
\LatexManEnd
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in a new issue