Unix for Beginners
Unix Shell Programming
Advanced Unix
Unix Useful References
Unix Useful Resources
Selected Reading
Copyright © 2014 by tutorialspoint
|
getunwind() - Unix, Linux System Call
Advertisements
NAME
getunwind - copy the unwind data to callers buffer
SYNOPSIS
#include <syscall.h>
#include <linux/unwind.h>
long getunwind (void *buf, size_t buf_size);
|
DESCRIPTION
The
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 buf, which has size buf_size.
The data is copied
only if buf_size is greater than or equal to the size of the
unwind data and buf 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:
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)
|
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.
RETURN VALUE
The
sys_getunwind function returns size of unwind table.
ERRORS
The
sys_getunwind function fails with
EFAULT if the unwind info cant be stored in the space specified by
the
buf argument.
AVAILABILITY
This system call is available only on the IA-64 architecture.
APPLICATION USAGE
This system call has been deprecated. Its highly recommended to get at the kernels
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
syscall(2)
function.
SEE ALSO
Advertisements
|
|
|
To Continue Learning Please Login
Login with Google