]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/gcc/config/arm/t-arm-elf
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / gcc / config / arm / t-arm-elf
1 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