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