home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!munnari.oz.au!mel.dit.csiro.au!yarra!yarrina.connect.com.au!melba.bby.oz.au!gnb
- From: gnb@duke.bby.com.au (Gregory N. Bond)
- Newsgroups: comp.unix.bsd
- Subject: Re: Shared Libs for X11?, was Re: 386bsd -- The New Newsgroup
- Message-ID: <1992Sep14.232949.9093@bby.com.au>
- Date: 14 Sep 92 23:29:49 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>
- Sender: usenet@bby.com.au (news READER id)
- Organization: Burdett, Buckeridge & Young, Melbourne, Australia
- Lines: 21
- In-Reply-To: veit@du9ds3.uni-duisburg.de's message of 12 Sep 92 09:48:11 GMT
- Nntp-Posting-Host: duke
-
- >>>>> On 12 Sep 92 09:48:11 GMT, veit@du9ds3.uni-duisburg.de (Holger Veit) said:
-
- >> The program loader (kern_execve) resolves the lib references to the
- >> shared area, and makes the program's shared data segment
- >> copy-on-write so that it does not influence the memory of the
- >> library server.
-
- The kernel is probably the wrong place to put all this. (kern_execve
- is hairy enough; witness the number of patches). 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.
-
- This could be done completely independant of the kernel.
-
- Greg.
- --
- Gregory Bond <gnb@bby.com.au> Burdett Buckeridge & Young Ltd Melbourne Australia
- ``USL has never sold long distance. You're going after the wrong men in black
- hats. (Or, in the case of Plan 9, black space suits)'' - Tom Limoncelli
-