FreeBSD Bugzilla – Attachment 176085 Details for
Bug 213480
[exp-run] switch to compiler-rt & LLVM libunwind for libgcc_eh.a and libgcc_s.so
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
LLVM libunwind + compiler_rt patch, rebased on r307822
pr213480-rr307822.diff (text/plain), 4.34 KB, created by
Ed Maste
on 2016-10-23 13:29:53 UTC
(
hide
)
Description:
LLVM libunwind + compiler_rt patch, rebased on r307822
Filename:
MIME Type:
Creator:
Ed Maste
Created:
2016-10-23 13:29:53 UTC
Size:
4.34 KB
patch
obsolete
>commit 8e9292cd4a1976968b1736e1e937fef34a60417e >Author: Ed Maste <emaste@freebsd.org> >Date: Thu Oct 20 14:21:28 2016 -0400 > > Connect new libgcc_eh and libgcc_s to the build > > Remove LLVM_LIBUNWIND block from gnu/lib/libgcc > > PR: 213480 [exp-run] > Differential Revision: https://reviews.freebsd.org/D8189 > >diff --git a/Makefile.inc1 b/Makefile.inc1 >index 99918b3..5984916 100644 >--- a/Makefile.inc1 >+++ b/Makefile.inc1 >@@ -1984,7 +1984,7 @@ libraries: .MAKE .PHONY > # > # static libgcc.a prerequisite for shared libc > # >-_prereq_libs= gnu/lib/libgcc lib/libcompiler_rt >+_prereq_libs= lib/libcompiler_rt > .if ${MK_SSP} != "no" > _prereq_libs+= gnu/lib/libssp/libssp_nonshared > .endif >@@ -1996,7 +1996,6 @@ _prereq_libs+= gnu/lib/libssp/libssp_nonshared > # > _startup_libs= gnu/lib/csu > _startup_libs+= lib/csu >-_startup_libs+= gnu/lib/libgcc > _startup_libs+= lib/libcompiler_rt > _startup_libs+= lib/libc > _startup_libs+= lib/libc_nonshared >@@ -2004,11 +2003,27 @@ _startup_libs+= lib/libc_nonshared > _startup_libs+= lib/libcxxrt > .endif > >+.if ${MK_LLVM_LIBUNWIND} != "no" >+_prereq_libs+= lib/libgcc_eh lib/libgcc_s >+_startup_libs+= lib/libgcc_eh lib/libgcc_s >+ >+lib/libgcc_s__L: lib/libc__L >+lib/libgcc_s__L: lib/libc_nonshared__L >+.if ${MK_LIBCPLUSPLUS} != "no" >+lib/libcxxrt__L: lib/libgcc_s__L >+.endif >+ >+.else # MK_LLVM_LIBUNWIND == no >+ >+_prereq_libs+= gnu/lib/libgcc >+_startup_libs+= gnu/lib/libgcc >+ > gnu/lib/libgcc__L: lib/libc__L > gnu/lib/libgcc__L: lib/libc_nonshared__L > .if ${MK_LIBCPLUSPLUS} != "no" > lib/libcxxrt__L: gnu/lib/libgcc__L > .endif >+.endif > > _prebuild_libs= ${_kerberos5_lib_libasn1} \ > ${_kerberos5_lib_libhdb} \ >diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile >index 0e17c22..036c42f 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 3186458..c7a4574 100644 >--- a/gnu/lib/libgcc/Makefile >+++ b/gnu/lib/libgcc/Makefile >@@ -74,33 +74,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 +82,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 +173,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 > > #----------------------------------------------------------------------- > # >diff --git a/lib/Makefile b/lib/Makefile >index 3dc1258..f2f3b85 100644 >--- a/lib/Makefile >+++ b/lib/Makefile >@@ -160,6 +160,8 @@ _libcplusplus= libc++ > > SUBDIR.${MK_EFI}+= libefivar > SUBDIR.${MK_LIBTHR}+= libthr >+SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_eh >+SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_s > SUBDIR.${MK_NAND}+= libnandfs > SUBDIR.${MK_NETGRAPH}+= libnetgraph > SUBDIR.${MK_NIS}+= libypclnt
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 213480
:
175751
| 176085