diff options
author | emaste <emaste@FreeBSD.org> | 2016-07-22 17:34:28 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2016-07-22 17:34:28 +0000 |
commit | 5aa5e047c6830259149520f8dec281e51445a349 (patch) | |
tree | 2abc045f4630fb0b34d5a620abbdea44e298b5e0 /gnu/lib | |
parent | f2acc91a2a10293e24f37092986ca685dcfa04e4 (diff) | |
download | FreeBSD-src-5aa5e047c6830259149520f8dec281e51445a349.zip FreeBSD-src-5aa5e047c6830259149520f8dec281e51445a349.tar.gz |
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
Diffstat (limited to 'gnu/lib')
-rw-r--r-- | gnu/lib/libgcc/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile index 10e1c0f..272caf7 100644 --- a/gnu/lib/libgcc/Makefile +++ b/gnu/lib/libgcc/Makefile @@ -89,7 +89,7 @@ LIB2ADDEH = gcc_personality_v0.c \ UnwindRegistersSave.S \ libunwind.cpp -CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} +CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY .if empty(CXXFLAGS:M-std=*) CXXFLAGS+= -std=c++11 .endif |