I doubt the p_align field of the LOAD segments is relevant here. I
suspect your problem is that gold is generating an additional LOAD
segment to hold the headers, while GNU ld is not. That's the first LOAD
segment that gold is generating--the only thing in it is the headers.
It's quite tricky to figure out what to do with the headers when using a
linker script which only describes sections. It looks like gold and GNU
ld disagree in this case. I've tweaked gold's behaviour in this area
quite a bit over the years. I'm not sure what to recommend. You could
always try linking with -n unless there is some reason not to.
Ian