I use GNUARM gcc 4.1.1, and I compile for arm966e-s (str912)
I have a linker error:
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divs
i3.o)
uses FPA instructions, whereas demo_arm966s.elf does not
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../ar
m-elf/bin/ld:
failed to merge target specific data of file
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_divs
i3.o)
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../ar
m-elf/bin/ld:
ERROR:
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_dvmd
_tls.o)
uses FPA instructions, whereas demo_arm966s.elf does not
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../ar
m-elf/bin/ld:
failed to merge target specific data of file
/cygdrive/c/programmi/gnuarm/bin/../lib/gcc/arm-elf/4.1.1/libgcc.a(_dvmd
_tls.o)
the compiler command lines are the sam for all files:
arm-elf-gcc -c -mcpu=arm966e-s -I. -gstabs -DROM_RUN -Wall
-Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch
-Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=main.lst
-I./libstr91x/include -O3 -MD -MP -MF .dep/main.o.d -Wstrict-prototypes
-Wmissing-declarations -Wmissing-prototypes -std=gnu99 main.c -o main.o
and the linker command line is:
arm-elf-gcc -mcpu=arm966e-s -I. -gstabs -DROM_RUN -Wall -Wcast-align
-Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls
-Wreturn-type -Wshadow -Wunused -Wa,-adhlns=startup.lst
-I./libstr91x/include -O3 -MD -MP -MF .dep/demo_arm966s.elf.d startup.o
vector.o main.o vectors.o --output demo_arm966s.elf
-nostartfiles -Wl,-Map=demo_arm966s.map,--cref -lgcc -Llibstr91x
-lstr91x -Trom912.ld
Any idea?
How can I avoid this problem?
thanks