mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-27 09:37:38 +01:00
9eb9f31e4c
(Logical change 1.74)
116 lines
2.3 KiB
Groff
116 lines
2.3 KiB
Groff
'\" t
|
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:05 PST 2003
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
|
.de Vb
|
|
.ft CW
|
|
.nf
|
|
..
|
|
.de Ve
|
|
.ft R
|
|
|
|
.fi
|
|
..
|
|
.TH "UNW\\_GET\\_REG" "3" "31 March 2003" "Programming Library " "Programming Library "
|
|
.SH NAME
|
|
unw_get_reg
|
|
\-\- get register contents
|
|
.PP
|
|
.SH SYNOPSIS
|
|
|
|
.PP
|
|
#include <libunwind.h>
|
|
.br
|
|
.PP
|
|
int
|
|
unw_get_reg(unw_cursor_t *cp,
|
|
unw_regnum_t
|
|
reg,
|
|
unw_word_t *valp);
|
|
.br
|
|
.PP
|
|
.SH DESCRIPTION
|
|
|
|
.PP
|
|
The unw_get_reg()
|
|
routine reads the value of register
|
|
reg
|
|
in the stack frame identified by cursor cp
|
|
and stores
|
|
the value in the word pointed to by valp\&.
|
|
.PP
|
|
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 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
|
|
unw_is_signal_frame(3)),
|
|
it is usually possible to access
|
|
all registers.
|
|
.PP
|
|
Note that unw_get_reg()
|
|
can only read the contents of
|
|
registers whose values fit in a single word. See
|
|
unw_get_fpreg(3)
|
|
for a way to read registers which do not fit
|
|
this constraint.
|
|
.PP
|
|
.SH RETURN VALUE
|
|
|
|
.PP
|
|
On successful completion, unw_get_reg()
|
|
returns 0.
|
|
Otherwise the negative value of one of the error\-codes below is
|
|
returned.
|
|
.PP
|
|
.SH THREAD AND SIGNAL SAFETY
|
|
|
|
.PP
|
|
unw_get_reg()
|
|
is thread\-safe as well as safe to use
|
|
from a signal handler.
|
|
.PP
|
|
.SH ERRORS
|
|
|
|
.PP
|
|
.TP
|
|
UNW_EUNSPEC
|
|
An unspecified error occurred.
|
|
.TP
|
|
UNW_EBADREG
|
|
An attempt was made to read a register
|
|
that is either invalid or not accessible in the current frame.
|
|
.PP
|
|
In addition, unw_get_reg()
|
|
may return any error returned by
|
|
the access_mem(),
|
|
access_reg(),
|
|
and
|
|
access_fpreg()
|
|
call\-backs (see
|
|
unw_create_addr_space(3)).
|
|
.PP
|
|
.SH SEE ALSO
|
|
|
|
.PP
|
|
libunwind(3),
|
|
libunwind\-ia64(3),
|
|
unw_get_fpreg(3),
|
|
unw_is_signal_frame(3),
|
|
unw_set_reg(3)
|
|
.PP
|
|
.SH AUTHOR
|
|
|
|
.PP
|
|
David Mosberger\-Tang
|
|
.br
|
|
Hewlett\-Packard Labs
|
|
.br
|
|
Palo\-Alto, CA 94304
|
|
.br
|
|
Email: \fBdavidm@hpl.hp.com\fP
|
|
.br
|
|
WWW: \fBhttp://www.hpl.hp.com/research/linux/libunwind/\fP\&.
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|