Trailing-Edge
-
PDP-10 Archives
-
BB-JR93L-BB_1990
-
10,7/glob/glob.hlp
There are 11 other files named glob.hlp in the archive. Click here to see a list.
Listing GLOBal Symbols Using GLOB
Function
The GLOB program reads multiple binary files and produces an
alphabetical cross-referenced list of all the global symbols (symbols
accessible to other programs) that it encounters. This program also
searches files in library search mode, checking for global symbols, if
the program file was loaded by LINK in library search mode. (See the
LINK manual.)
The GLOB program has two phases of operation:
1. Phase one scans the input files and builds an internal symbol
table.
2. Phase two produces output based on the symbol table.
Because of these phases, you can enter commands to GLOB in one of two
ways. The first way is to specify one command string containing both
the output and input specifications; this is the command string format
most system programs accept. The second is to separate the command
string into a series of input commands and output commands.
Formats
R GLOB
*output file-spec=input file-spec(/switch,/switch)<ESC>
where: * is the GLOB prompt, and /switch is one or more of the
switches listed below.
R GLOB
followed by one or more input commands in the form:
file-spec, file-spec,...<RET>
and then one or more output commands in the form:
output file-spec=<ESC>
When you separate your input to GLOB into input commands and output
commands, the input commands contain only input specifications. The
output commands contain only output specifications. Each output
command causes a listing to be generated; any number of listings can
be printed from the symbol table generated from the current input
files, as long as no input commands occur after the first output
command. When GLOB encounters an input command after output has been
generated, it destroys the current symbol table and begins a new one.
An ESCape (or ALTmode) terminates the command input and signals GLOB
to print the cross-referenced listing. A listing is not printed until
GLOB encounters an ESCape. Press ESCape at the end of the command
string shown in command format 1 or at the end of each output command
shown in command format 2.
If you omit some of the information in a GLOB command, the program
takes the following defaults:
o If the device is omitted, it is assumed to be DSK:. However,
if the entire output specification is omitted, the output
device is TTY:.
o If the output file name is omitted, it is the name of the
last input file on the line (Command Format 1) or is GLOB if
the line contains only output commands (Command Format 2).
The input file names are required.
o If the output extension is omitted, .GLB is used. If the
input extension is omitted, it is assumed to be .REL, unless
the null extension is explicitly specified by a dot following
the file name.
o If the directory area [directory] is omitted, your default
directory is used.
Switches to GLOB control the type of global listings to be printed.
If you issue several switches, enclose them in parentheses. Only the
most recently specified switch (except for L, M, P, Q, and X, which
are always in effect) is in effect at any given time. If you do not
specify any switches, GLOB prints all global symbols. The switches
and their functions are:
/A Prints all global symbols. This is the default if no
switches are specified.
/E Prints only erroneous (multiply defined or undefined)
symbols.
/F Prints nonrelocatable (fixed) symbols only.
/H Prints a list of the switches available from HLP:GLOB.HLP.
/L Scans programs only if they contain globals previously
defined and not yet satisfied (library search mode).
/M Turns off scanning mode resulting from the /L switch.
/N Prints only symbols that are never referenced.
/P Prints all routines that define a symbol to have the same
value. The routine that defines the symbol first is
printed, followed by a plus (+) sign. Subsequent routines
that define the symbol are printed, preceded by a plus sign.
/Q Suppresses the printing of subsequent defining routines,
which result from the /P switch.
/R Prints only relocatable symbols.
/S Prints symbols with nonconflicting values that are defined
in more than one program.
/X Suppresses the header page when the output device is not
your terminal, and includes the header when it is your
terminal. Without this switch, the header is printed on all
devices except your terminal.
Output from GLOB
The listing header is in the format:
Flags Symbol Octal Value Defined Referenced
The flags are:
Flags Meaning
M Multiply-defined symbol (shows all values).
N Never referred to (was not declared external in any of the
binary programs).
S Multiply specified symbol (that is, defined in more than one
program but with nonconflicting values). The name of the
first program in which the symbol was encountered is
followed by a plus sign.
U Undefined symbol.
Symbols are listed in alphabetical order according to their ASCII
collating sequence. An apostrophe (') follows the octal value of a
relocatable symbol. The value is then relative to the beginning of
the program in which the symbol is defined.
Characteristics
The GLOB program:
Requires LOGIN.
Places your terminal at user level.
Destroys your core image.
Example
Run the GLOB program, and print all global symbols in the program MAIN
(on DSK:), and SUB40 and SUB50 (on DTA2:) on the line printer. Each
symbol is printed with its value, the program in which it is defined,
all programs in which it is referenced, and any error flags.
.R GLOB<RET>
*LPT:=MAIN.REL,DTA2:SUB40,SUB50<ESC>
The programs to be scanned are BATCH.REL and DATA.REL on DTA4,
NUMBER.REL and CLASS.REL on DTA6:, and MATH.REL and LIBRAR.REL on
DSK:.
*DTA4:BATCH.REL,DATA.REL,DTA6:NUMBER.REL,CLASS.REL<RET>
*DSK:MATH.REL,LIBRAR.REL<RET>
Print only nonrelocatable symbols on the line printer.
*LPT:=/F4<ESC>
Print only relocatable symbols in the file named SYMBOL in your
default directory.
*DSK:SYMBOL=/R<ESC>
Print all erroneous symbols on the terminal. EXTSYM is an undefined
symbol appearing in the program SUBRTE.
*TTY:=/E<ESC>
U EXTSYM SUBRTE
Return to monitor level.
*^C
.