Are Better Linkers Possible?

westfal@mprgate.mpr.ca (Ron Westfall)
Tue, 20 Aug 91 15:56:06 PDT

          From comp.compilers

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)
| List of all articles for this month |
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)
--


Post a followup to this message

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