Re: Linker ... still useful ? (Jan Vorbrueggen)
Wed, 28 Sep 1994 13:02:23 GMT

          From comp.compilers

Related articles
[2 earlier articles]
Re: Linker ... still useful ? (1994-09-22)
Re: Linker ... still useful ? (1994-09-23)
Re: Linker ... still useful ? (Joel Runes) (1994-09-26)
Re: Linker ... still useful ? (1994-09-26)
Re: Linker ... still useful ? (Rob MacLachlan) (1994-09-27)
Re: Linker ... still useful ? (1994-09-28)
Re: Linker ... still useful ? (1994-09-28)
Linker ... still useful ? (1994-09-28)
Establishing exception handlers before main() (1994-09-29)
Re: Linker ... still useful ? (1994-09-29)
Re: Linker ... still useful ? (1994-09-30)
Re: Linker ... still useful ? (1994-10-05)
Re: Linker ... still useful ? (1994-10-06)
[3 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Jan Vorbrueggen)
In-Reply-To: Rob MacLachlan's message of Tue, 27 Sep 1994 17:19:18 GMT
Keywords: linker, Occam, comment
Organization: Institut fuer Neuroinformatik, Ruhr-Universitaet Bochum, Germany
References: 94-09-122 94-09-162
Date: Wed, 28 Sep 1994 13:02:23 GMT

Rob MacLachlan <> writes:

        1] Namespace -- Most linkers implement a more or less flat namespace,
        whereas most modern languages don't. This can be handled to some degree
        by prefixing, but that clearly isn't the best solution. In general linker
        names become little more than random unique IDs, and some pre-linker phase
        must make sure that the names really are unique.

        2] Interface compatibility -- Ideally, many aspects of interface
        compatibility checking would be put off until link time. In practice, few
        linkers have any support for compatibility checking.

The Inmos Toolset linker does both of these, and the debugger supports
occam2's nested namespace quite well. (Well, given the nature of the language
and the processor, it wouldn't work at all if it didn't...) The debugger does
get confused once in a while.

        3] Initialization -- Most modern languages have a concept of more-or-less
        anonymous chunks of initialization code which are run before the main

The VMS linker has supported this very early on, in a very flexible way. Only
few compilers seem to make use of this. Probably ADA does, and FORTRAN seems
to do in some situations.

[C++ needs this feature for global class instances with initializers. Given
the wild success of C++, we'll probably be seeing more linker support.
Fortran doesn't need initialization code, although some compilers (one of the
PDP-10 compilers, for example) used it to initialize large sparse data arrays
and make the object file smaller. -John]

Post a followup to this message

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