Some loaders, for example one from PR31295 use -N -Ttext combination.
Previously our output was in next order:
.rodata .text ...
That caused an issue. Imagine .rodata was assigned to 0x10000 and then -Ttext sets .text below that.
That could cause sections addresses intersections.
Both GNU linkers able handles that correctly.
gold just places .text to be first section. In that case
we can start assigning VA from -Ttext value if was specified and do that in a forward loop, just like we
already do in void Writer<ELFT>::assignAddresses().
That is what this patch implements.