On 4/15/07, Paul Brook <[EMAIL PROTECTED]> wrote:
On Sunday 15 April 2007 20:11, Blue Swirl wrote:
> > Probably the linker is making sure the file offset and VMA are the same
> > modulo the page size.
>
> But that would be one huge file, as the VMA is near 2TB:
I said *modulo the pace size* :-)
Lets say ld thinks the page size for your system is 1Mb (nor an unreasonable
assumption). The vma of .text is aligned on a 1Mb boundary. In order to
allow loading via mmap, the location of .text within the file must also be
aligned on a 1Mb boundary. It can't put it at address zero because the ELF
headers get in the way, so the first viable location is 1Mb into the file.
Nice theory (and I missed the modulo arithmetic, sorry), but on
Ultrasparc the page sizes available are 8k, 64k, 4M and 256M.