Re: [U-Boot] axm SPL image too big
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 Schocherwrote: > >>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 > >> textdata 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 > >> textdata bss dec hex filename > >>1456812121140 169204218 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 > >> textdata 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 > >> textdata bss dec hex filename > >>1447212121140 1682441b8 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@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@localhost:u-boot [master] $ > > and size is: > hs@localhost:u-boot [master] $ arm-unknown-linux-gnueabi-size spl/u-boot-spl >textdata bss dec hex filename > 1473412121140 1708642be spl/u-boot-spl > hs@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 signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] axm SPL image too big
Hello Albert, Am 12.01.2016 um 15:25 schrieb Albert ARIBAUD: Hello Heiko, On Tue, 12 Jan 2016 11:48:17 +0100, Heiko Schocherwrote: 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 textdata 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 textdata bss dec hex filename 1456812121140 169204218 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 textdata 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 textdata bss dec hex filename 1447212121140 1682441b8 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@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@localhost:u-boot [master] $ and size is: hs@localhost:u-boot [master] $ arm-unknown-linux-gnueabi-size spl/u-boot-spl textdata bss dec hex filename 1473412121140 1708642be spl/u-boot-spl hs@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 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] axm SPL image too big
Hello Heiko, On Tue, 12 Jan 2016 11:48:17 +0100, Heiko Schocherwrote: > 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 > textdata 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 > textdata bss dec hex filename >1456812121140 169204218 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 > textdata 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 > textdata bss dec hex filename >1447212121140 1682441b8 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) > bye, > Heiko > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] axm SPL image too big
(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. What else can we do to get SPL size back under limit? Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] axm SPL image too big
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 see for the axm board: With eldk-5.4 pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot textdata 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 textdata bss dec hex filename 1456812121140 169204218 spl/u-boot-spl pollux:u-boot-smartweb hs [master] $ With eldk-5.5 pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot textdata 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 textdata bss dec hex filename 1447212121140 1682441b8 spl/u-boot-spl pollux:u-boot-smartweb hs [master] $ for the taurus board: eldk-5.4 pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot textdata bss dec hex filename 284516 25500 1272228 1582244 1824a4 u-boot pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size spl/u-boot-spl textdata bss dec hex filename 1448812121140 1684041c8 spl/u-boot-spl pollux:u-boot-smartweb hs [master] $ eldk-5.5 pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size u-boot textdata bss dec hex filename 282155 25380 1274580 1582115 182423 u-boot pollux:u-boot-smartweb hs [master] $ arm-linux-gnueabi-size spl/u-boot-spl textdata bss dec hex filename 1439212121140 167444168 spl/u-boot-spl pollux:u-boot-smartweb hs [master] $ bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot