diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2020-05-04 22:59:39 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2020-05-04 22:59:39 +0000 |
| commit | 43e1c558bef1f8a7d032d781554a92b1ac2c121e (patch) | |
| tree | 49b04bcf61a6d2b3b83b2c600df45221b038ccc1 /lib | |
| parent | f1b8cdcb2e032d2ed689335775d06765f63df45d (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Makefile | 3 | ||||
| -rw-r--r-- | lib/libgcc_eh/Makefile | 12 | ||||
| -rw-r--r-- | lib/libgcc_eh/Makefile.inc | 38 | ||||
| -rw-r--r-- | lib/libgcc_s/Makefile | 38 | ||||
| -rw-r--r-- | lib/libgcc_s/Version.map | 154 |
5 files changed, 245 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile index 0144624876a5..51783f3db046 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -250,6 +250,9 @@ _libefivar= libefivar _libthr= libthr .endif +SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_eh +SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_s + .if ${MK_NAND} != "no" _libnandfs= libnandfs .endif diff --git a/lib/libgcc_eh/Makefile b/lib/libgcc_eh/Makefile new file mode 100644 index 000000000000..04f99d9e85cf --- /dev/null +++ b/lib/libgcc_eh/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.include <src.opts.mk> + +PACKAGE= clibs +LIB= gcc_eh +NO_PIC= +WARNS?= 2 + +.include "Makefile.inc" + +.include <bsd.lib.mk> diff --git a/lib/libgcc_eh/Makefile.inc b/lib/libgcc_eh/Makefile.inc new file mode 100644 index 000000000000..abdecc29b264 --- /dev/null +++ b/lib/libgcc_eh/Makefile.inc @@ -0,0 +1,38 @@ +# $FreeBSD$ + +COMPILERRTDIR= ${SRCTOP}/contrib/compiler-rt +UNWINDINCDIR= ${SRCTOP}/contrib/libunwind/include +UNWINDSRCDIR= ${SRCTOP}/contrib/libunwind/src + +STATIC_CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN + +.PATH: ${COMPILERRTDIR}/lib/builtins +.PATH: ${UNWINDSRCDIR} +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}+= -fno-exceptions -funwind-tables +.endfor +.for file in ${SRCS_EXC:M*.cpp} +CXXFLAGS.${file}+= -fno-exceptions -funwind-tables +.endfor + +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 diff --git a/lib/libgcc_s/Makefile b/lib/libgcc_s/Makefile new file mode 100644 index 000000000000..e8d64bb3b7d7 --- /dev/null +++ b/lib/libgcc_s/Makefile @@ -0,0 +1,38 @@ +# $FreeBSD$ + +PKG= clibs +SHLIB_NAME= libgcc_s.so.1 +SHLIBDIR?= /lib + +WARNS?= 2 + +LDFLAGS+= -nodefaultlibs +LIBADD+= c +VERSION_MAP= ${.CURDIR}/Version.map + +.include "../libcompiler_rt/Makefile.inc" +.include "../libgcc_eh/Makefile.inc" + +# gcc has incompatible internal declarations for __divtc3 and __multc3, but has +# no option to silence its warning, so make warnings non-fatal. +NO_WERROR.gcc= + +LIBCSRCDIR= ${SRCTOP}/lib/libc +LIBMSRCDIR= ${SRCTOP}/lib/msun/src +CFLAGS+= -I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/${MACHINE_CPUARCH} +CFLAGS+= -I${LIBMSRCDIR} +.PATH: ${LIBMSRCDIR} +SRCS+= s_fabs.c +SRCS+= s_fabsf.c +SRCS+= s_fabsl.c +SRCS+= s_fmax.c +SRCS+= s_fmaxf.c +SRCS+= s_fmaxl.c +SRCS+= s_logb.c +SRCS+= s_logbf.c +SRCS+= s_logbl.c +SRCS+= s_scalbn.c +SRCS+= s_scalbnf.c +SRCS+= s_scalbnl.c + +.include <bsd.lib.mk> diff --git a/lib/libgcc_s/Version.map b/lib/libgcc_s/Version.map new file mode 100644 index 000000000000..622732edb447 --- /dev/null +++ b/lib/libgcc_s/Version.map @@ -0,0 +1,154 @@ +/* + * $FreeBSD$ + */ + +GCC_3.0 { +global: + __absvdi2; + __absvsi2; + __addvdi3; + __addvsi3; + __ashldi3; + __ashlti3; + __ashrdi3; + __ashrti3; + __clear_cache; + __cmpdi2; + __cmpti2; + __deregister_frame; + __deregister_frame_info; + __deregister_frame_info_bases; + __divdi3; + __divti3; + __ffsdi2; + __ffsti2; + __fixdfdi; + __fixdfti; + __fixsfdi; + __fixsfti; + __fixunsdfdi; + __fixunsdfsi; + __fixunsdfti; + __fixunssfdi; + __fixunssfsi; + __fixunssfti; + __fixunsxfdi; + __fixunsxfsi; + __fixunsxfti; + __fixxfdi; + __fixxfti; + __floatdidf; + __floatdisf; + __floatdixf; + __floattidf; + __floattisf; + __floattixf; + __lshrdi3; + __lshrti3; + __moddi3; + __modti3; + __muldi3; + __multi3; + __mulvdi3; + __mulvsi3; + __negdi2; + __negti2; + __negvdi2; + __negvsi2; + __register_frame; + __register_frame_info; + __register_frame_info_bases; + __register_frame_info_table; + __register_frame_info_table_bases; + __register_frame_table; + __subvdi3; + __subvsi3; + __ucmpdi2; + __ucmpti2; + __udivdi3; + __udivmoddi4; + __udivmodti4; + __udivti3; + __umoddi3; + __umodti3; + _Unwind_DeleteException; + _Unwind_Find_FDE; + _Unwind_ForcedUnwind; + _Unwind_GetDataRelBase; + _Unwind_GetGR; + _Unwind_GetIP; + _Unwind_GetLanguageSpecificData; + _Unwind_GetRegionStart; + _Unwind_GetTextRelBase; + _Unwind_RaiseException; + _Unwind_Resume; + _Unwind_SetGR; + _Unwind_SetIP; +local: + *; +}; + +GCC_3.3 { + _Unwind_Backtrace; + _Unwind_FindEnclosingFunction; + _Unwind_GetCFA; + _Unwind_Resume_or_Rethrow; +} GCC_3.0; + +GCC_3.3.1 { + __gcc_personality_v0; +} GCC_3.3; + +GCC_3.4 { + __clzdi2; + __clzsi2; + __clzti2; + __ctzdi2; + __ctzsi2; + __ctzti2; + __paritydi2; + __paritysi2; + __parityti2; + __popcountdi2; + __popcountsi2; + __popcountti2; +} GCC_3.3.1; + +GCC_3.4.2 { + __enable_execute_stack; +} GCC_3.4; + +GCC_3.4.4 { + __absvti2; + __addvti3; + __mulvti3; + __negvti2; + __subvti3; +} GCC_3.4.2; + +GCC_4.0.0 { + __divdc3; + __divsc3; + __divxc3; + __muldc3; + __mulsc3; + __mulxc3; + __powidf2; + __powisf2; + __powixf2; +} GCC_3.4.4; + +GCC_4.2.0 { + __floatundidf; + __floatundisf; + __floatundixf; + __floatuntidf; + __floatuntisf; + __floatuntixf; + _Unwind_GetIPInfo; +} GCC_4.0.0; + +GCC_4.3.0 { + __bswapdi2; + __bswapsi2; +} GCC_4.2.0; |
