[comp.sys.apollo] LBR external reference problem

jsh0447@DOMAIN_2.lerc.nasa.gov (Jeffrey S. Hojnicki) (03/20/90)

Hello,

We are having a strange problem with the domain librarian (LBR) here.
We are developing a code that is now a little over 20k lines, mostly
FORTRAN, but some PostScript & AEGIS shell scripts.  To help us out with
tracing out subroutine calls, one of the guys here wrote a short program
to build a subroutine calling tree from the output of LBR -L.  The code 
reads the output, determines what calls what and formats theat into a nice
indented tree structure.

However, when we first ran this, we discovered that one of our subroutines
was missing from the calling tree.  That routines name is ERROR.  After
much checking, it appears that LBR does not recognize the routine ERROR as
as external reference.  Later we found it also did not recognize a routine
called TIMES.  Everything else it found, and everything binds correctly.

Does anyone know why this is happening.  It could be confusing with a 
system level routine, but I thought all of those had real long names with
lots of dollar signs and underscores in them.  If it is canfusing this with a
duplicate system level routine, is there anyone who has a list of those 
routine names so we can avoid this problem in the future?

Any insight would be much appreciated.

BTW, we are running 9.7.5 on DN4500s and DN3000s.

-- 
PLEASE, don't send mail to the reply-to adress above, but use either of
the two below:

|========================================================================|
| Jeff Hojnicki     216-433-5393    |   jshoj@csd.lerc.nasa.gov          |
| NASA LeRC         M.S. 500-103    |   jhojnicki@nasamail.nasa.gov      |
| Cleveland, OH 44135               |                                    |
| --- My opinions are only my own, don't blame anyone else for them! --- |
|========================================================================|

krowitz%richter@UMIX.CC.UMICH.EDU (David Krowitz) (03/21/90)

You are correct in assuming that all AEGIS system calls have fairly
long names of the type LIBRARY_$PARTICULAR_SUBROUTINE. However, the
Apollo system also includes the standard C, BSD4.2/4.3 and SYS V
libraries. The "man" pages for BSD4.3 includes a page for the Unix
system call "times". I don't see a page for an "error" routine in
my BSD man pages, possibly it's a SYS V routine.

You can check which system libraries are loaded in your process
address space (in addition to your own routines) by using the
/com/las command to list the address space of the process.


 -- David Krowitz

krowitz@richter.mit.edu   (18.83.0.109)
krowitz%richter.mit.edu@eddie.mit.edu
krowitz%richter.mit.edu@mitvma.bitnet
(in order of decreasing preference)