[U-Boot] compile errors with gcc-4.5.1 on OXC and RMU boards
Wolfgang Denk
wd at denx.de
Sun Dec 12 22:49:36 CET 2010
Dear Scott Wood,
In message <20101210122714.24b2cbef at udp111988uds.am.freescale.net> you wrote:
> On Fri, 10 Dec 2010 12:14:43 -0600
> Kumar Gala <galak at kernel.crashing.org> wrote:
>
> > On the OXC & RMU boards I'm seeing the following build error:
> >
> > powerpc-linux-gnu-gcc -g -Os -mrelocatable -ffunction-sections -fdata-sections -fPIC -meabi -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0xFFF00000 -I/local/home/galak/git/u-boot-85xx/include -fno-builtin -ffreestanding -nostdinc -isystem /local/opt/freesc
> ale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/../lib/gcc/powerpc-linux-gnu/4.5.1/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_MPC824X -ffixed-r2 -mstring -mcpu=603e -msoft-float -Wall -Wstrict-prototypes -fno-stack-protector \
> > -o board.o board.c -c
> > board.c: In function 'board_init_r':
> > board.c:761:35: error: token "[" is not valid in preprocessor expressions
> > make[1]: *** [board.o] Error 1
> >
> > Not sure what to be done about it, since OXC.h defines:
> >
> > #define CONFIG_SYS_FLASH_BASE (0-flash_info[0].size)
>
> This:
>
> # elif CONFIG_SYS_MONITOR_BASE == CONFIG_SYS_FLASH_BASE
>
> requires that CONFIG_SYS_FLASH_BASE be a preprocessor-evaluatable
> constant. flash_info[0].size isn't any sort of constant. I don't see
> how it ever worked -- probably just got evaluated as zero, or a string
> compare, or something.
>
> As for what's to be done, I'll start by getting the attention of anyone
> who cares about these boards by putting the board names in the
> subject. :-)
>
> Maybe convert the #elif into a regular if-statement?
No, I think this is a bug in the tool chain.
The "#elif" above should never be evaluated because the corresponding
# if defined(CONFIG_OXC) || defined(CONFIG_RMU)
already catches the case for the OXC & RMU boards.
Or has the rule officially been dropped that the "#if" in the C
prepro use the same shortcut logic as the "if" in C?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"And it should be the law: If you use the word `paradigm' without
knowing what the dictionary says it means, you go to jail. No
exceptions." - David Jones @ Megatest Corporation
More information about the U-Boot
mailing list