*BSD News Article 17017


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!convex!convex!cs.utexas.edu!math.ohio-state.edu!howland.reston.ans.net!xlink.net!math.fu-berlin.de!cs.tu-berlin.de!mailgzrz.TU-Berlin.DE!hahn.informatik.hu-berlin.de!informatik.hu-berlin.de!loewis
From: loewis@informatik.hu-berlin.de (M.v.Loewis)
Newsgroups: comp.os.386bsd.development
Subject: Re: SHARED LIBRARIES - THE END
Date: 11 Jun 93 09:32:51 GMT
Organization: Humboldt University Berlin, Department of Computer Science
Lines: 36
Message-ID: <loewis.739791171@informatik.hu-berlin.de>
References: <1993May23.003623.24102@fcom.cc.utah.edu> <1tr05o$qaa@terminator.rs.itd.umich.edu> <1993May24.225014.23425@fcom.cc.utah.edu> <C7nvDE.43y@rokkaku.atl.ga.us> <michaelv.739744871@ponderous.cc.iastate.edu>
NNTP-Posting-Host: hp832.informatik.hu-berlin.de

In <michaelv.739744871@ponderous.cc.iastate.edu> michaelv@iastate.edu (Michael L. VanLoon) writes:
>In <C7nvDE.43y@rokkaku.atl.ga.us> kml@rokkaku.atl.ga.us (Kevin Lahey) writes:
>[...]
>>386BSD is great, and I sure appreciate all the effort everybody has put
>>into it.  I just think that this shared library argument is sorta silly.
>>Why throw out a reasonable, if sub-optimal, implementation of something
>>we need?  If the Linux folks can upgrade their shared libraries, why
>>can't we?

>If the Linux shared libraries work as wonderfully as they claim they
>do, why can't we use theirs?  (Or their approach?)  It's certainly not
>perfect, but looks like it's better than anything that anybody has
>taken the time to sit down and write so far.

I dealt with Linux' shared libraries and can report the following:
- There is really a possibility to have a version control. This is possible
  due to fixed entry points into the library and tools which allow the
  library developer to keep the entry points constant between versions.
- Although this sounds nice, there are drawbacks from that approach which
  make it 'sub-optimal'. The biggest problem is that it is completely up
  to the library provider to support that version control and this will
  be a source of headaches in any real-live library. Even in a small example
  you are forced to understand the system much more than you need in the
  case of static libraries.
- The idea of absolute addresses creates the need for world-wide coordination.
  In Linux, this is done by a README which contains a list of well-known
  libraries and there address space needs. This is definitely not useful for
  more than 100 libraries.
- All these problems have been known to the 386BSD gurus for a very long time
  and made than dislike any known approach for shared libraries.

Hope this clarifies the things a bit.

--
Martin