This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How do I build an arm interwork libgcc.a? FPA vs VFP?


I'm trying to build a mixed arm-thumb system and need an interwork enabled
libgcc.a (I think).

Normal builds of gcc produce a libgcc/  and libgcc/thumb directories.
What configure options do I use to get an interwork library?  
Or is my problem somewhere else?

Here are the linker errors I get when I use the existing libraries:

arm-thumb-elf-ld: ERROR: libgcc.a(_udivsi3.o) uses FPA instructions, whereas
demo_app.bin uses VFP instructions
arm-thumb-elf-ld: Warning: libgcc.a(_udivsi3.o) does not support
interworking, whereas demo_app.bin does
File format not recognized: failed to merge target specific data of file
libgcc.a(_udivsi3.o)


The gcc, as & ld commands I'm currently using are:

arm-thumb-elf-gcc -S -v -mcpu=arm7tdmi -Wa, -mthumb-interwork -mapcs
-mapcs-frame -mno-apcs-float -fno-gnu-linker -gdwarf-2 -mthumb -m  \
         -I../ghdr     ../app/*.c    ../rtos/*.c         
arm-thumb-elf-as -D --gstabs -mapcs-32 -ahls -mthumb-interwork -EL -I../ghdr
-I../app -o limits.os ../rtos/limits.s
arm-thumb-elf-ld -EL -E -n -Map flash.map -T ../make/ldscript -o
demo_app.bin crt0.os1 *.o *.os *.a


Larry Fast


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]