This is the mail archive of the mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: crosstool-0.28-rc7, host cygwin, target ARM

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

- Dan

My technical stuff:
My politics: see for examples of why I'm for regime change

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]