1PACKAGE= clibs 2SHLIB_NAME= libgcc_s.so.1 3SHLIBDIR?= /lib 4 5SHLIB_LDSCRIPT=libgcc_s.ldscript 6 7# Enabling UBSan triggers "undefined reference to vtable for __cxxabiv1::__function_type_info" 8MK_UBSAN:= no 9 10.include <bsd.opts.mk> 11 12MK_SSP= no 13WARNS?= 2 14 15LDFLAGS+= -nodefaultlibs 16LDFLAGS+= -Wl,-Bsymbolic 17LIBADD+= c 18LIBADD+= compiler_rt 19 20VERSION_DEF= ${.CURDIR}/Versions.def 21SYMBOL_MAPS= ${.CURDIR}/Symbol.map 22# Export ARM AEABI unwind routines needed by libc and libthr. 23.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map) 24SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map 25.else 26SYMBOL_MAPS+= ${.CURDIR}/SymbolDefault.map 27.endif 28 29.include "../libcompiler_rt/Makefile.inc" 30.include "../libgcc_eh/Makefile.inc" 31 32# gcc has incompatible internal declarations for __divtc3 and __multc3, but has 33# no option to silence its warning, so make warnings non-fatal. 34MK_WERROR.gcc= no 35 36LIBCSRCDIR= ${SRCTOP}/lib/libc 37LIBMSRCDIR= ${SRCTOP}/lib/msun/src 38CFLAGS+= -I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/${MACHINE_CPUARCH} 39CFLAGS+= -I${LIBMSRCDIR} 40.PATH: ${LIBMSRCDIR} 41SRCS+= s_fabs.c 42SRCS+= s_fabsf.c 43SRCS+= s_fabsl.c 44SRCS+= s_fmax.c 45SRCS+= s_fmaxf.c 46SRCS+= s_logb.c 47SRCS+= s_logbf.c 48SRCS+= s_scalbn.c 49SRCS+= s_scalbnf.c 50 51# Don't include long double routines on architectures where long double 52# is the same size as double. 53.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "powerpc" 54SRCS+= s_fmaxl.c 55SRCS+= s_logbl.c 56SRCS+= s_scalbnl.c 57.endif 58 59.include <bsd.lib.mk> 60