Re: [U-Boot] Please pull u-boot-dm

On Fri, May 20, 2016 at 09:12:57PM +0200, Karsten Merker wrote:
On Fri, May 20, 2016 at 01:55:12PM -0400, Tom Rini wrote:
On Fri, May 20, 2016 at 05:53:34PM +0200, Hans de Goede wrote:
I've been happy when I can use gcc-6.x for all the free cost savings but current Debian tools (and current Fedora, and current any other big distro) toolchains matter too. You can also see the size growth (but not to fatal proportions) on CHIP or warp7 or MSI_Primo73
OK thanks for the pointers. I will take a look. I spent quite a bit of time on this (it was pretty awful at the start!) but obviously I haven't quite nailed it.
So I've run some quick tests on F-24 which is at gcc-6 (and it is unlikely u-boot v2015.07 will be coming to older Fedora versions) and I got the following u-boot-spl.bin increase for Cubietruck:
v2015.05: 19696 master: 19932
So if others are seeing some more extreme increase then that is probably the good old tool-chain problem with not eliminating unused strings.
The way to work around this is look at the linker.map, find out which object files have grown considerably on master, and check if the patches in one of those files perhaps has caused us to use some const string in there, where before we were not using any. The problem with the toolchain bug is that using a single const string in a .o file will make it link in ALL const strings in the .o file, even the 99 other unused ones.
In the past I've hacked around that in e.g. the malloc code, but TBH, now that the upstream toolchain is fixed I'm not sure if we should bother with kludging around this.
I am a fan of gcc-6.x (as it saves us space on so many platforms), but with your sunxi hat on, rather than Fedora guy hat on, do you think telling people to just grab gcc-6.x is an OK solution for users?
If I may chime in with my Debian hat on:
Debian/unstable has gcc-6.1.1, so for the Debian developers and "bleeding edge" users there is no problem. For users of Debian/stable things don't look that good as there probably won't be a backport of gcc-6 for Debian/stable and the other "usual" source for a comparatively current crosscompiler - crosstool-ng - also doesn't provide support for gcc-6 builds (not even in git head).
With Ubuntu the situation is similar: the current (and just freshly released) Ubuntu 16.04 doesn't ship gcc-6; the first Ubuntu release to ship gcc-6 will be 16.10.
So the question is: does u-boot mainly address active developers or shall it also be easily buildable for end-users. For the former, requiring gcc-6 wouldn't be a problem, but for the latter, it most probably would be as things are now.
So, I think we agree then that yes, we need to care about gcc-5.x, thanks!
participants (1)
-
Tom Rini