Home
last modified time | relevance | path

Searched full:unwind (Results 1 – 25 of 832) sorted by relevance

12345678910>>...34

/third_party/libunwind/libunwind/doc/
DNOTES1 The central data structure of the unwind API is the unwind cursor.
2 This structure tracks the register contents. The unwind API defines a
19 file <unwind-ARCH.h>. For example, to get the IA-64-specific register
22 #include <unwind-ia64.h>
27 state is captured by an unwind context (currently the same as
29 captured by an unwind accessor structure, which provides callback
31 unwind information.
40 point in the call-chain (as identified by an unwind cursor). This is
46 Note that it is perfectly legal to make copies of the unwind cursor.
47 This makes it possible, e.g., to obtain an unwind context, modify the
[all …]
Dlibunwind.man16 \-\- a (mostly) platform\-independent unwind API
129 you want to unwind the stack while executing in some function
133 initialize an \fIunwind cursor\fP
139 The unwind cursor can then
151 While it is not possible to directly move the unwind cursor in the
153 achieved by making copies of an unwind cursor. For example, a program
172 Given an unwind cursor, it is possible to read and write the CPU
186 during an unwind operation. Normally, this state consists of the
204 Besides just moving the unwind cursor and reading/writing saved
235 that manages unwind\-info for dynamically
[all …]
Dlibunwind-dynamic.man34 emitting \fIunwind\-info\fP
38 generator must use the dynamic unwind\-info interface provided by
53 into code for which the default unwind\-conventions apply and for such
54 code, it is not strictly necessary to register dynamic unwind\-info.
76 reason, the dynamic unwind\-info interface of libunwind
81 by the dynamic unwind\-info is the point at which the stack\-pointer
108 A runtime code\-generator registers the dynamic unwind\-info of a
145 The format of the unwind\-info.
153 structure for every possible unwind\-info format:
175 This is the preferred dynamic unwind\-info format and it is generally
[all …]
Dunw_get_proc_info.man47 (e.g., due to lack of unwind information), the start_ip
55 cannot be determined (e.g., due to lack of unwind information),
93 The format of the unwind\-info for this
94 procedure. If the unwind\-info consists of dynamic procedure info,
98 unwind\-info consists of a (target\-specific) unwind table, it is
113 The size of the unwind\-info
125 The pointer to the unwind\-info.
126 If no unwind info is available, this member must be set to
176 unwind\-info for the procedure.
179 The unwind\-info for the procedure has
Dunw_get_proc_info.tex28 (e.g., due to lack of unwind information), the \Var{start\_ip}
32 cannot be determined (e.g., due to lack of unwind information),
52 \item[\Type{int} \Var{format}] The format of the unwind-info for this
53 procedure. If the unwind-info consists of dynamic procedure info,
55 unwind-info consists of a (target-specific) unwind table, it is
62 \item[\Type{int} \Var{unwind\_info\_size}] The size of the unwind-info
68 \item[\Type{void~*}\Var{unwind\_info}] The pointer to the unwind-info.
69 If no unwind info is available, this member must be set to
101 unwind-info for the procedure.
102 \item[\Const{UNW\_EBADVERSION}] The unwind-info for the procedure has
Dlibunwind.tex8 …gramming Library}{Introduction to libunwind}libunwind -- a (mostly) platform-independent unwind API
70 you want to unwind the stack while executing in some function
73 initialize an \emph{unwind~cursor} based on this snapshot. This is
76 current activation of function \Func{F}(). The unwind cursor can then
85 While it is not possible to directly move the unwind cursor in the
87 achieved by making copies of an unwind cursor. For example, a program
99 Given an unwind cursor, it is possible to read and write the CPU
107 during an unwind operation. Normally, this state consists of the
120 Besides just moving the unwind cursor and reading/writing saved
141 the program (normally \Opt{-l}\File{unwind}). Furthermore, the
[all …]
Dlibunwind-dynamic.tex8 …amic}{David Mosberger-Tang}{Programming Library}{Introduction to dynamic unwind-info}libunwind-dyn…
23 emitting \emph{unwind-info} which provides the minimum amount of
26 generator must use the dynamic unwind-info interface provided by
38 into code for which the default unwind-conventions apply and for such
39 code, it is not strictly necessary to register dynamic unwind-info.
58 reason, the dynamic unwind-info interface of \Prog{libunwind} makes no
62 by the dynamic unwind-info is the point at which the stack-pointer
86 A runtime code-generator registers the dynamic unwind-info of a
107 \item[\Type{int32\_t} \Var{format}] The format of the unwind-info.
112 structure for every possible unwind-info format:
[all …]
Dlibunwind-setjmp.man50 The unwind\-setjmp
54 the same name. The main advantage of using the unwind\-setjmp
72 unwind\-setjmp
84 correct unwind information. On newer platforms, this is rarely an
88 have correct unwind information
91 to request the generation of unwind
Dlibunwind-setjmp.tex25 The \Prog{unwind-setjmp} library offers a \Prog{libunwind}-based
28 the same name. The main advantage of using the \Prog{unwind-setjmp}
39 \Prog{unwind-setjmp} library is beneficial primarily in applications
47 correct unwind information. On newer platforms, this is rarely an
50 unwound during a \Func{longjmp}() have correct unwind information
52 \Opt{-funwind-tables}, to request the generation of unwind
66 \item[\Opt{-l}\File{unwind-setjmp}] The library an application should
/third_party/mesa3d/include/android_stub/backtrace/
DBacktrace.h39 // Something failed while trying to perform the setup to begin the unwind.
41 // There is no map information to use with the unwind.
45 // The thread to unwind has disappeared before the unwind can begin.
47 // The thread to unwind has not responded to a signal in a timely manner.
51 // Attempt to do an offline unwind without a context.
63 // Unwind information is incorrect.
65 // Unwind information stopped due to sp/pc repeating.
67 // Unwind information stopped due to invalid elf.
132 virtual bool Unwind(size_t num_ignore_frames, void* context = nullptr) = 0;
134 static bool Unwind(unwindstack::Regs* regs, BacktraceMap* back_map,
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/ARM/MCTargetDesc/
DARMUnwindOpAsm.h1 //===-- ARMUnwindOpAsm.h - ARM Unwind Opcodes Assembler ---------*- C++ -*-===//
9 // This file declares the unwind opcode assembler for ARM exception handling
36 /// Reset the unwind opcode assembler.
49 /// Emit unwind opcodes for .save directives
52 /// Emit unwind opcodes for .vsave directives
55 /// Emit unwind opcodes to copy address from source register to $sp.
58 /// Emit unwind opcodes to add $sp with an offset.
61 /// Emit unwind raw opcodes
67 /// Finalize the unwind opcode sequence for EmitBytes()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/MC/
DMCWin64EH.cpp29 llvm_unreachable("Unsupported unwind code"); in CountOfUnwindCodes()
68 llvm_unreachable("Unsupported unwind code"); in EmitUnwindCode()
194 // Emit unwind instructions (in reverse order). in EmitUnwindInfo()
204 // the array will be one longer than indicated by the count of unwind codes in EmitUnwindInfo()
219 // a chained unwind info, if there is no handler, and if there are fewer in EmitUnwindInfo()
220 // than 2 slots used in the unwind code array, we have to pad to 8 bytes. in EmitUnwindInfo()
226 // Emit the unwind info structs first. in Emit()
263 report_fatal_error("Failed to evaluate function length in SEH unwind info"); in GetAbsDifference()
273 llvm_unreachable("Unsupported ARM64 unwind code"); in ARM64CountOfUnwindCodes()
330 // Unwind opcode encodings and restrictions are documented at
[all …]
/third_party/skia/src/sksl/analysis/
DSkSLCheckProgramUnrolledSize.cpp64 // Unwind our stack into a string. in CheckProgramUnrolledSize()
66 for (auto unwind = fStack.rbegin(); unwind != fStack.rend(); ++unwind) { in CheckProgramUnrolledSize() local
67 msg = "\n\t" + (*unwind)->description() + msg; in CheckProgramUnrolledSize()
68 if (*unwind == decl) { in CheckProgramUnrolledSize()
85 for (auto unwind = fStack.begin(); unwind != fStack.end(); ++unwind) { in CheckProgramUnrolledSize() local
86 msg += "\n\t" + (*unwind)->description(); in CheckProgramUnrolledSize()
/third_party/mesa3d/.gitlab-ci/container/
Dcreate-android-cross-file.sh13 # and allowing it in code generation means we get unwind symbols that break
19 …-x86_64/bin/${arch2}29-clang', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-…
20 …86_64/bin/${arch2}29-clang++', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-…
/third_party/libunwind/libunwind/include/
Dlibunwind-common.h1 /* libunwind - a platform-independent unwind library
57 /* Error codes. The unwind routines return the *negated* values of
70 UNW_EBADVERSION, /* unwind info has unsupported version */
71 UNW_ENOINFO /* no unwind info found */
110 /* The unwind cursor starts at the youngest (most deeply nested) frame
156 int format; /* unwind-info format (arch-specific) */
158 void *unwind_info; /* unwind-info (arch-specific) */
170 unwind another process through the ptrace() interface. */
173 /* Look up the unwind info associated with instruction-pointer IP.
179 the unwind info returned in by a previous call to
[all …]
Dlibunwind-common.h.in1 /* libunwind - a platform-independent unwind library
57 /* Error codes. The unwind routines return the *negated* values of
70 UNW_EBADVERSION, /* unwind info has unsupported version */
71 UNW_ENOINFO /* no unwind info found */
110 /* The unwind cursor starts at the youngest (most deeply nested) frame
156 int format; /* unwind-info format (arch-specific) */
158 void *unwind_info; /* unwind-info (arch-specific) */
170 unwind another process through the ptrace() interface. */
173 /* Look up the unwind info associated with instruction-pointer IP.
179 the unwind info returned in by a previous call to
[all …]
Dlibunwind-dynamic.h1 /* libunwind - a platform-independent unwind library
30 context of the unwind target, whereas the rest of the unwind API is
31 used in context of the process that is doing the unwind (which may be
62 UNW_DYN_STOP = 0, /* end-of-unwind-info marker */
70 UNW_DYN_ALIAS /* get unwind info from an alias */
79 UNW_INFO_FORMAT_ARM_EXIDX, /* ARM specific unwind info */
169 /* Register the unwind info for a single procedure.
173 /* Cancel the unwind info for a single procedure.
Dlibunwind-ia64.h1 /* libunwind - a platform-independent unwind library
58 relatively cheap and unwind-state copying is relatively rare, so we
150 /* On IA-64, we can directly use ucontext_t as the unwind context. */
168 /* This is a helper routine to search an ia64 unwind table. If the
170 address-space, the memory for the unwind-info will be allocated
181 an IA-64 unwind table. If the entry exists in the table, the
186 /* This is a helper routine to obtain the kernel-unwind info. It is
/third_party/node/deps/v8/src/diagnostics/
Dunwinding-info-win64.cc217 // ARM64 unwind codes are defined in below doc.
218 // https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling#unwind-codes
259 // Generate an unwind code for "stp fp, lr, [sp, #pre_index_offset]!".
261 // See unwind code save_fplr_x in in MakeOpSaveFpLrX()
262 // https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling#unwind-codes in MakeOpSaveFpLrX()
274 // Generate an unwind code for "sub sp, sp, #stack_space".
276 // See unwind code alloc_s in in MakeOpAllocS()
277 // https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling#unwind-codes in MakeOpAllocS()
284 // Generate the second byte of the unwind code for "add fp, sp, #offset".
286 // See unwind code add_fp in in MakeOpAddFpArgument()
[all …]
/third_party/skia/buildtools/third_party/libunwind/
DBUILD.gn12 # ValueAsBitPattern in Unwind-EHABI.cpp is only used on Debug builds.
15 # libunwind expects to be compiled with unwind tables so it can
16 # unwind its own frames.
42 "trunk/src/Unwind-EHABI.cpp",
46 "trunk/src/Unwind-sjlj.c",
/third_party/libunwind/libunwind/src/ia64/
Ddyn_info_list.S4 * Create a special unwind-table entry which makes it easy for an
7 * the first in the unwind-table.
19 .section .IA_64.unwind, "ao", "unwind"
DGtables.c1 /* libunwind - a platform-independent unwind library
81 /* Lookup an unwind-table entry in remote memory. Returns 1 if an
293 unwind info => use default conventions (i.e., this is NOT an in unw_search_ia64_unwind_table()
309 /* Read the header word. Note: the actual unwind-info is always in unw_search_ia64_unwind_table()
328 /* If we must have the unwind-info, return it. Also, if we are in in unw_search_ia64_unwind_table()
329 the local address-space, return the unwind-info because it's so in unw_search_ia64_unwind_table()
339 /* Internalize unwind info. Note: since we're doing this in unw_search_ia64_unwind_table()
421 /* Determine length of kernel's unwind table & relocate its entries. */ in get_kernel_table()
493 /* See if PC falls into one of the loaded segments. Find the unwind in callback()
514 /* normal case: unwind table is inside text segment */ in callback()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/
DWebAssemblyCFGStackify.cpp19 /// In case we use exceptions, this pass also fixes mismatches in unwind
38 STATISTIC(NumUnwindMismatches, "Number of EH pad unwind mismatches found");
79 // - target for rethrows that need to unwind to the caller, but are trapped
447 // Compute the nearest common dominator of all unwind predecessors in placeTryMarker()
731 // mismatches in unwind destinations. There are two kinds of mismatches we in fixUnwindMismatches()
734 // 1. When an instruction may throw, but the EH pad it will unwind to can be in fixUnwindMismatches()
739 // call @foo (if it throws, unwind to bb2) in fixUnwindMismatches()
741 // call @bar (if it throws, unwind to bb3) in fixUnwindMismatches()
754 // call @bar (if it throws, unwind to bb3) in fixUnwindMismatches()
764 // a. Split the target unwind EH pad (here bb3) so that the handler body is in fixUnwindMismatches()
[all …]
/third_party/libunwind/libunwind/src/
DMakefile.am28 pkgconfig_DATA += unwind/libunwind.pc
118 unwind/Backtrace.c unwind/DeleteException.c \
119 unwind/FindEnclosingFunction.c unwind/ForcedUnwind.c \
120 unwind/GetBSP.c unwind/GetCFA.c unwind/GetDataRelBase.c \
121 unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c \
122 unwind/GetRegionStart.c unwind/GetTextRelBase.c \
123 unwind/RaiseException.c unwind/Resume.c \
124 unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c \
125 unwind/GetIPInfo.c
779 noinst_HEADERS += unwind/unwind-internal.h
/third_party/libunwind/libunwind/tests/
DMakefile.am5 run-check-namespace run-coredump-unwind \
6 run-coredump-unwind-mdi check-namespace.sh.in \
43 …check_PROGRAMS_arch += Gx64-test-dwarf-expressions Lx64-test-dwarf-expressions x64-unwind-badjmp-s…
77 check_SCRIPTS_cdep += run-coredump-unwind
78 noinst_PROGRAMS_cdep += crasher test-coredump-unwind
81 check_SCRIPTS_cdep += run-coredump-unwind-mdi
91 @echo "########## Performance of fast unwind:"
165 x64_unwind_badjmp_signal_frame_SOURCES = x64-unwind-badjmp-signal-frame.c

12345678910>>...34