Xref: utzoo comp.sys.mips:135 comp.unix.ultrix:1619 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!unmvax!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!zs01+ From: zs01+@andrew.cmu.edu (Zalman Stern) Newsgroups: comp.sys.mips,comp.unix.ultrix Subject: Re: "ld -A" on PMAXen -- help wanted Message-ID: Date: 31 Aug 89 03:46:08 GMT References: <11589@polya.Stanford.EDU> Distribution: usa Organization: Information Technology Center, Carnegie Mellon, Pittsburgh, PA Lines: 26 In-Reply-To: <11589@polya.Stanford.EDU> I've ported the Andrew class system dynamic loader to the pmax. At this point, I think it works, but its been a long uphill battle. Lots of small problems here and there... Incidentally, our code doesn't use ld -A since we load and relocate the module ourselves. As to the 28 bit jump address problem I added the following as a switch to cc: "-Wl,-D,1000000". I think you can add it as "-D 1000000" to ld instead if you like. This must be done when linking the base executable that things are going to get loaded into, not the dynamically loaded modules. This effectively gives one 128 megs of text address space and 128 megs of data address space. As for -G 0'ing things, we were fortunate enough to have sources for all the libraries we needed. I suggest you hassle DEC about shipping -G 0 libraries on their MIPS systems. There should be a /usr/lib_G0 directory which contains all the libraries in /usr/lib compiled with -G 0. All in all, if you look this as being similar to large vs. small model libraries on the 8086, it starts to make sense. (Before I get flamed about this, I've already wasted a lot of time trying to get -G 0 and -G 8 code to work together. If you reference a variable < 8 bytes in -G 8 code but that variable is defined in -G 0 code, the link blows up.) Sincerely, Zalman Stern Internet: zs01+@andrew.cmu.edu Usenet: I'm soooo confused... Information Technology Center, Carnegie Mellon, Pittsburgh, PA 15213-3890