1 |
38 |
julius |
LIB1ASMSRC = arm/lib1funcs.asm
|
2 |
|
|
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
|
3 |
|
|
_call_via_rX _interwork_call_via_rX \
|
4 |
|
|
_lshrdi3 _ashrdi3 _ashldi3 \
|
5 |
|
|
_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
|
6 |
|
|
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
|
7 |
|
|
_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
|
8 |
|
|
|
9 |
|
|
MULTILIB_OPTIONS = marm/mthumb
|
10 |
|
|
MULTILIB_DIRNAMES = arm thumb
|
11 |
|
|
MULTILIB_EXCEPTIONS =
|
12 |
|
|
MULTILIB_MATCHES =
|
13 |
|
|
|
14 |
|
|
# MULTILIB_OPTIONS += mcpu=ep9312
|
15 |
|
|
# MULTILIB_DIRNAMES += ep9312
|
16 |
|
|
# MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312*
|
17 |
|
|
#
|
18 |
|
|
# MULTILIB_OPTIONS += mlittle-endian/mbig-endian
|
19 |
|
|
# MULTILIB_DIRNAMES += le be
|
20 |
|
|
# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
|
21 |
|
|
#
|
22 |
|
|
# MULTILIB_OPTIONS += mhard-float/msoft-float
|
23 |
|
|
# MULTILIB_DIRNAMES += fpu soft
|
24 |
|
|
# MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
|
25 |
|
|
#
|
26 |
|
|
# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
|
27 |
|
|
# MULTILIB_DIRNAMES += normal interwork
|
28 |
|
|
#
|
29 |
|
|
# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
|
30 |
|
|
# MULTILIB_DIRNAMES += elf under
|
31 |
|
|
#
|
32 |
|
|
# MULTILIB_OPTIONS += mcpu=arm7
|
33 |
|
|
# MULTILIB_DIRNAMES += nofmult
|
34 |
|
|
# MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7*
|
35 |
|
|
# # Note: the multilib_exceptions matches both -mthumb and
|
36 |
|
|
# # -mthumb-interwork
|
37 |
|
|
# #
|
38 |
|
|
# # We have to match all the arm cpu variants which do not have the
|
39 |
|
|
# # multiply instruction and treat them as if the user had specified
|
40 |
|
|
# # -mcpu=arm7. Note that in the following the ? is interpreted as
|
41 |
|
|
# # an = for the purposes of matching command line options.
|
42 |
|
|
# # FIXME: There ought to be a better way to do this.
|
43 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d
|
44 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di
|
45 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70
|
46 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700
|
47 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i
|
48 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710
|
49 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c
|
50 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100
|
51 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500
|
52 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe
|
53 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6
|
54 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60
|
55 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
|
56 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
|
57 |
|
|
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
|
58 |
|
|
|
59 |
|
|
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
60 |
|
|
|
61 |
|
|
# If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here
|
62 |
|
|
# EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
63 |
|
|
|
64 |
|
|
LIBGCC = stmp-multilib
|
65 |
|
|
INSTALL_LIBGCC = install-multilib
|
66 |
|
|
|
67 |
|
|
# Currently there is a bug somewhere in GCC's alias analysis
|
68 |
|
|
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
|
69 |
|
|
# Disabling function inlining is a workaround for this problem.
|
70 |
|
|
TARGET_LIBGCC2_CFLAGS = -fno-inline
|
71 |
|
|
|
72 |
|
|
# Assemble startup files.
|
73 |
|
|
$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
|
74 |
|
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
75 |
|
|
-c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm
|
76 |
|
|
|
77 |
|
|
$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES)
|
78 |
|
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
79 |
|
|
-c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm
|
80 |
|
|
|