
On Thu, 4 Mar 2021 07:46:18 -0600 Adam Ford aford173@gmail.com wrote:
On Thu, Mar 4, 2021 at 4:43 AM Marek Behun marek.behun@nic.cz wrote:
On Wed, 3 Mar 2021 16:36:05 -0500 Tom Rini trini@konsulko.com wrote:
So, as I start testing things locally with two additional changes (1. LTO by default 2. No ffunction/data-sections with LTO) we see: https://gist.github.com/trini/350ab850c42293563228b8d68a1bb89a as the detailed size reduction. This also shows that with LTO we want to turn off -ffunction-sections/etc as it's not useful now.
Tom, I have pushed another version to github PR to trigger CI, and am still working on clang. You can look at the github PR if you want to try yourself. I have also added patch that disables -ffunction-section/fdata-section on arm.
After I manage to make it all work in CI I will send v2 to mailing list.
I tested this with the imx6q_logic board. I only tested the U-Boot portion, but it appeared to work and it booted the kernel. The U-Boot size reduced -7182 bytes (about 3% smaller).
I haven't been able to successfully boot the OMAP3 boards I have yet. I'm still looking into this.
I don't think we should enable LTO by default for all boards yet.
Adam, did you try the current version from github.com/elkablo/u-boot branch lto ?