summaryrefslogtreecommitdiff
path: root/gnu/lib
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2020-01-08 21:07:55 +0000
committerEd Maste <emaste@FreeBSD.org>2020-01-08 21:07:55 +0000
commit305f30cc2906501ecb8ab7caa084a9804ed2e594 (patch)
tree6ccaac750ec0851763709255216a0b930c348a56 /gnu/lib
parent7c883770103ecb5ae0a9e2bfe75c0f4dae829d49 (diff)
downloadsrc-test2-305f30cc2906501ecb8ab7caa084a9804ed2e594.tar.gz
src-test2-305f30cc2906501ecb8ab7caa084a9804ed2e594.zip
Notes
Diffstat (limited to 'gnu/lib')
-rw-r--r--gnu/lib/Makefile4
-rw-r--r--gnu/lib/libgcc/Makefile374
-rw-r--r--gnu/lib/libgcc/Makefile.depend16
3 files changed, 0 insertions, 394 deletions
diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile
index a4a19b704e3c..38399c94a04a 100644
--- a/gnu/lib/Makefile
+++ b/gnu/lib/Makefile
@@ -19,10 +19,6 @@ SUBDIR+= csu
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
deleted file mode 100644
index 9c5aae96185e..000000000000
--- a/gnu/lib/libgcc/Makefile
+++ /dev/null
@@ -1,374 +0,0 @@
-# $FreeBSD$
-
-PACKAGE= clibs
-GCCDIR= ${.CURDIR}/../../../contrib/gcc
-GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
-CCDIR= ${.CURDIR}/../../usr.bin/cc
-
-SHLIB_NAME= libgcc_s.so.1
-SHLIBDIR?= /lib
-
-.include <src.opts.mk>
-#
-# libgcc is linked in last and thus cannot depend on ssp symbols coming
-# from earlier libraries. Disable stack protection for this library.
-#
-MK_SSP= no
-
-.include "${CCDIR}/Makefile.tgt"
-.include "${CCDIR}/cc_tools/Makefile.hdrs"
-
-.if ${TARGET_CPUARCH} == "arm"
-CFLAGS+= -DTARGET_ARM_EABI
-.endif
-
-.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR}
-
-CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
- -DHAVE_GTHR_DEFAULT \
- -I${GCCLIB}/include \
- -I${GCCDIR}/config -I${GCCDIR} -I. \
- -I${CCDIR}/cc_tools
-
-LDFLAGS+= -nodefaultlibs
-LIBADD+= c
-
-SOBJS= # added to below in various ways depending on TARGET_CPUARCH
-
-#---------------------------------------------------------------------------
-#
-# Library members defined in libgcc2.c.
-# When upgrading GCC, obtain the following list from mklibgcc.in
-#
-LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \
- _cmpdi2 _ucmpdi2 \
- _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \
- _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors \
- _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \
- _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \
- _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \
- _divxc3 _divtc3 _bswapsi2 _bswapdi2
-.if ${COMPILER_TYPE} != "clang" || ${TARGET_CPUARCH} != "arm"
-LIB2FUNCS+= _clear_cache
-.endif
-
-# The floating-point conversion routines that involve a single-word integer.
-.for mode in sf df xf
-LIB2FUNCS+= _fixuns${mode}si
-.endfor
-
-# Likewise double-word routines.
-.if ${TARGET_CPUARCH} != "aarch64" && ${TARGET_CPUARCH} != "arm" && \
- ${TARGET_CPUARCH} != "riscv64"
-# These are implemented in an ARM specific file but will not be filtered out.
-# RISCVTODO: can't compile
-.for mode in sf df xf tf
-LIB2FUNCS+= _fix${mode}di _fixuns${mode}di
-LIB2FUNCS+= _floatdi${mode} _floatundi${mode}
-.endfor
-.endif
-
-LIB2ADD = $(LIB2FUNCS_EXTRA)
-LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
-
-
-.if ${TARGET_CPUARCH} == "arm"
-LIB2ADDEH = unwind-arm.c libunwind-arm.S pr-support.c unwind-c.c
-.else
-LIB2ADDEH = unwind-dw2.c unwind-dw2-fde-glibc.c unwind-sjlj.c gthr-gnat.c \
- unwind-c.c
-.endif
-
-LIB2ADDEHSTATIC = $(LIB2ADDEH)
-LIB2ADDEHSHARED = $(LIB2ADDEH)
-
-# List of extra C and assembler files to add to static and shared libgcc2.
-# Assembler files should have names ending in `.asm'.
-LIB2FUNCS_EXTRA =
-
-# List of extra C and assembler files to add to static libgcc2.
-# Assembler files should have names ending in `.asm'.
-LIB2FUNCS_STATIC_EXTRA =
-
-# Defined in libgcc2.c, included only in the static library.
-# KAN: Excluded _sf_to_tf and _df_to_tf as TPBIT_FUNCS are not
-# built on any of our platforms.
-LIB2FUNCS_ST = _eprintf __gcc_bcmp
-
-FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
- _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
- _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf \
- _sf_to_df _thenan_sf _sf_to_usi _usi_to_sf
-
-DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
- _fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \
- _lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
- _df_to_sf _thenan_df _df_to_usi _usi_to_df
-
-TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \
- _fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf \
- _lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf \
- _tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf
-
-# These might cause a divide overflow trap and so are compiled with
-# unwinder info.
-LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
-
-#-----------------------------------------------------------------------
-#
-# Platform specific bits.
-# When upgrading GCC, get the following definitions from config/<cpu>/t-*
-#
-.if ${TARGET_CPUARCH} == "arm"
-# from config/arm/t-strongarm-elf
-CFLAGS+= -Dinhibit_libc -fno-inline
-CFLAGS.clang+= -fheinous-gnu-extensions
-
-LIB1ASMSRC = lib1funcs.asm
-LIB1ASMFUNCS = _dvmd_tls _bb_init_func
-# Some compilers generate __aeabi_ functions libgcc_s is missing
-LIBADD+= compiler_rt
-.endif
-
-.if ${TARGET_CPUARCH} == mips
-LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c
-# ABIs other than o32 need this
-.if (${TARGET_ARCH:Mmips64*} != "" || ${TARGET_ARCH:Mmipsn32*} != "") && \
- !defined(COMPAT_32BIT)
-LIB2FUNCS_EXTRA+= floatdidf.c fixunsdfsi.c
-LIB2FUNCS_EXTRA+= floatdisf.c floatundidf.c
-LIB2FUNCS_EXTRA+= fixsfdi.c floatundisf.c
-LIB2FUNCS_EXTRA+= fixdfdi.c fixunssfsi.c
-.endif
-.endif
-
-.if ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpcspe"
-# from config/rs6000/t-ppccomm
-LIB2FUNCS_EXTRA = tramp.asm
-LIB2FUNCS_STATIC_EXTRA = eabi.asm
-.endif
-
-.if ${TARGET_ARCH} == "powerpc64"
-# from config/rs6000/t-ppccomm
-LIB2FUNCS_EXTRA = tramp.asm
-.endif
-
-.if ${TARGET_CPUARCH} == "sparc64"
-# from config/sparc/t-elf
-LIB1ASMSRC = lb1spc.asm
-LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
-.endif
-
-#-----------------------------------------------------------------------
-
-# Remove any objects from LIB2FUNCS and LIB2_DIVMOD_FUNCS that are
-# defined as optimized assembly code in LIB1ASMFUNCS.
-.if defined(LIB1ASMFUNCS)
-.for sym in ${LIB1ASMFUNCS}
-LIB2FUNCS:= ${LIB2FUNCS:S/${sym}//g}
-LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS:S/${sym}//g}
-.endfor
-.endif
-
-COMMONHDRS= tm.h tconfig.h options.h gthr-default.h
-COMMONHDRS+= unwind.h
-
-#-----------------------------------------------------------------------
-#
-# Helpful shortcuts for compiler invocations.
-#
-HIDE = -fvisibility=hidden -DHIDE_EXPORTS
-CC_T = ${CC} -c ${CFLAGS} ${HIDE} -fPIC
-CC_P = ${CC} -c ${CFLAGS} ${HIDE} -p -fPIC
-CC_S = ${CC} -c ${CFLAGS} ${SHARED_CFLAGS} ${PICFLAG} -DSHARED
-
-#-----------------------------------------------------------------------
-#
-# Functions from libgcc2.c
-#
-STD_CFLAGS =
-DIV_CFLAGS = -fexceptions -fnon-call-exceptions
-
-STD_FUNCS = ${LIB2FUNCS}
-DIV_FUNCS = ${LIB2_DIVMOD_FUNCS}
-
-STD_CFILE = libgcc2.c
-DIV_CFILE = libgcc2.c
-
-OBJ_GRPS = STD DIV
-
-#-----------------------------------------------------------------------
-#
-# Floating point emulation functions
-#
-.if ${TARGET_CPUARCH} == "armNOT_YET" || \
- ${TARGET_CPUARCH} == "powerpc" || ${TARGET_CPUARCH} == "sparc64"
-
-FPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES -DFLOAT
-DPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES
-
-FPBIT_CFILE = config/fp-bit.c
-DPBIT_CFILE = config/fp-bit.c
-
-OBJ_GRPS += FPBIT DPBIT
-.endif
-
-#-----------------------------------------------------------------------
-#
-# Generic build rules for object groups defined above
-#
-.for T in ${OBJ_GRPS}
-${T}_OBJS_T = ${${T}_FUNCS:S/$/.o/}
-${T}_OBJS_P = ${${T}_FUNCS:S/$/.po/}
-${T}_OBJS_S = ${${T}_FUNCS:S/$/.pico/}
-SOBJS += ${${T}_FUNCS:S/$/.pico/}
-
-${${T}_OBJS_T}: ${${T}_CFILE} ${COMMONHDRS}
- ${CC_T} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c:[1]}
-${${T}_OBJS_P}: ${${T}_CFILE} ${COMMONHDRS}
- ${CC_P} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c:[1]}
-${${T}_OBJS_S}: ${${T}_CFILE} ${COMMONHDRS}
- ${CC_S} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c:[1]}
-.endfor
-
-#-----------------------------------------------------------------------
-#
-# Extra objects coming from separate files
-#
-.if !empty(LIB2ADD)
-SOBJS += ${LIB2ADD:R:S/$/.pico/}
-.endif
-
-#-----------------------------------------------------------------------
-#
-# Objects that should be in static library only.
-#
-SYMS_ST = ${LIB2FUNCS_ST} ${LIB2ADD_ST}
-STAT_OBJS_T = ${SYMS_ST:S/$/.o/}
-STAT_OBJS_P = ${SYMS_ST:S/$/.po/}
-STATICOBJS = ${SYMS_ST:S/$/.o/}
-
-${STAT_OBJS_T}: ${STD_CFILE} ${COMMONHDRS}
- ${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c:[1]}
-${STAT_OBJS_P}: ${STD_CFILE} ${COMMONHDRS}
- ${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c:[1]}
-
-#-----------------------------------------------------------------------
-#
-# Assembler files.
-#
-.if defined(LIB1ASMSRC)
-ASM_T = ${LIB1ASMFUNCS:S/$/.o/}
-ASM_P = ${LIB1ASMFUNCS:S/$/.po/}
-ASM_S = ${LIB1ASMFUNCS:S/$/.pico/}
-ASM_V = ${LIB1ASMFUNCS:S/$/.vis/}
-SOBJS += ${LIB1ASMFUNCS:S/$/.pico/}
-
-${ASM_T}: ${LIB1ASMSRC} ${.PREFIX}.vis
- ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \
- -o ${.TARGET} -include ${.PREFIX}.vis ${.ALLSRC:N*.h:N*.vis}
-${ASM_P}: ${LIB1ASMSRC} ${.PREFIX}.vis
- ${CC} -x assembler-with-cpp -p -c ${CFLAGS} -DL${.PREFIX} \
- -o ${.TARGET} -include ${.PREFIX}.vis ${.ALLSRC:N*.h:N*.vis}
-${ASM_S}: ${LIB1ASMSRC}
- ${CC} -x assembler-with-cpp -c ${PICFLAG} ${CFLAGS} -DL${.PREFIX} \
- -o ${.TARGET} ${.ALLSRC:N*.h}
-${ASM_V}: ${LIB1ASMSRC}
- ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \
- -o ${.PREFIX}.vo ${.ALLSRC:N*.h}
- ( ${NM} -pg ${.PREFIX}.vo | \
- awk 'NF == 3 && $$2 !~ /^[UN]$$/ { print "\t.hidden ", $$3 }'\
- ) > ${.TARGET}
-
-CLEANFILES += ${ASM_V} ${ASM_V:R:S/$/.vo/}
-.endif
-
-#-----------------------------------------------------------------------
-#
-# Exception handling / unwinding support.
-#
-EH_OBJS_T = ${LIB2ADDEHSTATIC:R:S/$/.o/}
-EH_OBJS_P = ${LIB2ADDEHSTATIC:R:S/$/.po/}
-EH_OBJS_S = ${LIB2ADDEHSHARED:R:S/$/.pico/}
-EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN
-.if ${TARGET_CPUARCH} != "riscv64"
-# RISCVTODO: unwinding support
-SOBJS += ${EH_OBJS_S}
-.endif
-
-.for _src in ${LIB2ADDEHSTATIC:M*.c}
-${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS}
- ${CC_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
-${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS}
- ${CC_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
-.endfor
-.for _src in ${LIB2ADDEHSHARED:M*.c}
-${_src:R:S/$/.pico/}: ${_src} ${COMMONHDRS}
- ${CC_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC}
-.endfor
-
-
-CLEANFILES += ${COMMONHDRS}
-CLEANFILES += cs-*.h option*
-
-#-----------------------------------------------------------------------
-#
-# Build symbol version map
-#
-SHLIB_MKMAP = ${GCCDIR}/mkmap-symver.awk
-SHLIB_MKMAP_OPTS =
-SHLIB_MAPFILES = ${GCCDIR}/libgcc-std.ver
-.if ${TARGET_CPUARCH} == "arm"
-SHLIB_MAPFILES += ${GCCDIR}/config/arm/libgcc-bpabi.ver
-.endif
-VERSION_MAP = libgcc.map
-
-libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS}
- ( ${NM} -pg ${SOBJS};echo %% ; \
- cat ${SHLIB_MAPFILES} \
- | sed -e '/^[ ]*#/d' \
- -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
- | ${CC} ${CFLAGS} -E -xassembler-with-cpp -; \
- ) | awk -f ${SHLIB_MKMAP} ${SHLIB_MKMAP_OPTS} > ${.TARGET}
-
-CLEANFILES += libgcc.map
-
-#-----------------------------------------------------------------------
-#
-# Build additional static libgcc_eh[_p].a libraries.
-#
-libgcc_eh.a: ${EH_OBJS_T}
- @${ECHO} building static gcc_eh library
- @rm -f ${.TARGET}
- ${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q`
- ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
-
-_LIBS+= libgcc_eh.a
-
-.if ${MK_PROFILE} != "no"
-libgcc_eh_p.a: ${EH_OBJS_P}
- @${ECHO} building profiled gcc_eh library
- @rm -f ${.TARGET}
- ${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q`
- ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
-
-_LIBS+= libgcc_eh_p.a
-.endif
-
-_libinstall: _lib-eh-install
-
-_lib-eh-install:
-.if ${MK_INSTALLLIB} != "no"
- ${INSTALL} ${TAG_ARGS} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} libgcc_eh.a ${DESTDIR}${LIBDIR}
-.endif
-.if ${MK_PROFILE} != "no"
- ${INSTALL} ${TAG_ARGS} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} libgcc_eh_p.a ${DESTDIR}${LIBDIR}
-.endif
-
-CLEANFILES+= libgcc_eh.a libgcc_eh_p.a ${EH_OBJS_T} ${EH_OBJS_P}
-
-.include <bsd.lib.mk>
-
-.SUFFIXES: .vis .vo
diff --git a/gnu/lib/libgcc/Makefile.depend b/gnu/lib/libgcc/Makefile.depend
deleted file mode 100644
index 2f6d8d110c49..000000000000
--- a/gnu/lib/libgcc/Makefile.depend
+++ /dev/null
@@ -1,16 +0,0 @@
-# $FreeBSD$
-# Autogenerated - do NOT edit!
-
-DIRDEPS = \
- gnu/lib/csu \
- include \
- include/xlocale \
- lib/${CSU_DIR} \
- lib/libc \
-
-
-.include <dirdeps.mk>
-
-.if ${DEP_RELDIR} == ${_DEP_RELDIR}
-# local dependencies - needed for -jN in clean tree
-.endif