Blue Swirl wrote:
> On 4/16/07, Daniel Jacobowitz <[EMAIL PROTECTED]> wrote:
> >On Sun, Apr 15, 2007 at 10:37:08PM +0300, Blue Swirl wrote:
> >> 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.
> >
> >#define ELF_MAXPAGESIZE 0x100000
> >
> >BFD and GNU ld think it's 1MB.
> 
> I stand corrected. Is there anything that can be done to reduce this waste?

See ld's -z max-page-size and -z common-page-size.


Thiemo


Reply via email to