sparc_stack_read, sparc_stack_write - access a SPARC stack frame
#include <sys/stack.h> void sparc_stack_read(uint64_t *target, uint64_t *to, size_t n); void sparc_stack_write(uint64_t *target, uint64_t *from, size_t n);
The sparc_stack_read() function copies n extended words from address target within a SPARC V9 stack frame to memory address to.
The sparc_stack_write() function copies n extended words from memory address from to address target within a SPARC V9 stack frame.
sparc_stack_read() and sparc_stack_write() can be used to read or write to a SPARC V9 stack frame without triggering an ADI mismatch exception when the ADISTACK security extension is enabled. For more information see adi(3C) and sxadm(8). The caller is responsible for ensuring that the register window for the frame has been spilled to the stack (by executing the flushw instruction, for example).
The sparc_stack_read() and sparc_stack_write() functions are only available with the 64-bit version of libc(3LIB), and then only on SPARC platforms. They are not available with the 32-bit version of this library, nor on x86 platforms.
See attributes(7) for descriptions of the following attributes:
|
adi(3C), adistack_clear_frame(3C), adistack_clear_stack(3C), sxadm(8), attributes(7), standards(7)