Re: Dynamic compilation/linking

Marc Sabatella <>
Wed, 11 Dec 91 11:57:37 mst

          From comp.compilers

Related articles
Dynamic compilation/linking (Steve Boswell) (1991-12-05)
Re: Dynamic compilation/linking oliver@madrone.CS.Berkeley.EDU (1991-12-07)
Re: Dynamic compilation/linking (1991-12-10)
Re: Dynamic compilation/linking (Marc Sabatella) (1991-12-11)
Re: Dynamic compilation/linking (1991-12-12)
Re: Dynamic compilation/linking (1991-12-13)
Re: Dynamic compilation/linking (1991-12-17)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Marc Sabatella <>
Keywords: linking
Organization: Compilers Central
References: 91-12-038
Date: Wed, 11 Dec 91 11:57:37 mst

>[What support does System V provide for dynamic linking?]

Most non-BSD (and even many BSD) flavors of Unix provide support for dynamic
linking via the same mechanisms they use for shared libraries. While the
syntax varies, the basic idea is

create object file
use linker to turn it into a shared library
call a "load" routine to load the shared library
use a "lookup" routine to locate symbols within the library
reference those symbols indirectly using pointer returned above.

Domain (any flavor), SunOS 4.1, HP-UX 8.0, SVR4, and OSF/1 all map pretty
straightforwardly into this model. BSD's "-A" option gives you some of the raw
material you would need to implement something like this, but still forces you
to worry about such things as cache consistency, zeroing out bss,
non-write-protected code, certain details of the a.out and symbol table format,
etc, as I'm sure you've discovered. I've always wished someone would abstract
all that. Gnu's dynamic linker is another alternative, but it follows a
somewhat different model.

To answer your answer question, I don't think pure System V (at least prior to
release 4) had a "-A" option, but some System V derived systems have added it.

Marc Sabatella (

Post a followup to this message

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