mirror of
https://github.com/intel/linux-sgx
synced 2026-06-08 14:49:32 +00:00
c505e6129a
Added support for Reproducible Enclave Build using Docker file. Added support for Intel AVX-512 instructions and Intel SHA Extensions New Instructions (SHA-NI) in trusted libraries. Support both EPID and ECDSA based quote for quoting related interfaces in sgx_uae_service library. Updated key exchange library to support both EPID and ECDSA based remote attestation. Support new interface to check platform information blob from remote attestation response message. Fixed bugs. Signed-off-by: Li, Xun <xun.li@intel.com>
81 lines
2.9 KiB
TeX
81 lines
2.9 KiB
TeX
\documentclass{article}
|
|
\usepackage[fancyhdr,pdf]{latex2man}
|
|
|
|
\input{common.tex}
|
|
|
|
\begin{document}
|
|
|
|
\begin{Name}{3}{unw\_init\_local}{David Mosberger-Tang}{Programming Library}{unw\_init\_local}unw\_init\_local -- initialize cursor for local unwinding
|
|
\end{Name}
|
|
|
|
\section{Synopsis}
|
|
|
|
\File{\#include $<$libunwind.h$>$}\\
|
|
|
|
\Type{int} \Func{unw\_init\_local}(\Type{unw\_cursor\_t~*}\Var{c}, \Type{unw\_context\_t~*}\Var{ctxt});\\
|
|
\Type{int} \Func{unw\_init\_local2}(\Type{unw\_cursor\_t~*}\Var{c}, \Type{unw\_context\_t~*}\Var{ctxt}, \Type{int} \Var{flag});\\
|
|
|
|
\section{Description}
|
|
|
|
The \Func{unw\_init\_local}() routine initializes the unwind cursor
|
|
pointed to by \Var{c} with the machine-state in the context structure
|
|
pointed to by \Var{ctxt}. As such, the machine-state pointed to by
|
|
\Var{ctxt} identifies the initial stack frame at which unwinding
|
|
starts. The machine-state is expected to be one provided by a call to
|
|
unw_getcontext; as such, the instruction pointer may point to the
|
|
instruction after the last instruction of a function, and libunwind
|
|
will back-up the instruction pointer before beginning a walk up the
|
|
call stack. The machine-state must remain valid for the duration for
|
|
which the cursor \Var{c} is in use.
|
|
|
|
The \Func{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, \Func{unw\_init\_remote}() must be used instead.
|
|
However, unwind performance may be better when using
|
|
\Func{unw\_init\_local}(). Also, \Func{unw\_init\_local}() is
|
|
available even when \Const{UNW\_LOCAL\_ONLY} has been defined before
|
|
including \File{$<$libunwind.h$>$}, whereas \Func{unw\_init\_remote}()
|
|
is not.
|
|
|
|
If the unw_context_t is known to be a signal frame (i.e., from the
|
|
third argument in a sigaction handler on linux),
|
|
\Func{unw\_init\_local2}() should be used for correct initialization
|
|
on some platforms, passing the UNW_INIT_SIGNAL_FRAME flag.
|
|
|
|
\section{Return Value}
|
|
|
|
On successful completion, \Func{unw\_init\_local}() returns 0.
|
|
Otherwise the negative value of one of the error-codes below is
|
|
returned.
|
|
|
|
\section{Thread and Signal Safety}
|
|
|
|
\Func{unw\_init\_local}() is thread-safe as well as safe to use from a
|
|
signal handler.
|
|
|
|
\section{Errors}
|
|
|
|
\begin{Description}
|
|
\item[\Const{UNW\_EINVAL}] \Func{unw\_init\_local}() was called in a
|
|
version of \Prog{libunwind} which supports remote unwinding only
|
|
(this normally happens when calling \Func{unw\_init\_local}() for a
|
|
cross-platform version of \Prog{libunwind}).
|
|
\item[\Const{UNW\_EUNSPEC}] An unspecified error occurred.
|
|
\item[\Const{UNW\_EBADREG}] A register needed by \Func{unw\_init\_local}()
|
|
wasn't accessible.
|
|
\end{Description}
|
|
|
|
\section{See Also}
|
|
|
|
\SeeAlso{libunwind(3)}, \SeeAlso{unw\_init\_remote(3)}
|
|
|
|
\section{Author}
|
|
|
|
\noindent
|
|
David Mosberger-Tang\\
|
|
Email: \Email{dmosberger@gmail.com}\\
|
|
WWW: \URL{http://www.nongnu.org/libunwind/}.
|
|
\LatexManEnd
|
|
|
|
\end{document}
|