crosstool-0.28-rc7, host cygwin, target ARM
Michael Röhner
mroehner@gmx.de
Sun May 9 19:04:00 GMT 2004
Thank you very much for your helpful information.
Now it looks like some more work, for me ;-)
But much easier as without crosstool.
I think, eh, had thought, that the toolchains are consistently build,
i.e. all with soft-float off, all with generic ARM instruction set.
> (What do + and - mean? + means worked, and - means didn't try?)
Sorry. "+" means worked, "-" means cannot try since toolchain compile error.
> The float output error is probably fixed by
crosstool-0.28-rc*/contrib/glibc-vfp.patch
> Try copying that into patches/glibc-2.3.2 and see if that helps... but come
to think
> of it, maybe it won't, since you are running against 2.1.3. Hrmph.
I think first I have to apply -mcpu, then apply the patch,
then linking -static, then report the results.
> There have been some good posts on
http://lists.arm.linux.org.uk/pipermail/linux-arm/
> lately, be sure to ask there too.
Uups. I'am searching this list for other reasons, maybe I have to
search it for compiler/lib problems, too.
> crosstool-0.28-rc12 has only small improvements over rc7; ...
I tried some things with rc12, for example gcc 3.3.3 with libc 2.3.2
as with rc7, but there is a cygwin specific strangeness:
getandpatch.sh: cannot open
/usr/src/crosstools/crosstool-0.28-rc12/patches/glibc-2.3.2/glibc-2.2.5-crosstest.patch:
permission denied
+ cat patch1776.log
cat: patch1776.log: No such file or directory
Eh? - cygwin's tar doesn't create the symbolic link to
glibc-2.2.5-crosstest.patch as in rc7, hmmm.
0 Bytes with permissions ----------.
No such behaviour with Linux.
I copied from Linux via Samba. Now I have a working rc12 with cygwin
but without any links (file copy instead link copy).
> The release candidates are announced to crossgcc@sources.redhat.com
> when they're worth mentioning.
Ok.
> Do you know if you want soft-float, by the way?
Yes, I know. I know that I do not need soft-float.
Linux kernel is compiled with "CONFIG_FPE_NWFPE=y".
This is not the best implementation regarding speed,
but I am using float's only for 2 cases:
1. One time initialising of int tables on startup.
2. Linking with a library which use float,
but my application don't use these functions.
> armv4, eh? Did you see this post?
> http://www.spinics.net/lists/arm/msg07291.html
No, I don't. Very interesting, these and the links within.
Since I don't use soft-float etc., I don't have in mind
mailings with this topic. Now I know that I have to
read these, too.
> Yes, maybe you need to set a cpu option; you can set -mcpu=xxxx in
TARGET_CFLAGS,
> and --with-cpu=xxxx and --enable-cxx-flags=-mcpu=xxxx in GCC_EXTRA_CONFIG,
> like ppc405.dat does, maybe.
Some dozen (really!) config's and runs later ...
Trying rc12 with
- gcc < 3.4.0:
export GCC_EXTRA_CONFIG="--with-fp --with-cpu=strongarm
--enable-cxx-flags=-mcpu=strongarm1110"
export GLIBC_EXTRA_CONFIG="--with-fp --with-cpu=strongarm"
gcc = 3.4.0:
export GCC_EXTRA_CONFIG="--with-fp"
export GLIBC_EXTRA_CONFIG="--with-fp"
- gcc < 3.4.0:
export TARGET_CFLAGS="-O2 --mcpu=strongarm1110"
gcc = 3.4.0:
export TARGET_CFLAGS="-O"
- 2.95.3 < gcc < 3.4.0 (!):
glibc-vfp.patch applied for glibc 2.3.2
(copied from contrib to patches)
- gcc = 3.4.0:
Linux 2.4.21 Headers as rc7 instead 2.6.5 as in rc12
(creating toolchain has an error with 2.6.5)
give the results:
Linux toolchain -static
gcc glibc Header compile test program
2.95.3 2.1.3 2.4.18 + +
3.3.2 2.1.3 2.4.24 error 3 -
3.3.2 2.3.2 2.4.24 + +
3.3.3 2.1.3 2.4.18/24 error 3 -
3.3.3 2.3.2 2.4.24 + +
3.4.0 2.1.3 2.4.18/21 error 4 -
3.4.0 2.3.2 2.4.18/21 + +
Explicit setting of CPU type resolves the illegal instruction error.
Without glibc-vfp.patch and with -static: float output error. Even
though comment "for soft-float" within the patch. The patch is not
needed for gcc 2.4.0 with glibc 2.3.2. (!?)
Solved: Illegal instruction, float output.
Remaining: gcc 3.4.0 or 3.3.x with glibc 2.1.3.
It seems to me that error 3 is the same as with gcc 3.4.0
and cpu=strongarm config.
> MfG
Uups :-)
Ditto.
Mike.
------
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