xref: /dragonfly/gnu/lib/gcc47/libgcc/Makefile.src (revision 82730a9c)
1# Library members defined in libgcc2.c.
2lib2funcs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2	   \
3	    _clear_cache _trampoline __main _absvsi2 \
4	    _absvdi2 _addvsi3 _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 \
5	    _negvsi2 _negvdi2 _ctors _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2  \
6	    _ctzsi2 _ctzdi2 _popcount_tab _popcountsi2 _popcountdi2	   \
7	    _paritysi2 _paritydi2 _powisf2 _powidf2 _powixf2 _powitf2	   \
8	    _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 _divxc3	   \
9	    _divtc3 _bswapsi2 _bswapdi2 _clrsbsi2 _clrsbdi2
10
11.for f in sf df xf
12lib2funcs+=	_fixuns${f}si
13lib2funcs+=	_fix${f}di
14lib2funcs+=	_fixuns${f}di
15lib2funcs+=	_floatdi${f}
16lib2funcs+=	_floatundi${f}
17lib2funcs+=	extend${f}tf2
18lib2funcs+=	truncf${f}2
19.endfor
20
21.for f in si di ti
22lib2funcs+=	fixtf${f}
23lib2funcs+=	fixunstf${f}
24lib2funcs+=	float${f}tf
25lib2funcs+=	floatun${f}tf
26.endfor
27
28LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
29
30# from gcc/Makefile.in
31LIB2FUNCS_ST = _eprintf __gcc_bcmp
32
33# softfp functions and enable-execute-stack don't use L_ definitions
34SOFTFUNCS =	addtf3 divtf3 eqtf2 getf2 letf2 multf3 negtf2 subtf3 unordtf2
35SOFTFUNCS+=	enable-execute-stack
36
37FUNCS=	${lib2funcs} ${LIB2_DIVMOD_FUNCS} ${LIB2FUNCS_ST}
38
39FLAGS_GROUPS=		stack raise
40stack_FLAGS=		-D__LIBGCC_TRAMPOLINE_SIZE__=${TRAMPSIZE}
41stack_FLAGS_FILES=	enable-execute-stack.c
42raise_FLAGS=		-fexceptions -fnon-call-exceptions
43raise_FLAGS_FILES=	${LIB2_DIVMOD_FUNCS:S/$/.c/}
44
45.for F in ${FUNCS}
46${F}.c:
47	echo '#define L${.TARGET:T:R}' > ${.TARGET}
48	echo '#include "libgcc2.c"' >> ${.TARGET}
49.endfor
50