gcc crosstool chain with soft floating point support for arm9 + java
kpremendra
premendra.kumar@lntemsys.com
Thu Nov 27 13:42:00 GMT 2008
Hi
I am using crosstool 0.43 to generate crosstool for arm9 with soft float,
with c,c++,java
languages support.
demo-arm-softfloat.sh file is as below
set -ex
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++,java"
export GCC_LANGUAGES
mkdir -p $RESULT_TOP
eval `cat arm-softfloat.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
echo Done.
arm-softfloat.dat file has
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-softfloat-linux-gnu
TARGET_CFLAGS="-O"
GCC_EXTRA_CONFIG="--with-float=soft"
GCC_CORE_EXTRA_CONFIG="--with-float=soft"
GLIBC_EXTRA_CONFIG=" --without-fp"
GLIBC_EXTRA_CC_ARGS="-msoft-float"
gcc-3.3.6-glibc-2.3.2.dat` file has
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.3.6
GLIBC_DIR=glibc-2.3.2
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
LINUX_DIR=linux-2.6.9
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
And getting the below error
arm-softfloat-linux-gnu-ranlib
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/libc_pic.a
arm-softfloat-linux-gnu-gcc -msoft-float -nostdlib -nostartfiles -r -o
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
'-Wl,-('
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/dl-allobjs.os
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/libc_pic.a
-lgcc '-Wl,-)'
-Wl,-Map,/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.mapT
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_udivsi3.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_udivsi3.o)
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_divsi3.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_divsi3.o)
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_umodsi3.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_umodsi3.o)
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_dvmd_lnx.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_dvmd_lnx.o)
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_muldi3.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_muldi3.o)
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
ERROR:
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_ashldi3.o)
uses hardware FP, whereas
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map.o
uses software FP
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/../../../../arm-softfloat-linux-gnu/bin/ld:
failed to merge target specific data of file
/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/gcc-core-prefix/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.6/libgcc.a(_ashldi3.o)
collect2: ld returned 1 exit status
make[2]: ***
[/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/build-glibc/elf/librtld.map]
Error 1
make[2]: Leaving directory
`/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/glibc-2.3.2/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory
`/home/developer/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.3.6-glibc-2.3.2/glibc-2.3.2'
make: *** [all] Error 2
[developer@localhost crosstool-0.43]$
I have tried gcc-4.0.1 gcc-4.1.2 gcc-3.3.6 gcc-3.4.5
for all of them i get , this kind of error , where in part of the librarries
get compiled
for soft flaot and some part gets compiled with hard floating point.
Can u please guide me which all flags i missing for the compilation.
--
View this message in context: http://www.nabble.com/gcc-crosstool-chain-with-soft-floating-point-support-for-arm9-%2B-java-tp20719472p20719472.html
Sent from the gcc - java mailing list archive at Nabble.com.
More information about the Java
mailing list