mirror of https://github.com/mkerrisk/man-pages
getunwind.2: New page documenting getunwind(2)
Taken from Red Hat downstream man pages set Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
625526ef06
commit
4288c61864
|
@ -0,0 +1,91 @@
|
|||
.\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
|
||||
.\" Written by Marcela Maslanova <mmaslano@redhat.com>
|
||||
.\"
|
||||
.\" Permission is granted to make and distribute verbatim copies of this
|
||||
.\" manual provided the copyright notice and this permission notice are
|
||||
.\" preserved on all copies.
|
||||
.\"
|
||||
.\" Permission is granted to copy and distribute modified versions of this
|
||||
.\" manual under the conditions for verbatim copying, provided that the
|
||||
.\" entire resulting derived work is distributed under the terms of a
|
||||
.\" permission notice identical to this one.
|
||||
.\"
|
||||
.\" Since the Linux kernel and libraries are constantly changing, this
|
||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
||||
.\" responsibility for errors or omissions, or for damages resulting from
|
||||
.\" the use of the information contained herein. The author(s) may not
|
||||
.\" have taken the same level of care in the production of this manual,
|
||||
.\" which is licensed free of charge, as they might when working
|
||||
.\" professionally.
|
||||
.\"
|
||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
||||
.\" the source, must acknowledge the copyright and authors of this work.
|
||||
.\"
|
||||
.\"
|
||||
.TH GETUNWIND 2 "29 August 2006" Linux "Linux System Calls"
|
||||
.SH NAME
|
||||
getunwind \- copy the unwind data to caller's buffer
|
||||
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
.B #include <syscall.h>
|
||||
.B #include <linux/unwind.h>
|
||||
.sp
|
||||
.BI "long getunwind (void " *buf ", size_t " buf_size );
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B sys_getunwind
|
||||
function returns size of unwind table, which describes gate page (kernel code that
|
||||
is mapped into user space).
|
||||
|
||||
The unwind data is copied to the buffer \fIbuf\fR, which has size \fIbuf_size\fR.
|
||||
The data is copied
|
||||
only if \fIbuf_size\fR is greater than or equal to the size of the
|
||||
unwind data and \fIbuf\fR is not NULL.
|
||||
The system call returns the size of the unwind data in both cases.
|
||||
|
||||
The first part of the unwind data contains an unwind table.
|
||||
The rest contains the associated unwind info in random order.
|
||||
The unwind table contains a table looking like:
|
||||
|
||||
.nf
|
||||
u64 start; (64-bit address of start of function)
|
||||
u64 end; (64-bit address of start of function)
|
||||
u64 info; (BUF-relative offset to unwind info)
|
||||
.fi
|
||||
|
||||
An entry with a START address of zero is the end of table.
|
||||
For more information about the format you can see the IA-64
|
||||
Software Conventions and Runtime Architecture.
|
||||
|
||||
.SH "RETURN VALUE"
|
||||
The
|
||||
.B sys_getunwind
|
||||
function returns size of unwind table.
|
||||
|
||||
.SH ERRORS
|
||||
The
|
||||
.B sys_getunwind
|
||||
function fails with
|
||||
.B EFAULT
|
||||
if the unwind info can't be stored in the space specified by
|
||||
the
|
||||
.I buf
|
||||
argument.
|
||||
|
||||
.SH AVAILABILITY
|
||||
This system call is available only on the IA-64 architecture.
|
||||
|
||||
.SH APPLICATION USAGE
|
||||
This system call has been deprecated. It's highly recommended to get at the kernel's
|
||||
unwind info by the gate DSO. The address of the ELF header for this DSO
|
||||
is passed to user level via AT_SYSINFO_EHDR.
|
||||
|
||||
The system call is not available to application programs as a function;
|
||||
it can be called using the
|
||||
.BR syscall (2)
|
||||
function.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR syscall(2),
|
Loading…
Reference in New Issue