GNU ld and file offset alignment

Alan Modra amodra@gmail.com
Wed Jun 28 04:46:00 GMT 2017


On Tue, Jun 27, 2017 at 11:32:49AM -0700, Martim Carbone wrote:
> Hi,
> 
> I have a question regarding GNU ld and I was hoping you could help me.
> 
> When ld writes a section to an ELF executable, how does the
> section alignment specified in the linker script influence the choice
> of file offset for this section, assuming '-n' is being used?
> Say, if I set the section address alignment to 0x1000, will ld also
> page-align it on disk? My experiments suggest that that is the case
> but I wanted to be sure that this is not accidental.

GNU ld will set the file offset of a PT_LOAD segment using at least
the maximum alignment of sections within the segment, such that
p_offset == p_vaddr % alignment.  That will result in section
sh_offset being aligned as you suspect.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list