[U-Boot] [PATCH] defconfig: taurus_defconfig: disable SPL

Yang, Wenyou
2015-12-09T08:34:12Z

Hi

> -----Original Message-----
> From: Heiko Schocher [mailto:hs at denx.de]
> Sent: 2015?12?9? 16:00
> To: Yang, Wenyou <Wenyou.Yang@atmel.com>
> Cc: U-Boot Mailing List <u-boot@lists.denx.de>; andreas.devel at googlemail.com;
> Meier, Roger <r.meier@siemens.com>
> Subject: Re: [PATCH] defconfig: taurus_defconfig: disable SPL
>
> Hello Wenyou,
>
> Am 09.12.2015 um 08:43 schrieb Yang, Wenyou:
> > Hello Heiko,
> >
> >> -----Original Message-----
> >> From: Heiko Schocher [mailto:hs at denx.de]
> >> Sent: 2015?12?9? 15:39
> >> To: Yang, Wenyou <Wenyou.Yang@atmel.com>
> >> Cc: U-Boot Mailing List <u-boot@lists.denx.de>;
> >> andreas.devel at googlemail.com; Meier, Roger <r.meier@siemens.com>
> >> Subject: Re: [PATCH] defconfig: taurus_defconfig: disable SPL
> >>
> >> Hello Wenyou,
> >>
> >> Am 09.12.2015 um 08:15 schrieb Wenyou Yang:
> >>> Build SPL with taurus_defconfig defconfig file.
> >>> It build fails with following log message:
> >>>
> >>> ---8< ----
> >>> $ make mrproper
> >>> $ make taurus_defconfig
> >>> $ make SPL
> >>> [...]
> >>> LD spl/lib/built-in.o
> >>> LDS spl/u-boot-spl.lds
> >>> LD spl/u-boot-spl
> >>> arm-none-linux-gnueabi-ld: SPL image too big
> >>> make[1]: *** [spl/u-boot-spl] Error 1
> >>> make: *** [spl/u-boot-spl] Error 2
> >>> --->8----
> >>>
> >>> This board code is not ready for SPL for now, so disable CONFIG_SPL.
> >>>
> >>> Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
> >>> ---
> >>>
> >>> configs/taurus_defconfig | 1 -
> >>> 1 file changed, 1 deletion(-)
> >>
> >> NACK.
> >>
> >> With which toolchain?
> >
> > The toolchain is Sourcery CodeBench Lite 2013.05-24. Here is the
> > toolchain information,
> >
> > ---8<-----
> > $ arm-none-linux-gnueabi-gcc -v
> > Using built-in specs.
> > COLLECT_GCC=arm-none-linux-gnueabi-gcc
> > COLLECT_LTO_WRAPPER=/home/wyang/opt/arm-
> 2013.05/bin/../libexec/gcc/arm
> > -none-linux-gnueabi/4.7.3/lto-wrapper
> > Target: arm-none-linux-gnueabi
> > Configured with:
> > /scratch/jbrown/2013.05-arm-linux-release/src/gcc-4.7-2013.05/configur
> > e --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='%{save-temps: -fverbose-asm}
> > %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-fu
> > nwind-tables} -D__CS_SOURCERYGXX_MAJ__=2013 -
> D__CS_SOURCERYGXX_MIN__=5
> > -D__CS_SOURCERYGXX_REV__=24 %{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
> > --enable-lto --enable-symvers=gnu --enable-__cxa_atexit
> > --with-pkgversion='Sourcery CodeBench Lite 2013.05-24'
> > --with-bugurl=https://sourcery.mentor.com/GNUToolchain/ --disable-nls
> > --prefix=/opt/codesourcery
> > --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --w
> i
> th-build-sysroot=/scratch/jbrown/2013.05-arm-linux-release/install/arm-none-linux-
> gnueabi/libc --with-gmp=/scratch/jbrown/2013.05-arm-linux-release/obj/pkg-
> 2013.05-24-arm-none-linux-gnueabi/arm-2013.05-24-arm-none-linux-
> gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-
> mpfr=/scratch/jbrown/2013.05-arm-linux-release/obj/pkg-2013.05-24-arm-none-
> linux-gnueabi/arm-2013.05-24-arm-none-linux-gnueabi.extras/host-libs-i686-pc-
> linux-gnu/usr --with-mpc=/scratch/jbrown/2013.05-arm-linux-release/obj/pkg-
> 2013.05-24-arm-none-linux-gnueabi/arm-2013.05-24-arm-none-linux-
> gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-ppl=/scratch/jbrown/2013.05-
> arm-linux-release/obj/pkg-2013.05-24-arm-none-linux-gnueabi/arm-2013.05-24-
> arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-host-
> libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-
> cloog=/scratch/jbrown/2013.05-arm-linux-release/obj/pkg-2013.05-24-arm-none-
> linux-gnueabi/arm-2013.05-24-arm-none-linux-gnueabi.extr
> a
> s/host-libs-i686-pc-linux-gnu/usr --with-libelf=/scratch/jbrown/2013.05-arm-linux-
> release/obj/pkg-2013.05-24-arm-none-linux-gnueabi/arm-2013.05-24-arm-none-
> linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --disable-libgomp --disable-
> libitm --enable-poison-system-directories --with-build-time-
> tools=/scratch/jbrown/2013.05-arm-linux-release/install/arm-none-linux-
> gnueabi/bin --with-build-time-tools=/scratch/jbrown/2013.05-arm-linux-
> release/install/arm-none-linux-gnueabi/bin
> > Thread model: posix
> > gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-24)
> > --->8---------
>
> Just tried with
>
> hs at localhost:u-boot [master] $ arm-unknown-linux-gnueabi-gcc -v Using built-in
> specs.
> COLLECT_GCC=arm-unknown-linux-gnueabi-gcc
> COLLECT_LTO_WRAPPER=/home/hs/data/Entwicklung/zug/cacheperformance/c
> rosstool/tools-linaro-5.2-20151110/arm-unknown-linux-gnueabi/libexec/gcc/arm-
> unknown-linux-gnueabi/5.2.1/lto-wrapper
> Target: arm-unknown-linux-gnueabi
> Configured with:
> /home/hs/data/Entwicklung/zug/cacheperformance/crosstool/.build/src/gcc-
> custom/configure
> --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu
> --target=arm-unknown-linux-gnueabi
> --prefix=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/tools-linaro-
> 5.2-20151110/arm-unknown-linux-gnueabi
> --with-sysroot=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/tools-
> linaro-5.2-20151110/arm-unknown-linux-gnueabi/arm-unknown-linux-
> gnueabi/sysroot
> --enable-languages=c --with-pkgversion='crosstool-NG 1.21.0' --enable-
> __cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-
> libquadmath --disable-libquadmath-support --disable-libsanitizer --with-
> gmp=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/.build/arm-
> unknown-linux-gnueabi/buildtools
> --with-
> mpfr=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/.build/arm-
> unknown-linux-gnueabi/buildtools
> --with-
> mpc=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/.build/arm-
> unknown-linux-gnueabi/buildtools
> --with-ppl=no --with-isl=no --with-cloog=no --with-
> libelf=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/.build/arm-
> unknown-linux-gnueabi/buildtools
> --enable-threads=posix --enable-target-optspace --disable-nls --disable-multilib --
> with-local-
> prefix=/home/hs/data/Entwicklung/zug/cacheperformance/crosstool/tools-linaro-
> 5.2-20151110/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot
> --enable-c99 --enable-long-long
> Thread model: posix
> gcc version 5.2.1 20151110 (crosstool-NG 1.21.0) hs at localhost:u-boot [master]
> $
>
> hs at localhost:u-boot [master] $ make taurus_defconfig
> HOSTCC scripts/basic/fixdep
> make all HOSTCC scripts/kconfig/conf.o
>
> SHIPPED scripts/kconfig/zconf.tab.c
> SHIPPED scripts/kconfig/zconf.lex.c
> SHIPPED scripts/kconfig/zconf.hash.c
> HOSTCC scripts/kconfig/zconf.tab.o
> HOSTLD scripts/kconfig/conf
> #
> # configuration written to .config
> #
> hs at localhost:u-boot [master] $ make all scripts/kconfig/conf --silentoldconfig
> Kconfig [...]
> LD spl/u-boot-spl
> OBJCOPY spl/u-boot-spl.bin
> CFG spl/u-boot-spl.cfg
> MKIMAGE boot.bin
> MKIMAGE u-boot.img
> hs at localhost:u-boot [master] $
> hs at localhost:u-boot [master] $ ls -al spl/u-boot-spl.bin -rwxrwxr-x. 1 hs hs 15824
> 9. Dez 08:56 spl/u-boot-spl.bin hs at localhost:u-boot [master] $
>
> Use another toolchain? How big is your spl/u-boot-spl.bin ?

I will try another toolchain.
The size of spl/u-boot-spl.bin is 16048 generated by my current toolchain.

---8<-----
$ ls -l spl/u-boot-spl.bin
-rwxrwxr-x 1 wyang wyang 16048 Dec 9 16:16 spl/u-boot-spl.bin
--->8----

Maybe the "CONFIG_SPL_MAX_SIZE" should be changed to bigger one, not above 16K. It will be OK.

>
> bye,
> Heiko
> >
> >>
> >> Here current build of u-boot on travis-ci.org:
> >> with eldk-5.4:
> >> https://travis-ci.org/u-boot/u-boot/jobs/95590341
> >> https://travis-ci.org/u-boot/u-boot/jobs/95590311
> >>
> >> bye,
> >> Heiko
> >>>
> >>> diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
> >>> index
> >>> d59912c..557b066 100644
> >>> --- a/configs/taurus_defconfig
> >>> +++ b/configs/taurus_defconfig
> >>> @@ -1,7 +1,6 @@
> >>> CONFIG_ARM=y
> >>> CONFIG_ARCH_AT91=y
> >>> CONFIG_TARGET_TAURUS=y
> >>> -CONFIG_SPL=y
> >>>
> >>
> CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2067,BOARD_
> >> TAURUS"
> >>> CONFIG_SYS_PROMPT="U-Boot> "
> >>> # CONFIG_CMD_BDI is not set
> >>>
> >>
> >> --
> >> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> >
> > Best Regards,
> > Wenyou Yang
> >
>
> --
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Best Regards,
Wenyou Yang