Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!news.uoknor.edu!ns1.nodak.edu!netnews.nwnet.net!news.clark.edu!spool.mu.edu!sol.ctr.columbia.edu!hamblin.math.byu.edu!news.byu.edu!cwis.isu.edu!u.cc.utah.edu!cs.weber.edu!terry From: terry@cs.weber.edu (A Wizard of Earth C) Newsgroups: comp.os.386bsd.misc Subject: Shared library architecture Date: 16 Nov 1993 05:08:30 GMT Organization: Weber State University, Ogden, UT Lines: 39 Message-ID: <2c9n8e$fg0@u.cc.utah.edu> References: <CGHs3y.Au2@kithrup.com> <DERAADT.93Nov14110240@pain.agate> <CGIB9E.7z9@aib.com> NNTP-Posting-Host: cs.weber.edu In article <CGIB9E.7z9@aib.com> dwex@aib.com (David E. Wexelblat) writes: >I wasn't aware that SunOS libraries were the ideal. Personally, I prefer >the SVR4 libraries. How much work is it to make an SVR4 library? >First compile with PIC, next link with '-G'. That's it. There are no >.sa files with SVR4 shared libraries. Actually, they aren't -- the SunOS shared library code was made available back on ref.tfs.com; unfortunately, it had come by way of the BSD4.4 sources, and was never officially donated to the 386BSD project by Sun seperately from their donation to UCB. Since the lawsuit had made the BSD4.4 sources unusable without a seperate donation, the shared library code I had working (I made the finishing touches to some other peoples work with PIC code in the GCC compiler and handled the a.out and the linker and symbol space changes) back in February became unusable by virtue of being legally suspect. My May version (a total "clean room" rewrite) was too late to make the cutoff on potential conflict of interest. The main differences in the SVR4 code from the Sun code is the file format; the lack of seperate ".so/.sa" files in SVR4 is attributable to the fact that the SVR4 object file format allows for the storage of multiple named objects in the executable, and Sun's object format did not. Actually, using symbol tagging, it is possible to put SunOS style shared libraries into a single file, as long as it is possible to distinguish between externally accessable and local (static) data; I believe this is a work in progress with the current implementation. Shared libraries are another example of a result of moderated discussion (again, Julian was the moderator), although I am unsure of how much of this influenced Paul, if it influenced him. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.