Possible ARM binutils/gcc errors...
Steven J. Hill
sjhill@cotw.com
Sat Jul 28 06:27:00 GMT 2001
Philip Blundell wrote:
>
> @@ -39,7 +38,7 @@ tune-$(CONFIG_CPU_SA110) :=-mtune=strong
> tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100
>
> CFLAGS += -mapcs-32 $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
> -AFLAGS += -mapcs-32 $(apcs-y) $(arch-y) -mno-fpu
> +AFLAGS += -mapcs-32 $(apcs-y) $(arch-y) -mno-fpu -msoft-float
>
> LIBGCC := $(shell $(CC) $(CFLAGS) --print-libgcc-file-name)
>
Well, that doesn't do it completely. When the final link stage happens I
get this:
************************
arm-linux-ld -p -X -T arch/arm/vmlinux.lds arch/arm/kernel/head-armv.o
arch/arm/kernel/init_task.o init/main.o init/version.o \
--start-group \
arch/arm/kernel/kernel.o arch/arm/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o \
drivers/block/block.o drivers/char/char.o drivers/misc/misc.o
drivers/net/net.o drivers/media/media.o drivers/mtd/mtdlink.o
drivers/video/video.o drivers/acorn/char/acorn-char.o \
net/network.o \
arch/arm/nwfpe/math-emu.o arch/arm/lib/lib.a /opt/pteclinux/lib/lib.a
/opt/toolchains/arm/lib/gcc-lib/arm-linux/3.0/libgcc.a \
--end-group \
-o vmlinux
arm-linux-ld: Error: _udivsi3.o uses hard floating point, whereas vmlinux uses
soft floating point
No more archived files: failed to merge target specific data of file
/opt/toolchains/arm/lib/gcc-lib/arm-linux/3.0/libgcc.a(_udivsi3.o)
arm-linux-ld: Error: _divsi3.o uses hard floating point, whereas vmlinux uses
soft floating point
No more archived files: failed to merge target specific data of file
/opt/toolchains/arm/lib/gcc-lib/arm-linux/3.0/libgcc.a(_divsi3.o)
arm-linux-ld: Error: _umodsi3.o uses hard floating point, whereas vmlinux uses
soft floating point
************************
Here are the configure lines used for binutils and gcc:
../binutils-2.11.90.0.24/configure --prefix=/opt/toolchains/arm
--target=arm-linux i686-pc-linux-gnu --enable-shared
../gcc-3.0/configure --prefix=/opt/toolchains/arm --target=arm-linux
i686-pc-linux-gnu --disable-shared --enable-languages=c --disable-threads
--with-newlib --with-headers=/opt/toolchains/arm/arm-linux/include
I did not do the -Dinhibit_libc hack in 'gcc/config/arm/t-linux' which I did not
think would make a difference. Also, why is it that I need the header files for
a stage 1 gcc to build only kernels? If I build a cross compiler for MIPS, I
don't
need the kernel headers unless I go to build glibc. Thanks Phil.
-Steve
--
Steven J. Hill - Embedded SW Engineer
More information about the Binutils
mailing list