Question about elf data segment address adjustment
Nick Clifton
nickc@redhat.com
Thu Oct 19 09:44:00 GMT 2017
Hi Douglas,
> In ld/scripttempl/elf.sc about line 562 there's a comment that pre-dates the 1999 sourceware import, so I can't track it down.
Searching through the old CVS logs, I found this:
revision 1.32
date: 1996/02/15 20:28:54; author: ian; state: Exp; lines: +2 -14
* scripttempl/elf.sc: Don't skip a page in virtual memory space if
the text segment ends exactly on a page boundary.
> The adjustment described by the comment sometimes leads to an attempted out of range load of a system global variable.
Could you be more specific about this please ? Is there an example
that we could look at ?
> The comment is:
>
> /* Adjust the address for the data segment. We want to adjust up to
>     the same address within the page on the next page up. */
Note - there is a similar comment, and adjustment, for the .rodata section as well.
> What is the reason for this adjustment to the data segment starting address?Â
> Why not, for example, adjust up to the next multiple of 0x10000?
Because we do not want to waste pages of memory if the page size is small.
Cheers
Nick
More information about the Binutils
mailing list