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

Heiko Schocher
2015-12-09T08:46:18Z

Hello Wenyou,

Am 09.12.2015 um 09:34 schrieb Yang, Wenyou:
> 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.

There are only 16K sram for SPL ... we need some bytes also
for the stack ...

bye,
Heiko
>
>>
>> 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
>

--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany