#
303196 |
|
22-Jul-2016 |
emaste |
MFC libunwind improvements
r302450: libunwind: update to upstream snapshot r272680
The key improvement is that it may be built without cross-unwinding support, which significantly reduces the stack space requirement.
r302456: libunwind: enable only the native unwinder by default
This significantly reduces stack space requirements, and runtimes require only native unwinding.
r302475: libunwind: limit stack usage in unwind cursor
This may be reworked upstream but in the interim should address the stack usage issue reported in the PR.
r303016: llvm-libunwind: use conventional (non-Darwin) X86 register numbers
For historical reasons Darwin/i386 has ebp and esp swapped in the eh_frame register numbering. That is:
Darwin Other Reg # eh_frame eh_frame DWARF ===== ======== ======== ===== 4 ebp esp esp 5 esp ebp ebp
Although the UNW_X86_* constants are not supposed to be coupled to DWARF / eh_frame numbering they are currently conflated in LLVM libunwind, and thus we require the non-Darwin numbering.
PR: 206384 Approved by: re (kib) Sponsored by: The FreeBSD Foundation
|