home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / bsd / 3147 < prev    next >
Encoding:
Internet Message Format  |  1992-07-29  |  2.3 KB

  1. Path: sparky!uunet!mcsun!Germany.EU.net!gmdtub!bigfoot!tmh
  2. From: tmh@doppel.first.gmd.de (Thomas Hoberg)
  3. Newsgroups: comp.unix.bsd
  4. Subject: Re: 386BSD: Anyone using gcc-2.x on 0.1?
  5. Message-ID: <TMH.92Jul29235202@doppel.first.gmd.de>
  6. Date: 29 Jul 92 21:52:02 GMT
  7. References: <1992Jul29.155631.21213@thyme.jpl.nasa.gov> <Bs5vBy.3Cp@unx.sas.com>
  8. Sender: news@bigfoot.first.gmd.de
  9. Organization: GMD-FIRST, Berlin
  10. Lines: 36
  11. In-reply-to: sastdr@torpid.unx.sas.com's message of 29 Jul 92 17:31:10 GMT
  12.  
  13. In article <Bs5vBy.3Cp@unx.sas.com> sastdr@torpid.unx.sas.com (Thomas David Rivers) writes:
  14.  
  15.    I'm not sure that v 2.2.x is a pre-requisite for shared libraries; I
  16.    ran for a long time w/ 1.38 & 1.39 on ISC unix and was able to build
  17.    shared libraries fine.  You may want to look there and see how they
  18.    did it...  (The original X11R4 done by Thomas Roell was a shared library
  19.    built with gcc 1.38).
  20.  
  21. There are (at least) two differnt kinds of shared libs. ISC loads
  22. shared libs at fixed virtual addresses, so the fixup is resolved at
  23. link time (=linking with the stub library). For GCC there is no
  24. difference there between libraries linked in and libraries loaded at
  25. run-time. From the software developers point of view there is a bit of
  26. overhead involved creating the shared libraries via mkshlib. (That is
  27. THE reason why nobody has yet volunteered to do the shared libs for
  28. X11R5--it's a lot of work and not everybody feels like doing that kind
  29. of work for free (not even Thomas Roell anymore)). SunOS and others
  30. use a different kind of "shared library" that is they do run-time
  31. binding of addresses. Since a complete linking pass at run-time would
  32. be quite expensive (and might require multiple passes of the
  33. executable) shared library code is coded differently "position
  34. independent", so that calls within the library don't have to be
  35. recalculated or fixed up again. That would also make them not
  36. shareable, since it would be application dependent. I am not sure on
  37. the details, but I believe run-time linking can be done in a single
  38. pass and only involves fix-ups in the code that uses the library not
  39. the library itsself.
  40.  
  41. Hope I didn't muddy things further or made an ass of myself :-)
  42. ---
  43. Thomas M. Hoberg   | Internet: tmh@first.gmd.de
  44. 1000 Berlin 41     |           tmh@cs.tu-berlin.de
  45. Wielandstr. 4      |
  46. Germany            | BITNET:   tmh@tub.bitnet 
  47. +49-30-851-50-21   |
  48.  
  49.