Patchwork [U-Boot] u-boot fails to build for powerpc with gcc 4.5.1

login
register
mail settings
Submitter Darren Hart
Date March 31, 2011, 10:27 p.m.
Message ID <4D94FFC0.7010700@linux.intel.com>
Download mbox | patch
Permalink /patch/89147/
State Not Applicable
Delegated to: Marek Vasut
Headers show

Comments

Darren Hart - March 31, 2011, 10:27 p.m.
The u-boot recipe in Poky (OE core) fails to build u-boot for powerpc.
I've tested the following versions:

v2010.09
v2010.12
v2011.03

All versions fail with:
$ make ARCH=powerpc
CROSS_COMPILE=/opt/poky/1.0/sysroots/x86_64-pokysdk-linux/usr/bin/ppc603e-poky-linux/powerpc-poky-linux-
MPC8315ERDB_config
awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg >
.boards.depend
Generating include/autoconf.mk
cc1: error: Do not use -Os option if --enable-target-optspace is not set.
Generating include/autoconf.mk.dep
cc1: error: Do not use -Os option if --enable-target-optspace is not set.
Configuring for MPC8315ERDB board...

I got past this with:



v2010.09 fails with:
crc32.c:85:1: error: initializer element is not constant crc32.c:85:1: error: (near initialization for 'crc_table[0]') 
This appears to be fixed in later versions.


v2010.12 and v2011.03 fail with:
ehci-hcd.c:59:3: error: initializer element is not constant

Full build logs are available in the bug report here:
http://bugzilla.pokylinux.org/show_bug.cgi?id=943

Thanks,
Kumar Gala - March 31, 2011, 10:56 p.m.
On Mar 31, 2011, at 5:27 PM, Darren Hart wrote:

> The u-boot recipe in Poky (OE core) fails to build u-boot for powerpc.
> I've tested the following versions:
> 
> v2010.09
> v2010.12
> v2011.03
> 
> All versions fail with:
> $ make ARCH=powerpc
> CROSS_COMPILE=/opt/poky/1.0/sysroots/x86_64-pokysdk-linux/usr/bin/ppc603e-poky-linux/powerpc-poky-linux-
> MPC8315ERDB_config
> awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg >
> .boards.depend
> Generating include/autoconf.mk
> cc1: error: Do not use -Os option if --enable-target-optspace is not set.
> Generating include/autoconf.mk.dep
> cc1: error: Do not use -Os option if --enable-target-optspace is not set.
> Configuring for MPC8315ERDB board...
> 
> I got past this with:
> diff --git a/config.mk b/config.mk
> index eb95093..374b262 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -151,7 +151,7 @@ ARFLAGS = crv
> endif
> RELFLAGS= $(PLATFORM_RELFLAGS)
> DBGFLAGS= -g # -DDEBUG
> -OPTFLAGS= -Os #-fomit-frame-pointer
> +OPTFLAGS= #-Os #-fomit-frame-pointer
> ifndef LDSCRIPT
> #LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
> ifeq ($(CONFIG_NAND_U_BOOT),y)
> 
> 
> 
> v2010.09 fails with:
> crc32.c:85:1: error: initializer element is not constant crc32.c:85:1: error: (near initialization for 'crc_table[0]') 
> This appears to be fixed in later versions.
> 
> 
> v2010.12 and v2011.03 fail with:
> ehci-hcd.c:59:3: error: initializer element is not constant
> 
> Full build logs are available in the bug report here:
> http://bugzilla.pokylinux.org/show_bug.cgi?id=943

This is interesting, we've been using a Code Sourcey based 4.5.1 (hard to tell exactly what it is)

gcc version 4.5.1 (Sourcery G++ Lite 2010.09-55) 

and it builds just fine.

- k

Patch

diff --git a/config.mk b/config.mk
index eb95093..374b262 100644
--- a/config.mk
+++ b/config.mk
@@ -151,7 +151,7 @@  ARFLAGS = crv
 endif
 RELFLAGS= $(PLATFORM_RELFLAGS)
 DBGFLAGS= -g # -DDEBUG
-OPTFLAGS= -Os #-fomit-frame-pointer
+OPTFLAGS= #-Os #-fomit-frame-pointer
 ifndef LDSCRIPT
 #LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
 ifeq ($(CONFIG_NAND_U_BOOT),y)