Am 12.02.2017 um 15:03 schrieb Marek Vasut: > On 02/12/2017 02:24 PM, Andreas Färber wrote: >> Am 12.02.2017 um 13:53 schrieb Marek Vasut: >>> On 02/12/2017 01:24 PM, Andreas Färber wrote: >>>> Am 12.02.2017 um 12:55 schrieb Marek Vasut: >>>>> On 02/12/2017 12:52 PM, Andreas Färber wrote: >>>>>> CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y leads to this error: >>>>>> >>>>>> LD spl/u-boot-spl >>>>>> mipsel-suse-linux-ld.bfd: u-boot-spl section `.data' will not fit in >>>>>> region `.sram' >>>>>> mipsel-suse-linux-ld.bfd: region `.sram' overflowed by 288 bytes >>>>>> ../scripts/Makefile.spl:304: recipe for target 'spl/u-boot-spl' failed >>>>>> make[2]: *** [spl/u-boot-spl] Error 1 >>>>>> /home/andreas/OBS/u-boot/Makefile:1342: recipe for target >>>>>> 'spl/u-boot-spl' failed >>>>>> make[1]: *** [spl/u-boot-spl] Error 2 >>>>>> make[1]: Leaving directory '/home/andreas/OBS/u-boot/ci20' >>>>>> Makefile:150: recipe for target 'sub-make' failed >>>>>> make: *** [sub-make] Error 2 >>>>>> >>>>>> I've reviewed all SPL Kconfig options and found three seemingly unneeded >>>>>> options defaulting to y, but I did not find a way to get this number >>>>>> down even a single byte with my GCC 6.3.1, and the recommended 4.8.1 was >>>>>> even worse (~748). >>>> I'm looking into a gcc7 package next, but that'll take a bit. >>> >>> I don't think that's gonna help with U-Boot's bloat. [...] >> >> Yeah, slightly down with GCC 7.0.1, but not much: > > Right, it's the new bloat ... > >> LD spl/u-boot-spl >> mipsel-suse-linux-ld.bfd: u-boot-spl section `.data' will not fit in >> region `.sram' >> mipsel-suse-linux-ld.bfd: region `.sram' overflowed by 264 bytes >> ../scripts/Makefile.spl:304: recipe for target 'spl/u-boot-spl' failed >> make[2]: *** [spl/u-boot-spl] Error 1 >> /home/andreas/OBS/u-boot/Makefile:1342: recipe for target >> 'spl/u-boot-spl' failed >> make[1]: *** [spl/u-boot-spl] Error 2 >> make[1]: Leaving directory '/home/andreas/OBS/u-boot/ci20' >> Makefile:150: recipe for target 'sub-make' failed >> make: *** [sub-make] Error 2
Update: I've rebased the patchset to latest master (8cb3ce64f936f5dedbcfc1935c5caf31bb682474 / "Merge git://git.denx.de/u-boot-dm") - BMIPS caused trivial conflicts, and DM API changes needed to be accounted for. https://github.com/afaerber/u-boot/commits/ci20 By further disabling CONFIG_SPL_RAW_IMAGE_SUPPORT in the ci20 defconfig I am now at 344 bytes overflow (gcc 7.1.1): LD spl/u-boot-spl mipsel-suse-linux-ld.bfd: u-boot-spl section `.data' will not fit in region `.sram' mipsel-suse-linux-ld.bfd: region `.sram' overflowed by 344 bytes ../scripts/Makefile.spl:333: recipe for target 'spl/u-boot-spl' failed make[2]: *** [spl/u-boot-spl] Error 1 /home/andreas/OBS/u-boot/Makefile:1382: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 2 By disabling SPL GPIO support and hardcoding a board revision instead of detecting it via GPIOs, I can get it down to 80 bytes. By aggressively adding #ifndef CONFIG_SPL_BUILD in ci20.c I'm down to 64 bytes, but not sure if some of that is actually needed for SPL... Tom, do you see a chance of merging any of the drivers without the whole board building, so that we can reduce the rebasing work and get a common base for optimizing? Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot