mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-23 03:53:43 +01:00
Regenerate.
(Logical change 1.74)
This commit is contained in:
parent
d0028f3b30
commit
9eb9f31e4c
23 changed files with 1680 additions and 37 deletions
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 5 10:22:28 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:01 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "LIBUNWIND\-IA64" "3" "05 March 2003" "Programming Library " "Programming Library "
|
.TH "LIBUNWIND\-IA64" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
libunwind\-ia64
|
||||||
libunwind\-ia64 \-\- IA\-64\-specific support in libunwind
|
\-\- IA\-64\-specific support in libunwind
|
||||||
.PP
|
.PP
|
||||||
.SH INTRODUCTION
|
.SH INTRODUCTION
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 5 15:40:02 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "LIBUNWIND\-PTRACE" "3" "05 March 2003" "Programming Library " "Programming Library "
|
.TH "LIBUNWIND\-PTRACE" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
libunwind\-ptrace
|
||||||
libunwind\-ptrace \-\- ptrace() support in libunwind
|
\-\- ptrace() support in libunwind
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Sat Feb 8 01:31:56 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "LIBUNWIND\-SETJMP" "3" "08 February 2003" "Programming Library " "Programming Library "
|
.TH "LIBUNWIND\-SETJMP" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
libunwind\-setjmp
|
||||||
libunwind\-setjmp \-\- libunwind\-based non\-local gotos
|
\-\- libunwind\-based non\-local gotos
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Fri Mar 21 22:39:13 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:01 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,11 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "LIBUNWIND" "3" "21 March 2003" "Programming Library " "Programming Library "
|
.TH "LIBUNWIND" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
libunwind
|
||||||
.PP
|
\-\- a (mostly) platform\-independent unwind API
|
||||||
libunwind \-\- a (mostly) platform\-independent unwind API
|
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 19 23:33:01 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:03 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,11 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "UNW\\_CREATE\\_ADDR\\_SPACE" "3" "19 March 2003" "Programming Library " "Programming Library "
|
.TH "UNW\\_CREATE\\_ADDR\\_SPACE" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
unw_create_addr_space
|
||||||
.PP
|
\-\- create address space for remote unwinding
|
||||||
unw_create_addr_space \-\- create address space for remote unwinding
|
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 12 14:07:43 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:03 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,11 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "UNW\\_DESTROY\\_ADDR\\_SPACE" "3" "12 March 2003" "Programming Library " "Programming Library "
|
.TH "UNW\\_DESTROY\\_ADDR\\_SPACE" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
unw_destroy_addr_space
|
||||||
.PP
|
\-\- destroy unwind address space
|
||||||
unw_destroy_addr_space \-\- destroy unwind address space
|
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_FLUSH\\_CACHE" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_flush_cache
|
||||||
|
\-\- flush cached info
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
void
|
||||||
|
unw_flush_cache(unw_addr_space_t
|
||||||
|
as,
|
||||||
|
unw_word_t
|
||||||
|
lo,
|
||||||
|
unw_word_t
|
||||||
|
hi);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_flush_cache()
|
||||||
|
routine flushes all cached info as it
|
||||||
|
relates to address\-range lo
|
||||||
|
to hi
|
||||||
|
(non\-inclusive) in the
|
||||||
|
target address\-space as\&.
|
||||||
|
In addition, all info cached for
|
||||||
|
address\-space as
|
||||||
|
that is not tied to a particular code\-range is
|
||||||
|
also flushed. For example, the address of the dynamic registration
|
||||||
|
list is not tied to a code\-range and its cached value (if any) is
|
||||||
|
flushed by a call to this routine. The address range specified by
|
||||||
|
lo
|
||||||
|
and hi
|
||||||
|
should be understood as a hint:
|
||||||
|
unw_flush_cache()
|
||||||
|
may flush more information than requested,
|
||||||
|
but \fInever\fP
|
||||||
|
less. In other words, unw_flush_cache()
|
||||||
|
may
|
||||||
|
overflush, but not underflush.
|
||||||
|
.PP
|
||||||
|
As a special case, if arguments lo
|
||||||
|
and hi
|
||||||
|
are both 0, all
|
||||||
|
information cached on behalf of address space as
|
||||||
|
is flushed.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_flush_cache()
|
||||||
|
routine cannot fail and does not
|
||||||
|
return a value.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_flush_cache()
|
||||||
|
routine is thread\-safe as well as safe to
|
||||||
|
use from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_set_caching_policy(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.
|
|
@ -0,0 +1,83 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_GET\\_ACCESSORS" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_get_accessors
|
||||||
|
\-\- get pointer to accessor call\-backs
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
unw_accessors_t *unw_get_accessors(unw_addr_space_t as);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_accessors()
|
||||||
|
routine returns a pointer to a
|
||||||
|
unw_accessors_t
|
||||||
|
structure, which contains the call\-back
|
||||||
|
routines that were specified when address space as
|
||||||
|
was created
|
||||||
|
(see unw_create_addr_space(3)).
|
||||||
|
The returned pointer is
|
||||||
|
guaranteed to remain valid until address space as
|
||||||
|
is destroyed
|
||||||
|
by a call to unw_destroy_addr_space(3).
|
||||||
|
.PP
|
||||||
|
Note that unw_get_accessors()
|
||||||
|
can be used to retrieve the
|
||||||
|
call\-back routines for the local address space
|
||||||
|
unw_local_addr_space\&.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_accessors()
|
||||||
|
routine cannot fail and always
|
||||||
|
returns a valid (non\-NULL)
|
||||||
|
pointer to an
|
||||||
|
unw_accessors_t
|
||||||
|
structure.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_accessors()
|
||||||
|
routine is thread\-safe as well as
|
||||||
|
safe to use from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_create_addr_space(3),
|
||||||
|
unw_destroy_addr_space(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.
|
|
@ -0,0 +1,115 @@
|
||||||
|
'\" 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\\_FPREG" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_get_fpreg
|
||||||
|
\-\- get contents of floating\-point register
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_get_fpreg(unw_cursor_t *cp,
|
||||||
|
unw_regnum_t
|
||||||
|
reg,
|
||||||
|
unw_fpreg_t *valp);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_fpreg()
|
||||||
|
routine reads the value of floating\-point
|
||||||
|
register reg
|
||||||
|
in the stack frame identified by cursor cp
|
||||||
|
and stores the value in the variable 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_fpreg()
|
||||||
|
can only read the contents of
|
||||||
|
floating\-point registers. See unw_get_fpreg(3)
|
||||||
|
for a way to
|
||||||
|
read registers which fit in a single word.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_get_fpreg()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_get_fpreg()
|
||||||
|
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_fpreg()
|
||||||
|
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_reg(3),
|
||||||
|
unw_is_fpreg(3),
|
||||||
|
unw_is_signal_frame(3),
|
||||||
|
unw_set_fpreg(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.
|
|
@ -0,0 +1,205 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_GET\\_PROC\\_INFO" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_get_proc_info
|
||||||
|
\-\- get info on current procedure
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_get_proc_info(unw_cursor_t *cp,
|
||||||
|
unw_proc_info_t *pip);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_proc_info()
|
||||||
|
routine returns auxiliary
|
||||||
|
information about the procedure that created the stack frame
|
||||||
|
identified by argument cp\&.
|
||||||
|
The pip
|
||||||
|
argument is a pointer
|
||||||
|
to a structure of type unw_proc_info_t
|
||||||
|
which is used to
|
||||||
|
return the information. The unw_proc_info_t
|
||||||
|
has the
|
||||||
|
following members:
|
||||||
|
.TP
|
||||||
|
unw_word_t start_ip
|
||||||
|
The address of the first
|
||||||
|
instruction of the procedure. If this address cannot be determined
|
||||||
|
(e.g., due to lack of unwind information), the start_ip
|
||||||
|
member is cleared to 0.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
unw_word_t end_ip
|
||||||
|
The address of the first
|
||||||
|
instruction \fIbeyond\fP
|
||||||
|
the end of the procedure. If this address
|
||||||
|
cannot be determined (e.g., due to lack of unwind information),
|
||||||
|
the end_ip
|
||||||
|
member is cleared to 0.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
unw_word_t lsda
|
||||||
|
The address of the
|
||||||
|
language\-specific data\-area (LSDA). This area normally contains
|
||||||
|
language\-specific information needed during exception handling. If
|
||||||
|
the procedure has no such area, this member is cleared to 0.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
unw_word_t handler
|
||||||
|
The address of the exception
|
||||||
|
handler routine. This is sometimes called the \fIpersonality\fP
|
||||||
|
routine. If the procedure does not define
|
||||||
|
a personality routine, the handler
|
||||||
|
member is cleared to 0.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
unw_word_t gp
|
||||||
|
The global\-pointer of the
|
||||||
|
procedure. On platforms that do not use a global pointer, this
|
||||||
|
member may contain an undefined value. On all other platforms, it
|
||||||
|
must be set either to the correct global\-pointer value of the
|
||||||
|
procedure or to 0 if the proper global\-pointer cannot be
|
||||||
|
obtained for some reason.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
unw_word_t flags
|
||||||
|
A set of flags. There are
|
||||||
|
currently no target\-independent flags. For the IA\-64 target, the
|
||||||
|
flag UNW_PI_FLAG_IA64_RBS_SWITCH
|
||||||
|
is set if the
|
||||||
|
procedure may switch the register\-backing store.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
int format
|
||||||
|
The format of the unwind\-info for this
|
||||||
|
procedure. If the unwind\-info consists of dynamic procedure info,
|
||||||
|
format
|
||||||
|
is equal to UNW_INFO_FORMAT_DYNAMIC\&.
|
||||||
|
If the
|
||||||
|
unwind\-info consists of a (target\-specific) unwind table, it is
|
||||||
|
equal to to UNW_INFO_FORMAT_TABLE\&.
|
||||||
|
All other values are
|
||||||
|
reserved for future use by libunwind\&.
|
||||||
|
This member exists
|
||||||
|
for use by the find_proc_info()
|
||||||
|
call\-back (see
|
||||||
|
unw_create_addr_space(3)).
|
||||||
|
The
|
||||||
|
unw_get_proc_info()
|
||||||
|
routine
|
||||||
|
may return an undefined value in this member.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
int unwind_info_size
|
||||||
|
The size of the unwind\-info
|
||||||
|
in bytes. This member exists for use by the
|
||||||
|
find_proc_info()
|
||||||
|
call\-back (see
|
||||||
|
unw_create_addr_space(3)).
|
||||||
|
The
|
||||||
|
unw_get_proc_info()
|
||||||
|
routine
|
||||||
|
may return an undefined value in this member.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
|
void *unwind_info
|
||||||
|
The pointer to the unwind\-info.
|
||||||
|
If no unwind info is available, this member must be set to
|
||||||
|
NULL\&.
|
||||||
|
This member exists for use by the
|
||||||
|
find_proc_info()
|
||||||
|
call\-back (see
|
||||||
|
unw_create_addr_space(3)).
|
||||||
|
The
|
||||||
|
unw_get_proc_info()
|
||||||
|
routine
|
||||||
|
may return an undefined value in this member.
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
Note that for the purposes of libunwind,
|
||||||
|
the code of a
|
||||||
|
procedure is assumed to occupy a single, contiguous range of
|
||||||
|
addresses. For this reason, it is alwas possible to describe the
|
||||||
|
extent of a procedure with the start_ip
|
||||||
|
and end_ip
|
||||||
|
members. If a single function/routine is split into multiple,
|
||||||
|
discontiguous pieces, libunwind
|
||||||
|
will treat each piece as a
|
||||||
|
separate procedure.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_get_proc_info()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_get_proc_info()
|
||||||
|
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_ENOINFO
|
||||||
|
Libunwind
|
||||||
|
was unable to locate
|
||||||
|
unwind\-info for the procedure.
|
||||||
|
.TP
|
||||||
|
UNW_EBADVERSION
|
||||||
|
The unwind\-info for the procedure has
|
||||||
|
version or format that is not understood by libunwind\&.
|
||||||
|
.PP
|
||||||
|
In addition, unw_get_proc_info()
|
||||||
|
may return any error
|
||||||
|
returned by the access_mem()
|
||||||
|
call\-back (see
|
||||||
|
unw_create_addr_space(3)).
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_create_addr_space(3),
|
||||||
|
unw_get_proc_name(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.
|
|
@ -0,0 +1,126 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_GET\\_PROC\\_NAME" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_get_proc_name
|
||||||
|
\-\- get name of current procedure
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_get_proc_name(unw_cursor_t *cp,
|
||||||
|
char *bufp,
|
||||||
|
size_t
|
||||||
|
len,
|
||||||
|
unw_word_t *offp);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_get_proc_name()
|
||||||
|
routine returns the name of the
|
||||||
|
procedure that created the stack frame identified by argument
|
||||||
|
cp\&.
|
||||||
|
The bufp
|
||||||
|
argument is a pointer to a character buffer
|
||||||
|
that is at least len
|
||||||
|
bytes long. This buffer is used to return
|
||||||
|
the name of the procedure. The offp
|
||||||
|
argument is a pointer to a
|
||||||
|
word that is used to return the byte\-offset of the instruction\-pointer
|
||||||
|
saved in the stack frame identified by cp,
|
||||||
|
relative to the start
|
||||||
|
of the procedure. For example, if procedure foo()
|
||||||
|
starts at
|
||||||
|
address 0x40003000, then invoking unw_get_proc_name()
|
||||||
|
on a
|
||||||
|
stack frame with an instruction\-pointer value of 0x40003080 would
|
||||||
|
return a value of 0x80 in the word pointed to by offp
|
||||||
|
(assuming
|
||||||
|
the procedure is at least 0x80 bytes long).
|
||||||
|
.PP
|
||||||
|
Note that on some platforms there is no reliable way to distinguish
|
||||||
|
between procedure names and ordinary labels. Furthermore, if symbol
|
||||||
|
information has been stripped from a program, procedure names may be
|
||||||
|
completely unavailable or may be limited to those exported via a
|
||||||
|
dynamic symbol table. In such cases, unw_get_proc_name()
|
||||||
|
may return the name of a label or a preceeding (nearby) procedure.
|
||||||
|
However, the offset returned through offp
|
||||||
|
is always relative to
|
||||||
|
the returned name, which ensures that the value (address) of the
|
||||||
|
returned name plus the returned offset will always be equal to the
|
||||||
|
instruction\-pointer of the stack frame identified by cp\&.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_get_proc_name()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_get_proc_name()
|
||||||
|
is thread\-safe but \fInot\fP
|
||||||
|
safe to
|
||||||
|
use from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH ERRORS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.TP
|
||||||
|
UNW_EUNSPEC
|
||||||
|
An unspecified error occurred.
|
||||||
|
.TP
|
||||||
|
UNW_ENOINFO
|
||||||
|
Libunwind
|
||||||
|
was unable to determine
|
||||||
|
the name of the procedure.
|
||||||
|
.TP
|
||||||
|
UNW_ENOMME
|
||||||
|
The procedure name is too long to fit
|
||||||
|
in the buffer provided. A truncated version of the name has been
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
In addition, unw_get_proc_name()
|
||||||
|
may return any error
|
||||||
|
returned by the access_mem()
|
||||||
|
call\-back (see
|
||||||
|
unw_create_addr_space(3)).
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_get_proc_info(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.
|
|
@ -0,0 +1,116 @@
|
||||||
|
'\" 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.
|
|
@ -0,0 +1,73 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:06 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_GETCONTEXT" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_getcontext
|
||||||
|
\-\- get initial machine\-state
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_getcontext(unw_context_t *ucp);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_getcontext()
|
||||||
|
routine initializes the context structure
|
||||||
|
pointed to by ucp
|
||||||
|
with the machine\-state of the call\-site. The
|
||||||
|
exact set of registers stored by 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.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_getcontext()
|
||||||
|
returns 0.
|
||||||
|
Otherwise, a value of \-1 is returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_getcontext()
|
||||||
|
is thread\-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_init_local(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.
|
|
@ -0,0 +1,123 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_INIT\\_LOCAL" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_init_local
|
||||||
|
\-\- initialize cursor for local unwinding
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_init_local(unw_cursor_t *c,
|
||||||
|
unw_context_t *ctxt);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_init_local()
|
||||||
|
routine initializes the unwind cursor
|
||||||
|
pointed to by c
|
||||||
|
with the machine\-state in the context structure
|
||||||
|
pointed to by ctxt\&.
|
||||||
|
As such, the machine\-state pointed to by
|
||||||
|
ctxt
|
||||||
|
identifies the initial stack frame at which unwinding
|
||||||
|
starts. The machine\-state must remain valid for the duration for
|
||||||
|
which the cursor c
|
||||||
|
is in use.
|
||||||
|
.PP
|
||||||
|
The unw_init_local()
|
||||||
|
routine can be used only for unwinding in
|
||||||
|
the address space of the current process (i.e., for local unwinding).
|
||||||
|
For all other cases, unw_init_remote()
|
||||||
|
must be used instead.
|
||||||
|
From a behavioral point of view, the call:
|
||||||
|
.PP
|
||||||
|
.Vb
|
||||||
|
ret = unw_init_local(&cursor, &ucontext);
|
||||||
|
.Ve
|
||||||
|
is equivalent to:
|
||||||
|
.PP
|
||||||
|
.Vb
|
||||||
|
ret = unw_init_remote(&cursor, unw_local_addr_space,
|
||||||
|
&ucontext);
|
||||||
|
.Ve
|
||||||
|
However, unwind performance may be better when using
|
||||||
|
unw_init_local().
|
||||||
|
Also, unw_init_local()
|
||||||
|
is
|
||||||
|
available even when UNW_LOCAL_ONLY
|
||||||
|
has been defined before
|
||||||
|
including <libunwind.h>,
|
||||||
|
whereas unw_init_remote()
|
||||||
|
is not.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_init_local()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_init_local()
|
||||||
|
is thread\-safe as well as safe to use from a
|
||||||
|
signal handler.
|
||||||
|
.PP
|
||||||
|
.SH ERRORS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.TP
|
||||||
|
UNW_EINVAL
|
||||||
|
unw_init_local()
|
||||||
|
was called in a
|
||||||
|
version of libunwind
|
||||||
|
which supports remote unwinding only
|
||||||
|
(this normally happens when calling unw_init_local()
|
||||||
|
for a
|
||||||
|
cross\-platform version of libunwind).
|
||||||
|
.TP
|
||||||
|
UNW_EUNSPEC
|
||||||
|
An unspecified error occurred.
|
||||||
|
.TP
|
||||||
|
UNW_EBADREG
|
||||||
|
A register needed by unw_init_local()
|
||||||
|
wasn\&'t accessible.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_init_remote(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.
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 12 14:07:43 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:02 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,11 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "UNW\\_INIT\\_REMOTE" "3" "12 March 2003" "Programming Library " "Programming Library "
|
.TH "UNW\\_INIT\\_REMOTE" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
unw_init_remote
|
||||||
.PP
|
\-\- initialize cursor for remote unwinding
|
||||||
unw_init_remote \-\- initialize cursor for remote unwinding
|
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:06 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_IS\\_FPREG" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_is_fpreg
|
||||||
|
\-\- check if a register is a floating\-point register
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_is_fpreg(unw_regnum_t
|
||||||
|
reg);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_is_fpreg()
|
||||||
|
routine checks whether register number
|
||||||
|
reg
|
||||||
|
is a floating\-point register.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_is_fpreg()
|
||||||
|
routine returns a non\-zero value if
|
||||||
|
reg
|
||||||
|
is a floating\-point register. Otherwise, it returns a value
|
||||||
|
of 0.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_is_fpreg()
|
||||||
|
is thread\-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_get_reg(3),
|
||||||
|
unw_set_reg(3),
|
||||||
|
unw_get_fpreg(3),
|
||||||
|
unw_set_fpreg(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.
|
|
@ -0,0 +1,92 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:06 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_IS\\_SIGNAL\\_FRAME" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_is_signal_frame
|
||||||
|
\-\- check if current frame is a signal frame
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_is_signal_frame(unw_cursor_t *cp);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_is_signal_frame()
|
||||||
|
routine returns a positive value
|
||||||
|
if the current frame identified by 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.
|
||||||
|
.PP
|
||||||
|
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.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, 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.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_is_signal_frame()
|
||||||
|
is thread\-safe as well as safe to use
|
||||||
|
from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH ERRORS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.TP
|
||||||
|
UNW_ENOINFO
|
||||||
|
Libunwind
|
||||||
|
is unable to determine
|
||||||
|
whether or not the current frame is a signal frame.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_get_reg(3),
|
||||||
|
unw_set_reg(3),
|
||||||
|
unw_get_fpreg(3),
|
||||||
|
unw_set_fpreg(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.
|
|
@ -0,0 +1,72 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:03 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_REGNAME" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_regname
|
||||||
|
\-\- get register name
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
const char *unw_regname(unw_regnum_t
|
||||||
|
regnum);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_regname()
|
||||||
|
routine returns a printable name for
|
||||||
|
register regnum\&.
|
||||||
|
If regnum
|
||||||
|
is an invalid or otherwise
|
||||||
|
unrecognized register number, a string consisting of three question
|
||||||
|
marks is returned. The returned string is statically allocated and
|
||||||
|
therefore guaranteed to remain valid until the application terminates.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_regname()
|
||||||
|
routine cannot fail and always returns a
|
||||||
|
valid (non\-NULL)
|
||||||
|
string.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_regname()
|
||||||
|
routine is thread\-safe as well as safe to
|
||||||
|
use from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(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.
|
|
@ -1,5 +1,5 @@
|
||||||
'\" t
|
'\" t
|
||||||
.\" Manual page created with latex2man on Wed Mar 12 11:39:23 PST 2003
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:03 PST 2003
|
||||||
.\" NOTE: This file is generated, DO NOT EDIT.
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
.de Vb
|
.de Vb
|
||||||
.ft CW
|
.ft CW
|
||||||
|
@ -10,11 +10,10 @@
|
||||||
|
|
||||||
.fi
|
.fi
|
||||||
..
|
..
|
||||||
.TH "UNW\\_RESUME" "3" "12 March 2003" "Programming Library " "Programming Library "
|
.TH "UNW\\_RESUME" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
unw_resume
|
||||||
.PP
|
\-\- resume execution in a particular stack frame
|
||||||
unw_resume \-\- resume execution in a particular stack frame
|
|
||||||
.PP
|
.PP
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,122 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:18:03 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_SET\\_CACHING\\_POLICY" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_set_caching_policy
|
||||||
|
\-\- set unwind caching policy
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_set_caching_policy(unw_addr_space_t
|
||||||
|
as,
|
||||||
|
unw_caching_policy_t
|
||||||
|
policy);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_set_caching_policy()
|
||||||
|
routine sets the caching policy
|
||||||
|
of address space as
|
||||||
|
to the policy specified by argument
|
||||||
|
policy\&.
|
||||||
|
The policy
|
||||||
|
argument can take one of three
|
||||||
|
possible values:
|
||||||
|
.TP
|
||||||
|
UNW_CACHE_NONE
|
||||||
|
Turns off caching completely. This
|
||||||
|
also implicitly flushes the contents of all caches as if
|
||||||
|
unw_flush_cache()
|
||||||
|
had been called.
|
||||||
|
.TP
|
||||||
|
UNW_CACHE_GLOBAL
|
||||||
|
Enables caching using a global cache
|
||||||
|
that is shared by all threads. If global caching is unavailable or
|
||||||
|
unsupported, libunwind
|
||||||
|
may fall back on using a per\-thread
|
||||||
|
cache, as if UNW_CACHE_PER_THREAD
|
||||||
|
had been specified.
|
||||||
|
.TP
|
||||||
|
UNW_CACHE_PER_THREAD
|
||||||
|
Enables caching using
|
||||||
|
thread\-local caches. If a thread\-local caching are unavailable or
|
||||||
|
unsupported, libunwind
|
||||||
|
may fall back on using a global cache,
|
||||||
|
as if UNW_CACHE_GLOBAL
|
||||||
|
had been specified.
|
||||||
|
.PP
|
||||||
|
If caching is enabled, an application must be prepared to make
|
||||||
|
appropriate calls to unw_flush_cache()
|
||||||
|
whenever the target
|
||||||
|
changes in a way that could affect the validity of cached information.
|
||||||
|
For example, after unloading (removing) a shared library,
|
||||||
|
unw_flush_cache()
|
||||||
|
would have to be called (at least) for the
|
||||||
|
address\-range that was covered by the shared library.
|
||||||
|
.PP
|
||||||
|
For address spaces created via unw_create_addr_space(3),
|
||||||
|
caching is turned off by default. For the local address space
|
||||||
|
unw_local_addr_space,
|
||||||
|
caching is turned on by default.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_set_caching_policy()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_set_caching_policy()
|
||||||
|
is thread\-safe but \fInot\fP
|
||||||
|
safe
|
||||||
|
to use from a signal handler.
|
||||||
|
.PP
|
||||||
|
.SH ERRORS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.TP
|
||||||
|
UNW_ENOMEM
|
||||||
|
The desired caching policy could not be
|
||||||
|
established because the application is out of memory.
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_create_addr_space(3),
|
||||||
|
unw_flush_cache(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.
|
|
@ -0,0 +1,121 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:06 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_SET\\_FPREG" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_set_fpreg
|
||||||
|
\-\- set contents of floating\-point register
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_set_fpreg(unw_cursor_t *cp,
|
||||||
|
unw_regnum_t
|
||||||
|
reg,
|
||||||
|
unw_fpreg_t
|
||||||
|
val);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_set_fpreg()
|
||||||
|
routine sets the value of register
|
||||||
|
reg
|
||||||
|
in the stack frame identified by cursor cp
|
||||||
|
to the
|
||||||
|
value passed in val\&.
|
||||||
|
.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_set_fpreg()
|
||||||
|
can only write the contents of
|
||||||
|
floating\-point registers. See unw_set_reg(3)
|
||||||
|
for a way to
|
||||||
|
write registers which fit in a single word.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_set_fpreg()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_set_fpreg()
|
||||||
|
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 write a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
.TP
|
||||||
|
UNW_EREADONLY
|
||||||
|
An attempt was made to write to a
|
||||||
|
read\-only register.
|
||||||
|
.PP
|
||||||
|
In addition, unw_set_fpreg()
|
||||||
|
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_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.
|
|
@ -0,0 +1,121 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:22:56 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_SET\\_REG" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_set_reg
|
||||||
|
\-\- set register contents
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_set_reg(unw_cursor_t *cp,
|
||||||
|
unw_regnum_t
|
||||||
|
reg,
|
||||||
|
unw_word_t
|
||||||
|
val);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_set_reg()
|
||||||
|
routine sets the value of register
|
||||||
|
reg
|
||||||
|
in the stack frame identified by cursor cp
|
||||||
|
to the
|
||||||
|
value passed in val\&.
|
||||||
|
.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_set_reg()
|
||||||
|
can only write the contents of
|
||||||
|
registers whose values fit in a single word. See
|
||||||
|
unw_set_fpreg(3)
|
||||||
|
for a way to write registers which do not
|
||||||
|
fit this constraint.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, unw_set_reg()
|
||||||
|
returns 0.
|
||||||
|
Otherwise the negative value of one of the error\-codes below is
|
||||||
|
returned.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_set_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 write a register
|
||||||
|
that is either invalid or not accessible in the current frame.
|
||||||
|
.TP
|
||||||
|
UNW_EREADONLY
|
||||||
|
An attempt was made to write to a
|
||||||
|
read\-only register.
|
||||||
|
.PP
|
||||||
|
In addition, unw_set_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_reg(3),
|
||||||
|
unw_is_signal_frame(3),
|
||||||
|
unw_set_fpreg(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.
|
109
doc/unw_step.man
109
doc/unw_step.man
|
@ -0,0 +1,109 @@
|
||||||
|
'\" t
|
||||||
|
.\" Manual page created with latex2man on Mon Mar 31 14:25:06 PST 2003
|
||||||
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
||||||
|
.de Vb
|
||||||
|
.ft CW
|
||||||
|
.nf
|
||||||
|
..
|
||||||
|
.de Ve
|
||||||
|
.ft R
|
||||||
|
|
||||||
|
.fi
|
||||||
|
..
|
||||||
|
.TH "UNW\\_STEP" "3" "31 March 2003" "Programming Library " "Programming Library "
|
||||||
|
.SH NAME
|
||||||
|
unw_step
|
||||||
|
\-\- advance to next stack frame
|
||||||
|
.PP
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.PP
|
||||||
|
#include <libunwind.h>
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
int
|
||||||
|
unw_step(unw_cursor_t *cp);
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.PP
|
||||||
|
The unw_step()
|
||||||
|
routine advances the unwind cursor cp
|
||||||
|
to
|
||||||
|
the next older, less deeply nested stack frame.
|
||||||
|
.PP
|
||||||
|
.SH RETURN VALUE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
On successful completion, 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.
|
||||||
|
.PP
|
||||||
|
.SH THREAD AND SIGNAL SAFETY
|
||||||
|
|
||||||
|
.PP
|
||||||
|
unw_step()
|
||||||
|
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_ENOINFO
|
||||||
|
Libunwind
|
||||||
|
was unable to locate the
|
||||||
|
unwind\-info needed to complete the operation.
|
||||||
|
.TP
|
||||||
|
UNW_EBADVERSION
|
||||||
|
The unwind\-info needed to complete the
|
||||||
|
operation has a version or a format that is not understood by
|
||||||
|
libunwind\&.
|
||||||
|
.TP
|
||||||
|
UNW_EINVALIDIP
|
||||||
|
The instruction\-pointer
|
||||||
|
(``program\-counter\&'') of the next stack frame is invalid (e.g., not
|
||||||
|
properly aligned).
|
||||||
|
.TP
|
||||||
|
UNW_EBADFRAME
|
||||||
|
The next stack frame is invalid.
|
||||||
|
.TP
|
||||||
|
UNW_ESTOPUNWIND
|
||||||
|
Returned if a call to
|
||||||
|
find_proc_info()
|
||||||
|
returned \-UNW_ESTOPUNWIND\&.
|
||||||
|
.PP
|
||||||
|
In addition, unw_step()
|
||||||
|
may return any error returned by the
|
||||||
|
find_proc_info(),
|
||||||
|
get_dyn_info_list_addr(),
|
||||||
|
access_mem(),
|
||||||
|
access_reg(),
|
||||||
|
or access_fpreg()
|
||||||
|
call\-backs (see unw_create_addr_space(3)).
|
||||||
|
.PP
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
.PP
|
||||||
|
libunwind(3),
|
||||||
|
unw_create_addr_space(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.
|
Loading…
Reference in a new issue