[U-Boot] Fix the Double defind for setenv on ARM platform

Zhong Hongbo bocui107 at gmail.com
Sat Jul 30 19:28:48 CEST 2011


Hi all,

Today, I test s5p_goni board
1. I have found two issue:
(1) Double defind setenv
I found setenv defind in the file of include/common.h and arch/arm/include/asm/u-boot-arm.h. At the same time, common.h include u-boot-arm.h head file. 
(2) The type of parameters is inconsistent for the setenv:
arch/arm/include/asm/u-boot-arm.h:
setenv(char *,char *)

include/common.h:
setenv(const char *,const char *)

When everyone build the board, the error information will be display as following:
/home/seedshope/work/home-project/obj/u-boot/include2/asm/u-boot-arm.h:66: error: conflicting types for 'setenv'

I have test the patch for armv7 cpu to use command "./MAKEALL -a arm -c armv7".
2. The reproduce step as following
(1) The build enviroment:
u-boot is the source PATH and /home/seedshope/work/home-project/obj/u-boot is my object path.
The cross compile version as following:
> /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/jul
 ian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 

(2) configure s5p_goni_board
> make -C u-boot O=/home/seedshope/work/home-project/obj/u-boot CROSS_COMPILE=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi- distclean
make: Entering directory `/home/seedshope/work/home-project/u-boot'
rm -rf /home/seedshope/work/home-project/obj/u-boot/*
make: Leaving directory `/home/seedshope/work/home-project/u-boot'

(3) build s5p_goni board
> make -C u-boot O=/home/seedshope/work/home-project/obj/u-boot CROSS_COMPILE=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
make: Entering directory `/home/seedshope/work/home-project/u-boot'
Generating /home/seedshope/work/home-project/obj/u-boot/include/autoconf.mk
Generating /home/seedshope/work/home-project/obj/u-boot/include/autoconf.mk.dep
make: Leaving directory `/home/seedshope/work/home-project/u-boot'
make: Entering directory `/home/seedshope/work/home-project/u-boot'
/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc -DDO_DEPS_ONLY \
		-g  -Os   -fno-common -ffixed-r8 -msoft-float   -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x34800000 -I/home/seedshope/work/home-project/obj/u-boot/include2 -I/home/seedshope/work/home-project/obj/u-boot/include -I/home/seedshope/work/home-project/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/local/arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/include -pipe  -DCONFIG_ARM -D__ARM__ -marm  -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -Wno-format-nonliteral -Wno-format-security   \
		-o /home/seedshope/work/home-project/obj/u-boot/lib/asm-offsets.s /home/seedshope/work/home-project/u-boot/lib/asm-offsets.c -c -S
In file included from /home/seedshope/work/home-project/u-boot/include/common.h:276,
                 from /home/seedshope/work/home-project/u-boot/lib/asm-offsets.c:18:
/home/seedshope/work/home-project/obj/u-boot/include2/asm/u-boot-arm.h:66: error: conflicting types for 'setenv'
/home/seedshope/work/home-project/u-boot/include/common.h:271: note: previous declaration of 'setenv' was here
make: *** [/home/seedshope/work/home-project/obj/u-boot/lib/asm-offsets.s] Error 1
make: Leaving directory `/home/seedshope/work/home-project/u-boot'




More information about the U-Boot mailing list