
Jivin Shawn Jin lays it down ...
Hi,
I checked out u-boot code from CVS today and tried to compile it for ARM IntegratorCP board. The cross toolchain I used is arm-elf-tools downloaded from uClinux.org. Unfortunately I got the following compilation error.
arm-elf-gcc -g -Os -fno-strict-aliasing -fno-common -ffixed-r8 -mshort-load-bytes -msoft-float -D__KERNEL__ -DTEXT_BASE=0x01000000 -I/u/code/denx/u-boot/include -fno-builtin -ffreestandin g -nostdinc -isystem /usr/local/lib/gcc-lib/arm-elf/2.95.3/include -pipe -DCONFIG_ARM -D__ARM__ - mapcs-32 -march=armv4 -Wall -Wstrict-prototypes -c -o cfi_flash.o cfi_flash.c In file included from cfi_flash.c:48: /u/code/denx/u-boot/include/asm/processor.h:52: parse error before `1' /u/code/denx/u-boot/include/asm/processor.h:52: warning: no semicolon at end of struct or union /u/code/denx/u-boot/include/asm/processor.h:54: parse error before `}' /u/code/denx/u-boot/include/asm/processor.h:58: field `insn' has incomplete type
The code is extracted from the header file processor.h.
51> union debug_insn { 52> u32 arm; 53> u16 thumb; 54> }; 55> 56> struct debug_entry { 57> u32 address; 58> union debug_insn insn; 59> };
However I really don't think there is any syntax error. It might be a toolchain problem?
I think, at least for that version of the toolchain, it implicitly defines "arm", and I suspect it defines it to be "1", thus the errors you are seeing. You may be able to add a -Uarm to eth build line,
Cheers, Davidm