Dynamic Linking (Summary)

mousques@ponder.csci.unt.edu (Gaston Mousques)
Mon, 21 Oct 1991 02:13:23 GMT

          From comp.compilers

Related articles
parallelizing compilers shrid@utdallas.edu (1991-10-18)
Dynamic Linking (Summary) mousques@ponder.csci.unt.edu (1991-10-21)
| List of all articles for this month |
Newsgroups: comp.compilers
From: mousques@ponder.csci.unt.edu (Gaston Mousques)
Keywords: linker, summary
Organization: University of North Texas, Denton
References: 91-10-073
Date: Mon, 21 Oct 1991 02:13:23 GMT

Last week I made a request for references on dynamic linking. I got
several very helpful replies. Several people asked for a summary so here
is it.


Thanks to all those who responded.


Gaston Mousques
e-mail:mousques@ponder.csci.unt.edu


-----------------------------------------------------------------------------


Reply-To: abbott@vuse.vanderbilt.edu (Ben Abbott)


We use dynamic linking in our work quite a bit. We have based most of our
codes on the base provided by the Kyoto Common Lisp modifications produced
at UT Austin. They call that version AKCL.


The AKCL dynamic linker works for several different versions of unix and
is based on object code formats (not funny lisp games).


In our application, we load and unload object codes of C modules as
needed.


Ben Abbott
Vanderbilt


------------------------------------------------------------------------------


Reply-To: pardo@cs.washington.edu


Check out back issues of `comp.compilers'. Recently, there were various
articles including one that I posted 23 Aug 1991. Also, see the Organik
book on Multics. Dynamic linking was one of the basic metaphors of
Multics. Please summarize your responses.


;-D on ( Dynamic Slinking ) Pardo


------------------------------------------------------------------------------


Reply-To: brannon@jove.cs.caltech.edu (Terrence M. Brannon)


First, take a look at dld, the Gnu Dynamic Loader. You can ftp it from
prep.ai.mit.edu in pub/gnu it will be called dld-3.2.3


The second incremental dynamic loader is written at brown university...
ftp to 128.148.31.66 and do anonymous ftp here also. i forgot the
directory.


Also, i had glanced thru the sun OS 4.1 manual on shared libraries and it
said something about dynamic link editing abilities but i cant elaborate.


------------------------------------------------------------------------------


Reply-To: scott@cs.rochester.edu


%A W. W. Ho
%T An Approach to Genuine Dynamic Linking
%K Ho_Dld_90
%R technical report CSE-90-25
%I Division of Computer Science, University of California at Davis
%D 1990


%A M. Weiser
%A A. Demers
%A C. Hauser
%T The Portable Common Runtime Approach to Interoperability
%P 114-122
%K sosp cedar garbage collection
%J PROC of the Twelfth SOSP
%C Litchfield Park, AZ
%D 3-6 December 1989
%O In \f2\&OSR 23\fP:5


%A L. A. Call
%A D. L. Cohrs
%A B. P. Miller
%T CLAM \(em an Open System for Graphical User Interfaces
%P 277-286
%J OOPSLA'87 CONF PROC
%D 4-8 October 1987
%C Orlando, FL
%O In \f2\&ACM SIGPLAN Notices 22\fP:12 (December 1987)
--
Michael L. Scott


------------------------------------------------------------------------------
Reply-To: cowboy Dan <pezely@ee.udel.edu>


This might not be exactly what you want, but at UC,Davis, Wilson Ho has
been working on Dld and contributed it to GNU. Dld is a ``genuine''
dynamic linker-- meaning that you can link and load modules while the
program is running, not just at load-time, as is the case with the BSD
``dynamic'' linking.


Check your favorite GNU distibution site for Dld, or check one of the
cs.uc-davis.edu (or ucdavis.edu) machines.


Dld works under the principle that you compile all your modules and select
which ones you want to load at what time. I think it does not allow for
modules to be re-compiled and re-linked though.


However, I feel that for anything to be called ``dynamic linking'' it must
have some sort of function_allocate() and function_free() set of routines,
similar to malloc() and free(). We will be working on this in our lab in
about a year, if no one else has. It should be simple to implement but
just time-consuming.


I'd be interested to hear what results you got from your posting, as would
others, I'm sure. Thanks.


-Dan P


------------------------------------------------------------------------------
Reply-To: kasun@sce.carleton.ca (Matt Kasun)


I can think of two references:


1. Linking Programs Incrementally, R.W. Quong and M.A. Linton,
ACM Transactions on Programming Languages and Systems, Vol 13, No 1,
January 1991, p 1-20


2. An Approach to Genuine Dynamic Linking, W. Wilson Ho and Ronald
A. Olsson, Software-Practice and Experience, Vol 21(4), April 91,
p.375-390


The software referred to in 2 in free and available from anonymous FTP
sites. I will send sites names if you want.


--
Matt Kasun - Developing a Meta-Model for Dynamic Change Management


------------------------------------------------------------------------------
Reply-To: Marc Sabatella <mjs@hpfcso.fc.hp.com>


I did a paper "Issue In Shared Libraries Design" at the 1990 Summer Usenix
conference in Anaheim, if you can find the proceedings. Dynamic linking
is a major part of many shared library implementations, and I describe
some techniques. Plus, the bibliography will give you more references.


There was a paper on a particular dynamic linking implementation in a
TOPLAS Journal in the last year or so, by Wilson Ho. This scheme is
independent of shared libraries, and may be closer to what you are after.


Marc Sabatella (marc@hpmonk.fc.hp.com)


------------------------------------------------------------------------------


Reply-To: sullivan@postgres.Berkeley.EDU (Mark Sullivan)


POSTGRES has implemented it on several different platforms. The code is
public domain, but none of the implementation details have been published
anywhere. If you are interested, send me mail and I'll forward it to
someone who can give you information about the release.


Mark Sullivan
sullivan@postgres.berkeley.edu


------------------------------------------------------------------------------


Reply-To: how@ivy.eecs.ucdavis.edu (W. Wilson Ho)


I've written a package for dynamic linking and unlinking. It is
called dld and has been donated to the GNU project. You may get a copy of
it by anonymous ftp from prep.ai.mit.edu:pub/gnu/dld-3.2.3.tar.Z.


The corresponding paper has been published in SP&E:


                    W. Wilson Ho and Ronald A. Olsson, "An Approach to
                    Genuine Dynamic Linking," Software--Practice and
                    Experience, vol. 21, no. 4, pp. 375-390, April
                    1991.


Hope that helps!


Wilson Ho


-------------------------------------------------------------------------------


Reply-To: David Edelsohn <edelsohn@sccs.syr.edu>


Get the FSF's Dynamic Linking Library written by Wilson Ho. The
latest version is available via anonymous ftp from clover.ucdavis.edu.
David
--
David Edelsohn Dept of Physics


-------------------------------------------------------------------------------


>From gwlester@cpu.com.UUCP Thu Oct 17 08:42:55 1991


I'm sure this is not what you are looking for, but it is what you
asked for ,kind of. In VMS you would use the LIB$FIND_IMAGE_SYMBOL and
LIB$CALLG run time library routines. They are documented int the Run Time
Library reference manual.


Gerald W. Lester


-------------------------------------------------------------------------------
Reply-To: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda)


I do not know any single references that cover dynamic linking (DL). The
followings cover only each part.


E. I. Organick: The Multics System, M. I. T. Press, 1972
Multics DL
G. Letwin: Inside OS/2, Microsoft Press, 1988
OS/2 DL
R. Gingell, et al.: Shared Libraries in SunOS, Proc. USENIX, Phoenix,
1987
SunOS DL
Apollo Computer Inc.: AEGIS Internal Data Structure: Software Release
9.0, January, 1986
AEGIS DL


I discussed a summary of DL in the following technical report.


K. Maeda: An Operating System Model for Dynamic Linking with a Single
Level Store -Model Description in Prolog-, AIAI-PR-49, AIAI, University of
Edinburgh, 1990


Ken-ichi Maeda <maeda@isl.rdc.toshiba.co.jp>


--------------------------------------------------------------------


Reply-To: optilink!brad@uunet.UU.NET (Brad Yearwood)




The Free Software Foundation distributes an implementation of dynamic
linking, named "DLD". A descriptive paper is included as part of the
distribution. The FSF (GNU) products are available on numerous anon. FTP
sites (one that I know of: uunet.uu.net).


Brad Yearwood {uunet, pyramid}!optilink!brad Petaluma, CA




--------------------------------------------------------------------


Reply-To: cbnewsd!bgbg@att.att.com


Check out dld available under pub/gnu on prep.ai.mit.edu. It supports
dynamic linking and includes a postscript copy of the paper descibing it.


Brian Beuning


--------------------------------------------------------------------


Reply-To: mday@pion.LCS.MIT.EDU (Mark Day)


Be sure to look at Elliot Organick's book "The Multics System: An
Examination of Its Structure," published by MIT Press in 1975 but long
out-of-print. It doesn't do a very good job of separating high-level
ideas from low-level implementation details, but it does explain dynamic
linking in Multics very carefully. Multics has a number of features that
are worth reconsidering in an OODBMS.


--Mark Day


mday@lcs.mit.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.