On 4/13/06, Niklaus <niklaus@xxxxxxxxx> wrote: [much snippage] > > Basically, if I tell arm-elf-gcc which arm processor I'm using, it > > recognizes that the processor has no floating point, so arm-elf-ld > > fails, as it should, with the messages: > > sponge:sf 500:arm/bin/arm-elf-gcc -mthumb-interwork -msoft-float > > -mcpu=arm926ej-s -c demo.c > > if I remove '-mcpu=arm926ej-s' from the compile, then the ld will > > work, but i'll end up with floating point instructions on an arm > > processor that has no fp. > > > pro@deb:~/armenv/bin$ ./arm-elf-gcc -c foo.c > pro@deb:~/armenv/bin$ file foo.o > foo.o: ELF 32-bit LSB relocatable, ARM, version 1 (ARM), not stripped > pro@deb:~/armenv/bin$ ./arm-elf-ld -o demo.elf foo.o > ../lib/gcc/arm-elf/4.1.0/libgcc.a > Does this help you ? If not ask for more. You can add newlib or glibc > after gcc bootstrap. Thanks very much for taking the time to look at this. Sorry, but it doesn't help. If you leave off the -mcpu=arm96ej-s option, than you get an elf binary with floating point. What I really need is instructions for building libgcc.a for arm w/o any FP instructions in it, and especially, without the FP based calling sequences. In particular, why did this work in 3.4 but not 4.1?