diff options
author | Ed Maste <emaste@FreeBSD.org> | 2016-10-30 02:57:47 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2016-10-30 02:57:47 +0000 |
commit | c82bd4484c36d6958eca247cd38559b1cbb4e409 (patch) | |
tree | 06ca4c2302cddfbd76a48853dda60cf40b106c34 /lib/libgcc_eh | |
parent | 74a148f46f5d2a74ca4345b3799507b463370028 (diff) | |
download | src-c82bd4484c36d6958eca247cd38559b1cbb4e409.tar.gz src-c82bd4484c36d6958eca247cd38559b1cbb4e409.zip |
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.
Notes
Notes:
svn path=/head/; revision=308100
Diffstat (limited to 'lib/libgcc_eh')
-rw-r--r-- | lib/libgcc_eh/Makefile.inc | 23 |
1 files changed, 14 insertions, 9 deletions
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=*) |