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.
Lines: 49


| 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"