[U-Boot] axm SPL image too big

Tom Rini trini at konsulko.com
Wed Jan 13 16:45:06 CET 2016


On Wed, Jan 13, 2016 at 06:22:34AM +0100, Heiko Schocher wrote:
> Hello Albert,
> 
> Am 12.01.2016 um 15:25 schrieb Albert ARIBAUD:
> >Hello Heiko,
> >
> >On Tue, 12 Jan 2016 11:48:17 +0100, Heiko Schocher <hs at denx.de> wrote:
> >>Hello Albert,
> >>
> >>Am 12.01.2016 um 11:26 schrieb Albert ARIBAUD:
> >>>(cc:ing Heiko as the maintainer for axm/taurus)
> >>>
> >>>Hello,
> >>>
> >>>AXM is currently the only board failing 'buildman arm aarch64':
> >>>
> >>>+arm-unknown-linux-gnueabi-ld.bfd: SPL image too big
> >>>+make[2]: *** [spl/u-boot-spl] Error 1
> >>>+make[1]: *** [spl/u-boot-spl] Error 2
> >>>+make: *** [sub-make] Error 2
> >>>
> >>>Apparently SPL is already being built in Thumb instruction set, so no
> >>>way to gain anything that way.
> >>
> >>I know, it was tricky to get SPL into 4k ...
> >>
> >>>What else can we do to get SPL size back under limit?
> >>
> >>Hmm.. what is your exact toolchain?
> >
> >I tested with the buildman-fetched gcc, -v gives 'gcc version 4.9.0
> >(GCC)'.
> >
> >I've deleted the toolchain and re-fetched it again through buildman in
> >case there was an issue with the install, and am getting the same
> >result.
> >
> >I've also tested with the latest ARM gcc package available with Ubuntu,
> >that is, 'gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu1)', again
> >with the same result.
> >
> >>I see for the axm board:
> >>
> >>With eldk-5.4
> >>pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot
> >>     text    data     bss     dec     hex filename
> >>   212583   23792   23552  259927   3f757 u-boot
> >>pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size spl/u-boot-spl
> >>     text    data     bss     dec     hex filename
> >>    14568    1212    1140   16920    4218 spl/u-boot-spl
> >>pollux:u-boot-smartweb hs [master] $
> >
> >Confirmed right now that with eldk 5.4's gcc 4.7.2 axm builds fine.
> >
> >>With eldk-5.5
> >>pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot
> >>     text    data     bss     dec     hex filename
> >>   210690   23672   23556  257918   3ef7e u-boot
> >>pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size spl/u-boot-spl
> >>     text    data     bss     dec     hex filename
> >>    14472    1212    1140   16824    41b8 spl/u-boot-spl
> >>pollux:u-boot-smartweb hs [master] $
> >
> >Confirmed right now that with eldk 5.5's (or 5.5.3's) gcc 4.8.1 axm
> >builds fine.
> >
> >The issue appears with gcc 4.9 and 5.2.1 (and I suspect any version
> >between 4.9 and 5.2.1 and beyond 5.2.1)
> 
> Yes :-(
> 
> Tested with linaro 5.2 using:
> hs at localhost:u-boot  [master] $ arm-unknown-linux-gnueabi-gcc --version
> arm-unknown-linux-gnueabi-gcc (crosstool-NG 1.21.0) 5.2.1 20151005
> Copyright (C) 2015 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> hs at localhost:u-boot  [master] $
> 
> and size is:
> hs at localhost:u-boot  [master] $ arm-unknown-linux-gnueabi-size spl/u-boot-spl
>    text    data     bss     dec     hex filename
>   14734    1212    1140   17086    42be spl/u-boot-spl
> hs at localhost:u-boot  [master] $
> 
> aprox 0x100 bigger than with eldk-5.5 ... :-(
> 
> But I have only 16k sram on at91sam9g20 ... Ok, there are 2 such
> areas, but between them is a hole :-( damn...
> 
> Adding Andreas to cc, may he has an idea?
> 
> Do gcc 4.9 need other settings for optimizing code?

I think the first step in debugging (as I've done this before) is bump
the limit up so you can link and then examine the map file to look for
suspicious things to try and discard (or strings to play around with so
they can be never included, along with the function that was already
discarded).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160113/7c5ba301/attachment.sig>


More information about the U-Boot mailing list