*BSD News Article 5066


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!spool.mu.edu!caen!uakari.primate.wisc.edu!ames!data.nas.nasa.gov!taligent!apple!motcsd!xhost92.csd.mot.com!ajv
From: ajv@xhost92.csd.mot.com
Newsgroups: comp.unix.bsd
Subject: Re: Shared Libs for X11?, was Re: 386bsd -- The New Newsgroup
Message-ID: <7104@motcsd.csd.mot.com>
Date: 15 Sep 92 16:32:40 GMT
References: <18iprpINNg6e@agate.berkeley.edu> <1992Sep8.200625.2894@socrates.umd.edu> 	<veit.716026274@du9ds3> <18lkkkINN14d@agate.berkeley.edu> 	<veit.716107923@du9ds3> <7dnL02y821gh01@JUTS.ccc.amdahl.com> 	<veit.716291291@du9ds3> <1992Sep14.232949.9093@bby.com.au>
Sender: usenet@motcsd.csd.mot.com
Lines: 14

gnb@duke.bby.com.au (Gregory N. Bond) writes:

>...  Instead, do it like
>SunOs does: include just enough stuff in the prolog to mmap() in a
>dynamic linker (/usr/lib/ld.so) written in PIC (with no global data)
>and jump to it.  Have it do all the fixups, then return.  Unmmap it
>and call the main() routine.

I thought ld.so was left in, and it got entered as new entry points
were called.  Kind of a lazy relocation scheme.  With the interesting
side effect that your program could die in the middle when it finally
jumped to a symbol which was determined to be "undefined".

				Andy Valencia