Related articles |
---|
Are Better Linkers Possible? westfal@mprgate.mpr.ca (1991-08-20) |
Re: Are Better Linkers Possible? pardo@gar.cs.washington.edu (1991-08-21) |
Re: Are Better Linkers Possible? leiser@ibiza.karlsruhe.gmd.de (Martin Leiser) (1991-08-22) |
Re: Are Better Linkers Possible? bgb@iexist.att.com (1991-08-24) |
Newsgroups: | comp.compilers |
From: | westfal@mprgate.mpr.ca (Ron Westfall) |
Keywords: | linker |
Organization: | Compilers Central |
Date: | Tue, 20 Aug 91 15:56:06 PDT |
As a follow-on to my previous post, I would like to pose a question. It seems
obvious to me that in the last few years compiler technology has advanced
rapidly to handle object-oriented languages, etc., but linker technology has
not kept pace. If you had the opportunity to design a new linker from the
ground up, what features would you give it beyond what linkers typically have
now?
To get you thinking, here is a small list of issues to think about:
- what compiler problems could be solved with linker support
- high performance linking for large software systems that
inherently have to deal with huge numbers of modules and
multiple versions of modules
- mechanisms and semantics of interoperability with compilers,
dependency analysis, report generation (e.g. unreachable modules
in a program), and other tools
- dynamic linking to incorporate new object classes into a
program at run time
- linking within an OODB (especially to deal with multiple versions
of an object class)
- linker support for language interoperability
- exploitation of symbol dependencies to cluster object modules
within a program
- linker implications of standards such as ANDF
- the use of system knowledge and expert system techniques to aid
in problem solving
- exploitation of concurrency
I realize that this conversation could go in many directions quickly. To help
constrain the conversation, assume the following:
- you are using an OO language for most of your code, but
have to interoperate with a traditional language like C
for some functionality
- the operating system is Unix, but you can propose changes to
current object file formats (but please, lets not get sidetracked
into a discussion of the pros and cons of existing object file
formats)
- a few years down the road, you will have to integrate your
code into an OODB (and don't wish to have a separate linker
embedded in the OODB)
- the linker will be used on large projects where the quantity
of software tends to overwhelm the available CPU, memory, and
disk resources
- version/release management is an intimate part of the
compile/link process
The conversation should discuss problems and propose solutions. I know it's
difficult, but try to avoid nitpicking slugfests. I know there is lots of new
territory that could be explored instead.
Ron Westfall
MPR Teltech Ltd.
Vancouver, BC
mprgate.mpr.ca (134.87.131.13)
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.