Date: Tue, 25 Apr 95 13:11:40 MDT From: terry@cs.weber.edu (Terry Lambert) To: nate@trout.sri.MT.net (Nate Williams) Cc: patl@asimov.lashley.slip.netcom.com, hackers@FreeBSD.org Subject: Re: Shlib complaints ( was Re: benchmark hell..) Message-ID: <9504251911.AA00815@cs.weber.edu> In-Reply-To: <199504251740.LAA12140@trout.sri.MT.net> from "Nate Williams" at Apr 25, 95 11:40:10 am
next in thread | previous in thread | raw e-mail | index | archive | help
> [ only exporting specified symbols in shlibs ] > > > Clearly, this would also resolve the problem of "curses" with the > > C++ libraries. > > The problem with this is that we are now placing a migh bigger load on > the developer to specify which symbols to be exported, rather than > having the compiler do it with judicious use of static and extern as it > is currently. Not true; there is very little difference topologically between not exporting more than you need to and not importing more than you need to. The second case can be made automatic if the shared libs were not monolithic .o files. > > This is an inevitable result of not using an archive format for the > > shared library objects so they can be pulled in an object at a time (or > > not), which is what you do with normal library archives. > > This would solve some of the problems I've been trying to work out, but > it would mean a re-write of most of the code, which is IMHO not worth it. It's worth it for the C++ curses problems and it's worth it for unused virtual bas classes from a c++ library. It's also worth it in the reduction of available symbol space. On th other hand, the use of dlopen does imply that the opened object "overlay" will be able to link itself agains the existing libraries in the binar itself instead of necessarily being stand alone code that *only* exports interfaces. It's probably time to consider ABI standardization by agreement between the BSD and Linux camps rather than by administrative fiat. 8-(. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9504251911.AA00815>