From 5aa5e047c6830259149520f8dec281e51445a349 Mon Sep 17 00:00:00 2001 From: emaste Date: Fri, 22 Jul 2016 17:34:28 +0000 Subject: 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 --- gnu/lib/libgcc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/lib') 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 -- cgit v1.1