t-arm-elf revision 90075
1234353SdimLIB1ASMSRC = arm/lib1funcs.asm 2234353SdimLIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX 3193323Sed 4193323Sed# We want fine grained libraries, so use the new code to build the 5193323Sed# floating point emulation libraries. 6193323SedFPBIT = fp-bit.c 7234353SdimDPBIT = dp-bit.c 8193323Sed 9193323Sedfp-bit.c: $(srcdir)/config/fp-bit.c 10193323Sed echo '#define FLOAT' > fp-bit.c 11193323Sed echo '#ifndef __ARMEB__' >> fp-bit.c 12193323Sed echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c 13193323Sed echo '#endif' >> fp-bit.c 14193323Sed cat $(srcdir)/config/fp-bit.c >> fp-bit.c 15193323Sed 16193323Seddp-bit.c: $(srcdir)/config/fp-bit.c 17193323Sed echo '#ifndef __ARMEB__' > dp-bit.c 18206083Srdivacky echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c 19206083Srdivacky echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c 20206083Srdivacky echo '#endif' >> dp-bit.c 21206083Srdivacky cat $(srcdir)/config/fp-bit.c >> dp-bit.c 22193323Sed 23193323Sed 24193323SedMULTILIB_OPTIONS = marm/mthumb 25193323SedMULTILIB_DIRNAMES = arm thumb 26193323SedMULTILIB_EXCEPTIONS = 27193323Sed 28193323Sed# MULTILIB_OPTIONS = mlittle-endian/mbig-endian 29193323Sed# MULTILIB_DIRNAMES = le be 30193323Sed# MULTILIB_EXCEPTIONS = 31193323Sed# MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle 32193323Sed# 33193323Sed# MULTILIB_OPTIONS += mhard-float/msoft-float 34193323Sed# MULTILIB_DIRNAMES += fpu soft 35193323Sed# 36193323Sed# MULTILIB_OPTIONS += mapcs-32/mapcs-26 37193323Sed# MULTILIB_DIRNAMES += 32bit 26bit 38193323Sed# 39193323Sed# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork 40193323Sed# MULTILIB_DIRNAMES += normal interwork 41193323Sed# MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork* 42204961Srdivacky# 43193323Sed# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore 44193323Sed# MULTILIB_DIRNAMES += elf under 45193323Sed# 46204961Srdivacky# MULTILIB_OPTIONS += mcpu=arm7 47193323Sed# MULTILIB_DIRNAMES += nofmult 48193323Sed# MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* 49193323Sed# # Note: the multilib_exceptions matches both -mthumb and 50204961Srdivacky# # -mthumb-interwork 51193323Sed# # 52193323Sed# # We have to match all the arm cpu variants which do not have the 53193323Sed# # multiply instruction and treat them as if the user had specified 54204961Srdivacky# # -mcpu=arm7. Note that in the following the ? is interpreted as 55193323Sed# # an = for the purposes of matching command line options. 56193323Sed# # FIXME: There ought to be a better way to do this. 57193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d 58204961Srdivacky# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di 59193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 60193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 61193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i 62204961Srdivacky# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 63193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c 64193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 65193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 66193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe 67193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 68204961Srdivacky# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 69193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 70193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 71193323Sed# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 72193323Sed 73193323SedEXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o 74193323Sed 75193323Sed# If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here 76193323Sed# EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o 77193323Sed 78193323SedLIBGCC = stmp-multilib 79193323SedINSTALL_LIBGCC = install-multilib 80193323Sed 81193323Sed# Currently there is a bug somewhere in GCC's alias analysis 82193323Sed# or scheduling code that is breaking _fpmul_parts in fp-bit.c. 83193323Sed# Disabling function inlining is a workaround for this problem. 84193323SedTARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline 85193323Sed 86193323Sed# Assemble startup files. 87193323Sed$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES) 88193323Sed $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ 89193323Sed -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm 90193323Sed 91193323Sed$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES) 92193323Sed $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ 93193323Sed -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm 94193323Sed