* gcc crosstool chain with soft floating point support for arm9 + java
@ 2008-11-27 13:42 kpremendra
2008-11-27 14:28 ` Andrew Haley
0 siblings, 1 reply; 2+ messages in thread
From: kpremendra @ 2008-11-27 13:42 UTC (permalink / raw)
To: java
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: gcc crosstool chain with soft floating point support for arm9 + java
2008-11-27 13:42 gcc crosstool chain with soft floating point support for arm9 + java kpremendra
@ 2008-11-27 14:28 ` Andrew Haley
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Haley @ 2008-11-27 14:28 UTC (permalink / raw)
To: kpremendra; +Cc: java
kpremendra wrote:
> I am using crosstool 0.43 to generate crosstool for arm9 with soft float,
> with c,c++,java
> languages support.
Firstly, gcj was not supported on ARM before gcc 4.3. It's only supported
on the new EABI, arm-linux-gnueabi. There is arm-linux-gnu, the old one,
and arm-linux-gnueabi, the new one. The old one defaults to soft float, the
new one hard float.
So, are you building arm-linux-gnu or arm-linux-gnueabi?
This is my configury for X-arm gcc with gcj:
/home/aph/gcc/trunk/configure --prefix=/local/x-arm-gcc/install \
--with-sysroot=/local/x-arm-gcc/rootfs-f8 --disable-libssp \
--disable-libgomp --disable-libmudflap --enable-libgcj \
--disable-bootstrap --disable-multilib --disable-static \
--disable-sjlj-exceptions --target=arm-linux-gnueabi \
--enable-java-awt=gtk \
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/jre \
--enable-languages=c,c++,java
This should get you a cross-compiler compatible with an EABI kernel.
Andrew.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-11-27 14:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-27 13:42 gcc crosstool chain with soft floating point support for arm9 + java kpremendra
2008-11-27 14:28 ` Andrew Haley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).