Installing headers with 0.9.29 spawns gcc errors

Yann E. MORIN yann.morin.1998 at anciens.enib.fr
Thu May 17 18:46:56 UTC 2007


Hello!

I'm trying to install the uClibc-0.9.29 headers to be used next to build gcc.
My target is armeb, xscale.

When installing the headers, we don't necessarily have a cross-compiler handy,
because that's what we're trying to get in the first place.

Unfortunately, Rules.mak does the following (only arm shown):

===
ifeq ($(TARGET_ARCH),arm)
    OPTIMIZATION+=-fstrict-aliasing
    CPU_LDFLAGS-$(ARCH_LITTLE_ENDIAN)+=-EL
    CPU_LDFLAGS-$(ARCH_BIG_ENDIAN)+=-EB
    CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN)+=-mlittle-endian
    CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mbig-endian
    CPU_CFLAGS-$(CONFIG_GENERIC_ARM)+=
    CPU_CFLAGS-$(CONFIG_ARM610)+=-mtune=arm610 -march=armv3
    CPU_CFLAGS-$(CONFIG_ARM710)+=-mtune=arm710 -march=armv3
    CPU_CFLAGS-$(CONFIG_ARM7TDMI)+=-mtune=arm7tdmi -march=armv4t
    CPU_CFLAGS-$(CONFIG_ARM720T)+=-mtune=arm7tdmi -march=armv4t
    CPU_CFLAGS-$(CONFIG_ARM920T)+=-mtune=arm9tdmi -march=armv4t
    CPU_CFLAGS-$(CONFIG_ARM922T)+=-mtune=arm9tdmi -march=armv4t
    CPU_CFLAGS-$(CONFIG_ARM926T)+=-mtune=arm9tdmi -march=armv5t
    CPU_CFLAGS-$(CONFIG_ARM10T)+=-mtune=arm10tdmi -march=armv5t
    CPU_CFLAGS-$(CONFIG_ARM1136JF_S)+=-mtune=arm1136jf-s -march=armv6
    CPU_CFLAGS-$(CONFIG_ARM1176JZ_S)+=-mtune=arm1176jz-s -march=armv6
    CPU_CFLAGS-$(CONFIG_ARM1176JZF_S)+=-mtune=arm1176jzf-s -march=armv6
    CPU_CFLAGS-$(CONFIG_ARM_SA110)+=-mtune=strongarm110 -march=armv4
    CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4
    CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
    CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale
    CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
endif
===

That's bad, because my native compiler, for x86-64, understands none of those,
and building the headers bombs out with:

===
cc1: error: unrecognized command line option "-mbig-endian"
:0: error: bad value (armv5te) for -march= switch
cc1: error: unrecognized command line option "-mbig-endian"
:0: error: bad value (armv5te) for -mtune= switch
:0: error: bad value (armv5te) for -march= switch
:0: error: bad value (armv5te) for -mtune= switch
===

The build seems OK, but IMHO that's ugly.

Shouldn't we add each of those {gcc,as,ld} options using call_{gcc,as,ld) ?

Comments?

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