I applied this patch to modify the MAXPAGE size to 4K instead of 1 MB. Do I need to rebuild the toolchain? I have not been able to execute the genscripts.sh for generating the ld scripts. I tried to run the "make" in /usr/src/gnu/usr.bin/binutils/ld/ but got the following error. Any help is appreciated. Thanks a million libintl.h: No such file or directory Thanks Sean Index: /usr/src/contrib/binutils/ld/emulparams/elf_x86_64.sh =================================================================== RCS file: /usr/ncvs/src/contrib/binutils/ld/emulparams/elf_x86_64.sh,v retrieving revision 1.1.1.6 diff -u -r1.1.1.6 elf_x86_64.sh --- /usr/src/contrib/binutils/ld/emulparams/elf_x86_64.sh 16 Jun 2004 05:45:40 -0000 1.1.1.6 +++ /usr/src/contrib/binutils/ld/emulparams/elf_x86_64.sh 7 Sep 2007 00:20:31 -0000 _at__at_ -2,7 +2,7 _at__at_ ELFSIZE=64 OUTPUT_FORMAT="elf64-x86-64" TEXT_START_ADDR=0x400000 -MAXPAGESIZE=0x100000 +MAXPAGESIZE=0x1000 COMMONPAGESIZE=0x1000 NONPAGED_TEXT_START_ADDR=0x400000 ARCH="i386:x86-64" ------------------------------------------------------------------------------------------------------------------ On Sun, Jun 28, 2009 at 5:37 PM, Alan Cox <alan.l.cox_at_gmail.com> wrote: > On Sun, Jun 28, 2009 at 6:42 PM, Sean P. Dew <freebsd.work_at_gmail.com>wrote: > >> Hi, >> >> Why is a loadable segment aligned to 1 MB on AMD64 while the pagezie is >> still 4K for a user application. Is there anyway to change it back to 4K, >> It >> is not making sense to me is because if my file segment is around 400K, we >> are wasting 1 MB of virtual address space ( granted it is not a lot for >> X64). I am trying to find out the reason. I am posting the readelf output >> of a .so. Any help is appreciated. >> > > You'll find this question discussed in the mailing list archives on more > than one occasion. Here is one such message: > > http://lists.freebsd.org/pipermail/freebsd-amd64/2007-September/010260.html > > To be a little more explicit, it is done to increase the likelihood that > the entire code segment of a large program can be mapped using 2 MB page > mappings. Moreover, to be able to do so without wasting any physical memory > on padding. Although we have the necessary 2 MB page support in the virtual > memory system, the kernel's image activator hasn't been modified to take > advantage of this. Only a few programs with large code and data segments, > e.g., emacs, will benefit. > > Regards, > Alan > >Received on Mon Jun 29 2009 - 07:05:21 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:50 UTC