crosstool-0.28-rc7, host cygwin, target ARM

Dan Kegel dank@kegel.com
Sun May 9 20:58:00 GMT 2004


Michael Röhner wrote:
> 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).

Grumble.  OK, I've removed the symlinks in patches/glibc-2.3.2.  Thanks for the report.

>  > 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.

Wow, that's a lot of work!  Thanks for reporting so carefully.
The only other thing I'd like to see is the literal text of the
compile errors (that way when people google for the error message,
they can see how you solved it).

It sounds like glibc-vfp.patch is a Good Thing then, even when
not using soft float.  Do you agree that I should apply that always,
and that it does not harm gcc-3.4.0 builds?

It also sounds like gcc-3.4.0 is a Good Thing, but that I shound
default to using 2.4 kernel headers until using the 2.6 kernel headers
builds on all architectures.

My arm*.dat files were put together rather carelessly (I don't have arm
here to test with).  Perhaps you could suggest a better set of arm*.dat
and demo-arm*.sh files, or at least one that works for your needs?

Thanks!
- Dan

-- 
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change

------
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