LISTRL [ HP Link Editor/XL Reference Manual ] MPE/iX 5.0 Documentation
HP Link Editor/XL Reference Manual
LISTRL
This command displays (on LINKLIST) the symbols contained in relocatable
object modules of a relocatable library. (You may need this information
for the COPYRL, EXTRACTRL and PURGERL commands.)
If you do not specify which symbols to display using the parameters
listed below, the following types of symbols are displayed:
* Procedure and program entry points.
* Imported code symbols.
* HP COBOL II chunk symbols.
* Exported data symbols, except compiler-generated symbols beginning
with $, S$, or C$.
* Certain compiler-generated static data symbols, beginning with M$,
which appear in HP COBOL II listings.
* Storage requests (for example, HP FORTRAN 77 COMMON).
* Module symbols.
Syntax
LISTRL [RL= rl_file]
[;ENTRY= entry_name [ ,entry_name]...]
[;MODULE= module_name [ ,module_name]...]
[;BLOCKDATA= blockdata_name [, blockdata_name]...]
[;LSET= lset_name [ ,lset_name]...]
[;ALL]
[;CODE]
[;DATA]
[;ENTRYSYM]
[;MILLICODE]
Parameters
rl_file Names the relocatable library to list. The file must
have an NMRL filecode. Default: the current
relocatable library established by the last BUILDRL
or RL command.
The next four parameters (ENTRY, MODULE, BLOCKDATA, and LSET) identify
specific modules to list. You can use any one by itself, or you can use
them in combination. If you omit these parameters, the entire
relocatable library is listed.
entry_name Lists the module(s) that define (export) the symbolic
entry_name. You can enter an indirect file for this
parameter. Entry_name is case sensitive.
module_name Lists only those modules having the name,
module_name. If you do not use the RLFILE compiler
directive, this is the name of the source file from
which the relocatable object module was compiled. If
you use the RLFILE compiler directive, see the
appropriate language appendix (appendix B, C, D, or
E) for the definition of this name. You can enter an
indirect file for this parameter.
blockdata_name Lists only those modules having the name,
blockdata_name. Use this parameter only for HP
FORTRAN 77 block data subprograms. You can use an
indirect file name for blockdata_name.
lset_name Lists those modules that contain code belonging to
the locality set ( lset_name) that you enter. A
module can contain several locality sets, or there
can be several modules within a locality set. Each
compiler provides its own directives for placing
procedures into locality sets (check your language
manual to see if locality sets are available). You
can enter an indirect file for this parameter.
ALL Displays the symbols in the relocatable library,
including compiler-generated local symbols.
CODE Displays all imported and exported (not local) code
symbols.
DATA Displays all exported data symbols and storage
requests.
ENTRYSYM Displays all procedure and program entry points.
MILLICODE Displays all millicode symbols.
Example
LinkEd> LISTRL RL=LIBRL;CODE;ENTRYSYM
This command displays symbols in the LIBRL relocatable library. It also
displays all procedure and program entry points. (The library is the one
that is created in figure 2-4.)
The first part of the listing is the relocatable library header. LIBRARY
NAME gives the file name of the relocatable library and VERSION is its
format version. MODULE COUNT shows the number of relocatable modules in
the library and MODULE LIMIT gives the maximum number of modules that it
holds.
After the relocatable library header is the first relocatable module
header. MODULE NAME gives the name of the relocatable object module and
VERSION is its format version. LENGTH gives the number of bytes (in
hexadecimal) in the relocatable object module. Symbols in the
relocatable object module are listed after the header. See the next
section "Understanding the Symbol Listing" for an explanation of the
symbols and columns in the symbol portion of the listing. If there are
additional relocatable object modules in the relocatable library to list,
they appear next and are listed in the same format as the first module.
LIBRARY NAME : LIBRL
VERSION : 85082112
MODULE COUNT : 5
MODULE LIMIT : 2000
MODULE NAME : LIB1SRC
VERSION : 85082112
LENGTH : 00000508
Sym C H X P Sym Sym Lset
Name Type Scope Name
---- - - - - ---- ----- ----
julian 3 3 3 entry univ
MODULE NAME : LIB2SRC
VERSION : 85082112
LENGTH : 00000620
Sym C H X P Sym Sym Lset
Name Type Scope Name
---- - - - - ---- ----- ----
mdy 3 3 3 entry univ
julian 3 code unsat
MODULE NAME : LIB3SRC
VERSION : 85082112
LENGTH : 000004B8
Sym C H X P Sym Sym Lset
Name Type Scope Name
---- - - - - ---- ----- ----
wkday 3 3 3 entry univ
julian 3 code unsat
MODULE NAME : LIB4SRC
VERSION : 85082112
LENGTH : 00000530
Sym C H X P Sym Sym Lset
Name Type Scope Name
---- - - - - ---- ----- ----
adddat 3 3 3 entry univ
julian 3 code unsat
mdy 3 code unsat
MODULE NAME : LIB5SRC
VERSION : 85082112
LENGTH : 00000484
Sym C H X P Sym Sym Lset
Name Type Scope Name
---- - - - - ---- ----- ----
amort 3 3 3 entry univ
FTN_DTOI 0 code unsat
Understanding the Symbol Listing
This section describes the fields that appear in the symbol listing
produced by this command.
Column Description
Sym Name Contains the name of the symbol. If the name
exceeds 25 characters, it is truncated and an
asterisk appears in the first truncated position.
C Contains the type checking level of the symbol.
See the
PARMCHECK= check_level parameter of the ADDXL and
LINK commands for a definition of the values that
appear in this column.
H Specifies whether the symbol is hidden or not. If
an H appears in this column, the symbol was hidden
by the HIDERL command. If the column is blank, the
symbol is not hidden.
X Specifies the xleast level of the symbol. See the
XLEAST= xleast_level parameter of the ADDXL command
for a definition of the values that appear in this
column.
P Specifies the privilege or execution level at which
this symbol runs. See the PRIVLEV= priv_level
parameter of the ADDXL and LINK commands for a
definition of the values that appear in this
column.
Sym Type Contains the symbol type. The symbol types are
shown below (see Table 5-1 for the relationship
of Sym Type values to Sym Scope values).
abs - Absolute
code - Code
data - Data
entry - Entry
milli - Millicode
mod - HP Pascal module name
null - Null
plab - Procedure label
pri_p - Primary program entry point
s_req - Storage request
sec_p - Secondary program entry point
Sym Scope Specifies the symbol's scope. The symbol scopes
are shown below (see Table 5-1 for the
relationship of Sym Scope values to Sym Type
values).
local - Local
univ - Universal
unsat - Unsatisfied
Lset Name Specifies the name of the locality set to which
this symbol belongs. Only user-defined locality
sets are listed.
Table 5-1. Symbol Types and Scopes (LISTRL)
-----------------------------------------------------------------------------------------------
| | | |
| Sym Type | Sym Scope | Description |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| abs | univ | A symbol that defines a non-relocatable symbol or |
| | | value and is visible to other object modules. |
| | | |
| abs | local | A symbol that defines a non-relocatable symbol or |
| | | value and is invisible to other object modules. |
| | | |
| abs | unsat | A symbol that references a non-relocatable symbol. |
| | | |
| code | local | A local label generated by the compiler, a user |
| | | label or a local label within a millicode routine. |
| | | |
| code | univ | The actual starting point of the code of a level |
| | | one procedure or function. An entry univ symbol |
| | | must exist for this symbol in order for other |
| | | object modules to reference the procedure or |
| | | function. (This symbol appears most frequently in |
| | | LISTPROG and LISTXL listings.) |
| | | |
| code | unsat | A symbol which is referenced by an object module, |
| | | but not defined by it. |
| | | |
| data | local | A data symbol which is visible inside an object |
| | | module, but invisible to other object modules. |
| | | |
| data | univ | A data symbol defined in an object module that is |
| | | visible to other object modules. |
| | | |
| data | unsat | A data symbol that is referenced by an object |
| | | module but not defined in it. |
| | | |
| entry | univ | The export stub for a level one procedure or |
| | | function. It is visible to other object modules. |
| | | |
| entry | local | The entry point to a nested procedure or program, |
| | | referenceable only within the module. |
| | | |
| milli | univ | A millicode routine linked into an object module. |
| | | |
| milli | unsat | A reference to a millicode routine that will be |
| | | linked into a relocatable object module. |
| | | |
-----------------------------------------------------------------------------------------------
Table 5-1. Symbol Types and Scopes (LISTRL) (cont.)
-----------------------------------------------------------------------------------------------
| | | |
| Sym Type | Sym Scope | Description |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| mod | local | An HP Pascal module name. |
| | | |
| null | univ | Internal symbol. |
| | | |
| null | local | Internal symbol. |
| | | |
| null | unsat | Internal symbol. |
| | | |
| plab | local | An export stub created for a procedure or function |
| | | (declared in a relocatable object module) whose |
| | | address has been taken. |
| | | |
| pri_p | univ | The main entry point into an outer block of a |
| | | program file. |
| | | |
| s_req | unsat | A symbol created when an uninitialized HP FORTRAN |
| | | 77 common block is declared. This symbol is also |
| | | created for Pascal global data and C globals. |
| | | |
| sec_p | univ | The secondary entry point into an outer block of a |
| | | program file. |
| | | |
-----------------------------------------------------------------------------------------------
MPE/iX 5.0 Documentation