Installing headers with 0.9.29 spawns gcc errors
Rob Landley
rob at landley.net
Fri Jun 22 05:14:55 UTC 2007
On Thursday 21 June 2007 18:30:26 Yann E. MORIN wrote:
> The error occurs when the target architecture is not the same as the
> build/host one. That is, building a i?86-unknown-linux-uclibc on a
> i?86-unknown-linux-{gnu,uclibc} might not be affected (although it is
> still buggy in an other way, imho).
I've been doing this with my Firmware Linux build thingy for some time, so
there's obviously more to it than that...
> > How do I reproduce this again?
>
> My setup is:
> - linux-2.6.21.5's "make ARCH=i586 headers_install"
> - uClibc configured for arm
You install i586 headers and then build an arm uClibc against that?
How is that supposed to work at _all_? Your linux/asm directory would be all
wrong.
> - no locale support in uClibc
> - uClibc-0.9.29's "make headers"
> At this point, binutils' and gcc's flavour don't matter, if I'm not misled.
ARCH=i586 plus uClibc's arch of arm: it go boing.
ARCH=arm and uClibc's arch of arm, that might work.
If that was a typo, then disabling locale support is the only potential point
of weirdness, except that my config hasn't got locale support in it either.
> I just tested this x-compiler:
> - build/host: x86_64 (AMD)
> - target: armv5b (xscale)
I've built for armv4l and armv5l. Haven't done the big endian ones yet, but
I've done both endiannesses of mips and they worked.
> You'll see something like:
> [ALL ] #
> [ALL ] # configuration written to .config
> [ALL ] #
> [ALL ] ./extra/scripts/conf-header.sh .config >
> include/bits/uClibc_config.h [ERROR] cc1: error: unrecognized command line
> option "-mbig-endian" [ERROR] :0: error: bad value (armv5te) for -march=
> switch
In mine it's:
Compile all sources at once into an object (DOMULTI) [N/y/?] n
Manuel's hidden warnings (UCLIBC_MJN3_ONLY) [N/y/?] n
#
# configuration written to .config
#
./extra/scripts/conf-header.sh .config > include/bits/uClibc_config.h
CC ldso/ldso/ldso.oS
AS ldso/ldso/arm/resolve.oS
That's building for armv4l with 0.9.29 stock.
The relevant section of my script is:
# Build and install uClibc
setupfor uClibc
make CROSS= allnoconfig KCONFIG_ALLCONFIG="${WORK}"/miniconfig-uClibc &&
make CROSS="${ARCH}-" KERNEL_HEADERS="${CROSS}/include" PREFIX="${CROSS}/" \
RUNTIME_PREFIX=/ DEVEL_PREFIX=/ all install_runtime install_dev &&
cd .. &&
$CLEANUP uClibc*
> (Tags on the left are my logger's output.)
>
> You have to note that the error messages are not spitted out by the script
> ./extra/scripts/conf-header.sh, but by extra/scripts/gen_bits_syscall_h.sh
> which is called later. The builds were 'silent' and I have no time to
> produce verbose builds: sleep is catching fast... :-(
>
> Once the patch has been applied, both x-compilers don't spit the error any
> more.
They're not doing it for me now. I'd like to reproduce the problem before
endorsing a solution.
> Regards,
> Yann E. MORIN.
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
More information about the uClibc
mailing list