1*8feb0f0bSmrg# $NetBSD: Makefile,v 1.10 2023/02/20 02:12:06 mrg Exp $ 236ac495dSmrg 336ac495dSmrgUSE_SHLIBDIR= yes 436ac495dSmrgREQUIRETOOLS= yes 536ac495dSmrgNOLINT= # defined 636ac495dSmrg 736ac495dSmrgLIB= gcc_s 836ac495dSmrgNOSTATICLIB= # defined 936ac495dSmrgNOPROFILE= # defined 1036ac495dSmrgNOPICINSTALL= # defined 1136ac495dSmrg 1236ac495dSmrg.include "../../../Makefile.gcc_path" 1336ac495dSmrg.include <bsd.own.mk> 1436ac495dSmrg 1536ac495dSmrg.if ${MKGCC} != "no" 1636ac495dSmrg 1736ac495dSmrg.cc: # disable .cc->NULL transform 1836ac495dSmrg 1936ac495dSmrgSHLIB_MAJOR= 1 2036ac495dSmrgSHLIB_MINOR= 0 2136ac495dSmrg 2236ac495dSmrgLDFLAGS+= -nodefaultlibs -Wl,-z -Wl,nodelete 2336ac495dSmrgLDFLAGS+= -Wl,--version-script=${.OBJDIR}/libgcc.map 2436ac495dSmrg 2536ac495dSmrg# XXX handle this better? GCC 4.8 moved them. 2636ac495dSmrg.if ${MACHINE} == "emips" 2736ac495dSmrgLIB2ADD_HACK+= ${GNUHOSTDIST}/gcc/config/floatunsidf.c \ 2836ac495dSmrg ${GNUHOSTDIST}/gcc/config/floatunsisf.c 2936ac495dSmrg.endif 3036ac495dSmrg 3136ac495dSmrg# XXXGCC5 GCC 5.3 has all these in libgcc and we have them in libc. 32*8feb0f0bSmrg.if ${MACHINE_MIPS64} 3336ac495dSmrgLIB2ADD_EDITED= ${G_LIB2ADD:T:Nfloatsisf.c:Nfloatunsisf.c:Nfloatsidf.c:Nfloatunsidf.c:Nfixsfsi.c:Nextendsfdf2.c:Naddsf3.c:Nmulsf3.c:Ndivsf3.c:Nadddf3.c:Nsubdf3.c:Nmuldf3.c:Ndivdf3.c:Nfixdfsi.c:S/.asm/.S/} 3436ac495dSmrg.else 3536ac495dSmrgLIB2ADD_EDITED= ${G_LIB2ADD:T:S/.asm/.S/} 3636ac495dSmrg.endif 3736ac495dSmrg 3836ac495dSmrgSRCS+= ${LIB2FUNCS} ${LIB2DIVMOD} ${LIB2_EH} ${LIB2_EHASM} \ 3936ac495dSmrg ${LIB2ADD_EDITED} \ 4036ac495dSmrg ${LIB2ADD_HACK:T:S/.asm/.S/} \ 4136ac495dSmrg ${G_LIB2ADD_ST:T} ${LIB1ASMFUNCS} 4236ac495dSmrg 43*8feb0f0bSmrgCOPTS.unwind-dw2.c += -Wno-stack-protector 4436ac495dSmrg 4536ac495dSmrgDPADD+= libgcc.map 4636ac495dSmrgCLEANFILES+= libgcc.map 4736ac495dSmrg 4836ac495dSmrg.include <bsd.lib.mk> 4936ac495dSmrg 5036ac495dSmrg.if ${MKPICLIB} != "no" 5136ac495dSmrgLIBGCC_S_OBJS= ${SOBJS} 5236ac495dSmrg.else 5336ac495dSmrgLIBGCC_S_OBJS= ${OBJS} 5436ac495dSmrg.endif 5536ac495dSmrg 5636ac495dSmrgLIBGCC_STD_VER_IN= ${GNUHOSTDIST}/libgcc/libgcc-std.ver.in 5736ac495dSmrgCLEANFILES+= libgcc-std.ver 5836ac495dSmrg 5936ac495dSmrglibgcc-std.ver: ${LIBGCC_STD_VER_IN} 6036ac495dSmrg ${_MKTARGET_CREATE} 6136ac495dSmrg ${TOOL_SED} -e 's/__PFX__/__/g' -e 's/__FIXPTPFX__/__/g' < ${LIBGCC_STD_VER_IN} > ${.TARGET}.tmp 6236ac495dSmrg mv ${.TARGET}.tmp ${.TARGET} 6336ac495dSmrg 6436ac495dSmrglibgcc.map: ${LIBGCC_S_OBJS} ${G_SHLIB_MKMAP} ${G_SHLIB_MAPFILES} 6536ac495dSmrg { \ 6636ac495dSmrg ${NM} ${G_SHLIB_NM_FLAGS} ${LIBGCC_S_OBJS}; \ 6736ac495dSmrg echo %%; \ 6836ac495dSmrg for f in ${G_SHLIB_MAPFILES}; do \ 6936ac495dSmrg if [ -f ${.OBJDIR}/$${f} ]; then \ 7036ac495dSmrg cat ${.OBJDIR}/$${f}; \ 7136ac495dSmrg else \ 7236ac495dSmrg cat $${f}; \ 7336ac495dSmrg fi; \ 7436ac495dSmrg done | \ 7536ac495dSmrg ${TOOL_SED} -e "/^[ ]*#/d" \ 7636ac495dSmrg -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' | \ 7736ac495dSmrg ${CC} ${G_LIBGCC2_CFLAGS} ${G_INCLUDES} -E -xassembler-with-cpp -; \ 7836ac495dSmrg } | ${TOOL_AWK} -f ${G_SHLIB_MKMAP} > ${.TARGET}.tmp 7936ac495dSmrg mv ${.TARGET}.tmp ${.TARGET} 8036ac495dSmrg 8136ac495dSmrg.else 8236ac495dSmrg.include <bsd.prog.mk> # do nothing 8336ac495dSmrg.endif 84