gcc 4.0.2 arm-softfloat-linux
Michelsen, Robert
Robert.Michelsen@vitk.vossloh.com
Tue Oct 4 15:16:00 GMT 2005
Hello,
i just want to add that gcc 4.0.2 series toolchain compiles and
successfully run software (userland) on test system now.
target: arm7 (sharp blue streak series), linux (2.4.27 series) with
softfloat
host: cygwin (win xp) and fedora linux
================================================
/opt/crosstool/src/crosstool-0.38
$ ls patches/gcc-4.0.2/
fix-fixincl.patch
gcc-3.4.0-arm-lib1asm.patch
gcc-4.0.2-arm-nolibfloat.patch
pr20815-fix.patch
------------------
The "gcc-4.0.2-arm-nolibfloat" patch is rediffed/modified against
"arm-nolibfloat.patch" of gcc 3.4.x series
Probably useful for 4.0.0 and 4.0.1 too.
--- gcc-4.0.2/gcc/config/arm/linux-elf.h.orig 2005-09-30
11:58:10.218750000 +0200
+++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-09-30
11:58:44.984375000 +0200
@@ -56,7 +56,7 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat}
-lgcc"
+#define LIBGCC_SPEC "-lgcc"
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
------------------
The "gcc-3.4.0-arm-lib1asm" patch is modified to get glibc 2.3.5 to
build (notice additional "_floatdidf _floatdisf")
diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux
gcc-3.4.0/gcc/config/arm/t-linux
--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20
23:09:07.000000000 +0200
+++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400
+0200
@@ -4,7 +4,10 @@
LIBGCC2_DEBUG_CFLAGS = -g0
LIB1ASMSRC = arm/lib1funcs.asm
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
_fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float
================================================
$ cat gcc-4.0.2-glibc-2.3.5-linux-2.4.27-vrs1-lineo5-stl3.dat
BINUTILS_DIR=binutils-2.16.1
GCC_DIR=gcc-4.0.2
GLIBC_DIR=glibc-2.3.5
LINUX_DIR=linux-2.4.27-vrs1-lineo5-stl3
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.5
GDB_DIR=gdb-6.3.50.20050926
------------------
$ cat arm-softfloat-linux.dat
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-softfloat-linux-gnu
TARGET_CFLAGS="-O"
GCC_EXTRA_CONFIG="--with-float=soft --with-cpu=arm7tdmi \
--enable-cxx-flags=-mcpu=arm7tdmi"
GLIBC_EXTRA_CONFIG="--without-fp"
------------------
I have now two cross toolchains running (capable of producing arm
executables):
gcc-3.4.4-glibc-2.3.3-linux-2.4.27-vrs1-lineo5-stl3.dat (stable,
production systems)
gcc-4.0.2-glibc-2.3.5-linux-2.4.27-vrs1-lineo5-stl3.dat (testing, mainly
due to C++ optimization improvements)
I have also running the same toolchains as native x86 cygwin/mingw32
(not cross but just for additonal testing, because the software is cross
true platform)
I want to say "thank you" once again for this wonderful crosstool.
It is a real time-saver.
Regards,
Robert
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list