From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=BAYES_20,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!yunexus!geac!daveb From: daveb@geac.UUCP (David Collier-Brown) Newsgroups: comp.lang.ada Subject: Re: Dynamic Address Clauses?? Summary: Public libraries and replacement chipsets. Keywords: dynamic address change. Message-ID: <2817@geac.UUCP> Date: 6 Jun 88 12:33:29 GMT Article-I.D.: geac.2817 References: <8806011944.AA06549@ti.com> <5140@nsc.nsc.com> Reply-To: daveb@geac.UUCP (David Collier-Brown) Organization: The Geac History Department. List-Id: | In article <8806011944.AA06549@ti.com> LINNIG@eg.csc.ti.COM (Mike Linnig) writes: | ... | X: INTEGER; | for X use at DYNAMIC; -- just what does this mean?? In article <5140@nsc.nsc.com> rfg@nsc.UUCP (Ron Guilmette) writes: | I have at least a fuzzy (but not warm) feeling as to the meaning of the code | shown above, however a very similar construction has disturbed me deeply, | to wit: | | procedure P; | for P use at DYNAMIC; | | For a true embedded system, I can understand that one may want to fix certain | routines at certain places via: | | procedure P; | for P use at STATIC; | | However I cannot envision any case in which dynamic relocation of routines | WHILE THE PROGRAM IS RUNNING would be of any benefit. I can however | predict that such a capability might be an implementor's nightmare. Well, I can suggest two cases where relocation of routines which is transparent to the program may be of use: 1) shared libraries 2) replacement chipsets Both are really variants of the same thing, a piece of code which may be replaced at run-time, either because its at a different address than it was at link-time, or because it had to be replaced due to an error. I'm personally attracted to the replacement-of-chips argument, since one might want to replace one of a large number of ROM chips in the field. And not replace the whole set or board. In a non-embedded system, dynamic replacement is a long-term maintenance win, as the Multicians found many moons ago. --dave (Ichbiah was a Multician) c-b ps: This is notably better than the procedure-pointer quasi-kludge of PL/1, B and C. -- David Collier-Brown. {mnetor yunexus utgpu}!geac!daveb Geac Computers Ltd., | "His Majesty made you a major 350 Steelcase Road, | because he believed you would Markham, Ontario. | know when not to obey his orders"