
On Wed, Mar 08, 2017 at 08:18:16AM -0700, Simon Glass wrote:
+Tom
Hi Peter,
On 8 March 2017 at 01:43, Peter Robinson pbrobinson@gmail.com wrote:
On Wed, Mar 8, 2017 at 8:22 AM, Trevor Woerner twoerner@gmail.com wrote:
On Wed 2017-03-08 @ 02:39:00 AM, Trevor Woerner wrote:
It appears as though linking u-boot with binutils-2.28 fails:
arm-oe-linux-gnueabi-ld.bfd: u-boot: Not enough room for program headers, try linking with -N
...and as it turns out linking with -N succeeds! Who knew? The help message was actually helpful! :-D
I'm glad this wasn't just me seeing this. I have seen breakage with this too but hadn't had time to investigate this further than just realising it was the new binutils.
Simon is adding -N the proper fix? Might be useful to get a fix into 2017.03 GA as I'm sure in the coming weeks the new binutils will start to land more widely in various distros.
Well we only have a few more days so if you want that please send a patch and we'll see what Tom says. What does the -N flag do?
Looking at the manpage for v2.26.1: -N --omagic Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as "OMAGIC". Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.
So, today we don't try and use a writable text section anywhere, perhaps we can do -N --no-omgic (which negates most of what -N does, but since we use a custom linker script I think at least the alignment part above isn't true anyhow) ?