[U-Boot] compile errors with gcc-4.5.1 on OXC and RMU boards
Scott Wood
scottwood at freescale.com
Fri Dec 10 19:27:14 CET 2010
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/freescale/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?
-Scott
More information about the U-Boot
mailing list