From c82bd4484c36d6958eca247cd38559b1cbb4e409 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Sun, 30 Oct 2016 02:57:47 +0000 Subject: compile libunwind c source with -fexceptions When an exception is thrown the unwinder must unwind its own C source (starting with _Unwind_RaiseException in UnwindLevel1.c), so it needs to be built with unwinding data. --- lib/libgcc_eh/Makefile.inc | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'lib/libgcc_eh') diff --git a/lib/libgcc_eh/Makefile.inc b/lib/libgcc_eh/Makefile.inc index 85c77aae5d7b..6337f3890e18 100644 --- a/lib/libgcc_eh/Makefile.inc +++ b/lib/libgcc_eh/Makefile.inc @@ -8,15 +8,20 @@ STATIC_CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN .PATH: ${COMPILERRTDIR}/lib/builtins .PATH: ${UNWINDSRCDIR} -SRCS+= gcc_personality_v0.c -SRCS+= int_util.c -SRCS+= Unwind-EHABI.cpp -SRCS+= Unwind-sjlj.c -SRCS+= UnwindLevel1-gcc-ext.c -SRCS+= UnwindLevel1.c -SRCS+= UnwindRegistersRestore.S -SRCS+= UnwindRegistersSave.S -SRCS+= libunwind.cpp +SRCS_EXC+= gcc_personality_v0.c +SRCS_EXC+= int_util.c +SRCS_EXC+= Unwind-EHABI.cpp +SRCS_EXC+= Unwind-sjlj.c +SRCS_EXC+= UnwindLevel1-gcc-ext.c +SRCS_EXC+= UnwindLevel1.c +SRCS_EXC+= UnwindRegistersRestore.S +SRCS_EXC+= UnwindRegistersSave.S +SRCS_EXC+= libunwind.cpp + +SRCS+= ${SRCS_EXC} +.for file in ${SRCS_EXC:M*.c} +CFLAGS.${file}+= -fexceptions +.endfor CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY .if empty(CXXFLAGS:M-std=*) -- cgit v1.2.3