t-xscale-coff revision 90075
1169695SkanLIB1ASMSRC = arm/lib1funcs.asm
2169695SkanLIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
3169695Skan
4169695Skan# We want fine grained libraries, so use the new code to build the
5169695Skan# floating point emulation libraries.
6169695SkanFPBIT = fp-bit.c
7169695SkanDPBIT = dp-bit.c
8169695Skan
9169695Skanfp-bit.c: $(srcdir)/config/fp-bit.c
10169695Skan	echo '#define FLOAT' > fp-bit.c
11169695Skan	echo '#ifndef __ARMEB__' >> fp-bit.c
12169695Skan	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
13169695Skan	echo '#endif' >> fp-bit.c
14169695Skan	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
15169695Skan
16169695Skandp-bit.c: $(srcdir)/config/fp-bit.c
17169695Skan	echo '#ifndef __ARMEB__' > dp-bit.c
18169695Skan	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
19169695Skan	echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
20169695Skan	echo '#endif' >> dp-bit.c
21169695Skan	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
22169695Skan
23169695SkanMULTILIB_OPTIONS     = mlittle-endian/mbig-endian
24169695SkanMULTILIB_DIRNAMES    = le be
25169695SkanMULTILIB_EXCEPTIONS  = 
26169695SkanMULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle
27169695Skan
28169695Skan# Note XScale does not support 26 bit APCS.
29169695Skan# Note XScale does not support hard FP
30169695Skan
31169695SkanMULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
32169695SkanMULTILIB_DIRNAMES   += normal interwork
33169695Skan
34169695SkanMULTILIB_OPTIONS    += marm/mthumb
35169695SkanMULTILIB_DIRNAMES   += arm thumb
36169695SkanMULTILIB_EXCEPTIONS += *mhard-float/*mthumb*
37169695Skan
38169695SkanMULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb
39169695Skan
40169695SkanLIBGCC               = stmp-multilib
41169695SkanINSTALL_LIBGCC       = install-multilib
42169695Skan
43169695Skan# Currently there is a bug somewhere in GCC's alias analysis
44169695Skan# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
45169695Skan# Disabling function inlining is a workaround for this problem.
46169695SkanTARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
47169695Skan