Installing headers with 0.9.29 spawns gcc errors

Yann E. MORIN yann.morin.1998 at anciens.enib.fr
Thu Jun 21 22:30:26 UTC 2007


Rob, all,
Hello again!

Well, I want this sorted out asap. Sleep will wait. Should be my moto
those days... :-/

On Thursday 21 June 2007 21:52, Rob Landley wrote:
> I haven't commented because I haven't encountered the bug this fixes.  Lemme 
> see, it looks like if I build on i386, disable locale in uClibc, and use 
> 2.6.21 "make headers_install" headers, will I see the bug?  Or do I have to 
> dredge up an armeb cross compiler configured for xscale to comment?

No, not at all. Not having a cross-compiler in the first place does
trigger the bug. If you already have one, then no bug.

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

> How do I reproduce this again?

My setup is:
 - linux-2.6.21.5's "make ARCH=i586 headers_install"
 - uClibc configured for arm
 - 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.

I just tested this x-compiler:
 - build/host: x86_64 (AMD)
 - target:     armv5b (xscale)

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
[ERROR]  :0: error: bad value (strongarm110) for -mtune= switch
[ERROR]  cc1: error: unrecognized command line option "-mbig-endian"
[ERROR]  :0: error: bad value (armv5te) for -march= switch
[ERROR]  :0: error: bad value (strongarm110) for -mtune= switch
[EXTRA]  Installing headers

and this one:
 - build/host: x86_64 (AMD)
 - target:     i586   (geode)

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]  :0: error: CPU you selected does not support x86-64 instruction set
[ERROR]  :0: error: CPU you selected does not support x86-64 instruction set
[ERROR]  :0: error: CPU you selected does not support x86-64 instruction set
[ERROR]  :0: error: CPU you selected does not support x86-64 instruction set
[EXTRA]  Installing headers

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

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< °_° >==-- °------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
°------------------------------°-------°------------------°--------------------°




More information about the uClibc mailing list