aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2016-11-04 19:35:49 +0000
committerEd Maste <emaste@FreeBSD.org>2016-11-04 19:35:49 +0000
commitc7fbd7722d7c6640bee5fbf8af3a0b1343eefd8b (patch)
tree18e0c1a254a1a8847f1ddc0342dcaa00d669e420 /gnu
parent73e62e8c5c62e4067714aabb36a6dcbda0f25d91 (diff)
downloadsrc-c7fbd7722d7c6640bee5fbf8af3a0b1343eefd8b.tar.gz
src-c7fbd7722d7c6640bee5fbf8af3a0b1343eefd8b.zip
Connect new LLVM-based libgcc_eh & libgcc_s to the build
Compiler-rt and LLVM's libunwind provide a suitable replacement for libgcc.a, libgcc_eh.a, and libgcc_s.so. Remove the now-unused LLVM_LIBUNWIND block from gnu/lib/libgcc. PR: 213480 [exp-run] Reviewed by: brooks, ed Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8189
Notes
Notes: svn path=/head/; revision=308308
Diffstat (limited to 'gnu')
-rw-r--r--gnu/lib/Makefile6
-rw-r--r--gnu/lib/libgcc/Makefile39
2 files changed, 4 insertions, 41 deletions
diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile
index 0e17c229ed23..036c42f89edb 100644
--- a/gnu/lib/Makefile
+++ b/gnu/lib/Makefile
@@ -3,8 +3,6 @@
.include <src.opts.mk>
SUBDIR= csu
-SUBDIR+= libgcc
-
SUBDIR.${MK_DIALOG}+= libdialog
SUBDIR.${MK_GCC}+= libgcov libgomp
SUBDIR.${MK_SSP}+= libssp
@@ -19,6 +17,10 @@ SUBDIR+= libreadline
SUBDIR+= libregex
.endif
+.if ${MK_LLVM_LIBUNWIND} == "no"
+SUBDIR+= libgcc
+.endif
+
# libsupc++ uses libstdc++ headers, although 'make includes' should
# have taken care of that already.
.if ${MK_GNUCXX} != "no"
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile
index 6c32c367829f..0d53c12c843c 100644
--- a/gnu/lib/libgcc/Makefile
+++ b/gnu/lib/libgcc/Makefile
@@ -4,9 +4,6 @@ PACKAGE= clibs
GCCDIR= ${.CURDIR}/../../../contrib/gcc
GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
CCDIR= ${.CURDIR}/../../usr.bin/cc
-COMPILERRTDIR= ${.CURDIR}/../../../contrib/compiler-rt
-UNWINDINCDIR= ${.CURDIR}/../../../contrib/llvm/projects/libunwind/include
-UNWINDSRCDIR= ${.CURDIR}/../../../contrib/llvm/projects/libunwind/src
SHLIB_NAME= libgcc_s.so.1
SHLIBDIR?= /lib
@@ -74,33 +71,6 @@ LIB2FUNCS+= _floatdi${mode} _floatundi${mode}
LIB2ADD = $(LIB2FUNCS_EXTRA)
LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
-# Additional sources to handle exceptions; overridden by targets as needed.
-.if ${MK_LLVM_LIBUNWIND} != "no"
-
-.PATH: ${COMPILERRTDIR}/lib/builtins
-.PATH: ${UNWINDSRCDIR}
-LIB2ADDEH = gcc_personality_v0.c \
- int_util.c \
- Unwind-EHABI.cpp \
- Unwind-sjlj.c \
- UnwindLevel1-gcc-ext.c \
- UnwindLevel1.c \
- UnwindRegistersRestore.S \
- UnwindRegistersSave.S \
- libunwind.cpp
-
-CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY
-.if empty(CXXFLAGS:M-std=*)
-CXXFLAGS+= -std=c++11
-.endif
-CXXFLAGS+= -fno-rtti
-STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC
-.if ${MK_DIRDEPS_BUILD} == "yes"
-# Avoid dependency on lib/libc++
-CFLAGS+= -I${SRCTOP}/contrib/libc++/include
-.endif
-
-.else # MK_LLVM_LIBUNWIND
.if ${TARGET_CPUARCH} == "arm"
LIB2ADDEH = unwind-arm.c libunwind-arm.S pr-support.c unwind-c.c
@@ -109,8 +79,6 @@ LIB2ADDEH = unwind-dw2.c unwind-dw2-fde-glibc.c unwind-sjlj.c gthr-gnat.c \
unwind-c.c
.endif
-.endif # MK_LLVM_LIBUNWIND
-
LIB2ADDEHSTATIC = $(LIB2ADDEH)
LIB2ADDEHSHARED = $(LIB2ADDEH)
@@ -202,14 +170,7 @@ LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS:S/${sym}//g}
.endif
COMMONHDRS= tm.h tconfig.h options.h gthr-default.h
-.if ${MK_LLVM_LIBUNWIND} != "no"
-# unwind.h is a generated file when MK_LLVM_LIBUNWIND == "no", and a stale
-# copy may be left behind in OBJDIR when switching, so remove it explicitly.
-beforebuild:
- @rm -f ${.OBJDIR}/unwind.h
-.else
COMMONHDRS+= unwind.h
-.endif
#-----------------------------------------------------------------------
#