Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!uiucdcs!convex!ndm20!tp From: tp@ndm20 Newsgroups: net.arch Subject: Re: Linking Time Message-ID: <34500003@ndm20> Date: Wed, 21-May-86 10:19:00 EDT Article-I.D.: ndm20.34500003 Posted: Wed May 21 10:19:00 1986 Date-Received: Sun, 25-May-86 13:08:15 EDT References: <219@zeus.UUCP> Lines: 29 Nf-ID: #R:zeus.UUCP:219:ndm20:34500003:000:1408 Nf-From: ndm20!tp May 21 09:19:00 1986 >>I work with very large programs that are under constant development. Much >>time is spent waiting for them to be relinked after a modification to a >>small number of modules. > >This is handled pretty well in VAX/VMS with linkable images. By >maintaining a table of entry points at a constant location in the >linkable image (typically at the beginning), programs which call >routines in that image don't need to be relinked when that image (or a >routine in it) is updated. That only works if you have a stable library to make an image of. If you are just doing development and want to be able to make a change to any module, VMS doesn't do it any better than any other system. I read somewhere that the NS32000 cpu has hardware support for this by calling modules through a jump table, but you still need software support so you can modify the jump table and link in just the new routines (i.e. change the jump table pointer for the routine to point to the new version, and then satisfy only the references in the new routine, and you will have a newly linked version. You would only have to do a link from scratch when the executable got to big for your (or your loader!)'s taste.) Terry Poot Nathan D. Maier Consulting Engineers (214)739-4741 Usenet: {seismo!c1east | cbosgd!sun | ihnp4}!convex!infoswx!ndm20!tp CSNET: ndm20!tp@smu ARPA: ndm20!tp%smu@csnet-relay.ARPA