Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!crdgw1!crdos1!davidsen From: davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) Newsgroups: comp.arch Subject: Re: Page size and linkers (was: Re: SunMMU history) Message-ID: <3150@crdos1.crd.ge.COM> Date: 24 Jan 91 16:06:13 GMT References: <1991Jan19.133914.23871@bellcore.bellcore.com> <3981@skye.ed.ac.uk> Reply-To: davidsen@crdos1.crd.ge.com (bill davidsen) Organization: GE Corp R&D Center, Schenectady NY Lines: 25 In article pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: | richard> An obvious improvement would be to have the linker order | richard> procedures so that procedures commonly used together were | richard> adjacent, and separate from rarely used procedures. Has this | richard> been done in any real systems? | | Another lost art! Yes, it used to be popular before Unix. I have seen | several papers on the subject, late sixties to end of the seventies. You Well, not totally lost. I just looked on a SCO machine and there are two things in the compiler which allow the user to group code in the address space. The first is and incremental link flag which allows building large object files from small, and sounds hard to use, but the second is the ability to specify the segment name for the text and local data. This would allow grouping of init, exception handling, and wrapup code, or any other independent part of the program. The term segment in the 386 doesn't apply to hardware segmentation, the 386 still only uses one text and one data segment, so you're limited to 4GB for text and 4GB for stack/data. -- bill davidsen (davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen) "I'll come home in one of two ways, the big parade or in a body bag. I prefer the former but I'll take the latter" -Sgt Marco Rodrigez