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)