From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 13 Jan 2016 06:22:34 +0100 Subject: [U-Boot] axm SPL image too big In-Reply-To: <20160112152538.4d33acb7@lilith> References: <20160112112624.2cf8afed@lilith> <5694D9F1.8080208@denx.de> <20160112152538.4d33acb7@lilith> Message-ID: <5695DF1A.3080505@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 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? bye, Heiko -- -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany