striking out at the eabi

Michael K. Edwards m.k.edwards@gmail.com
Mon May 8 02:43:00 GMT 2006


The "linux headers are too old" message is an artifact of the way that
crosstool bootstraps linux headers into the first stage of the glibc
preparation using the host's gcc.  There are changes in syscall
numbering between the old ARM ABI and the EABI which only happen if
__ARM_EABI__ is defined.  Your x86 host gcc of course doesn't define
this symbol, so the glibc configure step errors out when it detects
the old syscall numbering.

The patch attached to "More crosstool-0.42-glibc-2.4-gcc-4.1.0-nptl"
works around this by adding a "GLIBC_FAKE_CROSS_ARGS" parameter to
crosstool.  The value of this parameter gets tacked onto commands that
pretend that the host gcc is the target gcc; setting it to
-D__ARM_EABI__ (as in my earm.dat) resolves the "old headers" problem.

I would be interested in hearing what results you get with that patch,
especially if you will be using binutils 2.16.92.  I am still working
on kernel 2.6.16.11, having ported the RT/preempt patch to it; once I
work through the rest of the arch/mach issues for my board, I may move
on to 2.6.17.  Note, however, that apparently Linus has announced that
2.6.16 will be supported (i.e., security and critical-bug-fix patched)
long-term, so it may be a good branch point for embedded developers.

Cheers,
- Michael

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list