Re:
> Stan Sieler ([log in to unmask]) wrote:
> : when called, MISSING would always do:
> : - report something like:
> : the program attempted to call "foo",
>
> I'm not sure if MISSING could tell what was suppose to be called.
Sure it could...with a little work. I'd suggest that the first
version simply report "uh, something was missing, but I don't
know what". Then, the loader person/people could work on
building a list/table/whatever to allow correlation between
the caller to MISSING and the missing routine.
I.e., if there was an unresolved call to "foo" at fum+$100,
and one at fie+$98ac, and an unresolved call to "oops" at
fie+$2400, the table/list built by the loader would have:
fum+$100 "foo"
fie+$2400 "oops"
fie+$98ac "foo"
When MISSING is invoked, it finds that table (easy), and determines
it's inter-SOM return address, and searches the small table for
a matching address. If found, it reports the procedure name.
If not found, it reports *that*.
It's a small amount of work for the loader to create the table...
it already knows precisely what location is calling which unresolved
external!
Stan Sieler [log in to unmask]
www.allegro.com/sieler/wanted/index.html www.allegro.com/sieler
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|