Re: Help- selective symbol exposure after link

Jerry Leichter <leichter@smarts.com>
30 Jan 1997 22:20:55 -0500

          From comp.compilers

Related articles
[3 earlier articles]
Re: Help- selective symbol exposure after link mac@coos.dartmouth.edu (1997-01-25)
Re: Help- selective symbol exposure after link dlmoore@ix.netcom.com (David L Moore) (1997-01-26)
Re: Help- selective symbol exposure after link whsieh@cs.washington.edu (1997-01-29)
Re: Help- selective symbol exposure after link maslen@best.com (Thomas M. Maslen) (1997-01-29)
Re: Help- selective symbol exposure after link aeb@saltfarm.bt.co.uk (1997-01-29)
Re: Help- selective symbol exposure after link albaugh@agames.com (1997-01-30)
Re: Help- selective symbol exposure after link leichter@smarts.com (Jerry Leichter) (1997-01-30)
Re: Help- selective symbol exposure after link root@jacob.remcomp.fr (1997-02-02)
Re: Help- selective symbol exposure after link Dave@occl-cam.demon.co.uk (Dave Lloyd) (1997-02-07)
Re: Help- selective symbol exposure after link Dave@occl-cam.demon.co.uk (Dave Lloyd) (1997-02-07)
Re: Help- selective symbol exposure after link fjh@murlibobo.cs.mu.OZ.AU (1997-02-08)
Re: Help- selective symbol exposure after link ok@cs.rmit.edu.au (1997-02-11)
Re: Help- selective symbol exposure after link pfox@lehman.com (Paul David Fox) (1997-02-11)
[3 later articles]
| List of all articles for this month |
From: Jerry Leichter <leichter@smarts.com>
Newsgroups: comp.compilers
Date: 30 Jan 1997 22:20:55 -0500
Organization: System Management ARTS
References: 97-01-196 97-01-230
Keywords: linker

The VMS linker has had this capability as part of its support for
shareable images - shared libraries, in Unix terms - literally since
day 1.


For the VMS linker, there are three levels of scoping: Local, global,
and universal. Local symbols are what you'd expect, and are there
only for use in code linked for debugging. Global symbols are the
usual things, visible across a single link. When a shareable image is
being built, a global symbol can be promoted to be a universal symbol.
(There is more than one mechanism for doing this for symbols used in
different ways, and the details were changed - simplified - in the
Alpha port of VMS.) When you link against a shareable image, the only
symbols that you can see are the ones that were promoted to universal
status. (The remaining globals and locals may still be there for
debugging.) Any references to universal symbols from within the
shareable image itself will have been resolved during the link.


While not fully general - a shareable image is not an object file, so
you can't do another pass, selecting out only *some* of the universal
symbols - it's still very useful. And it's been available - but
unknown to most of the community - for close to 20 years.


-- Jerry
[Looks like there's been a lot of specialized versions over the years.
I want it in regular link-time libraries. -John]


--


Post a followup to this message

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