LISTXL [ HP Link Editor/XL Reference Manual ] MPE/iX 5.0 Documentation
HP Link Editor/XL Reference Manual
LISTXL
This command lists (on LINKLIST) symbols contained in selected executable
modules of an executable library. (You may need this information for the
COPYXL and PURGEXL 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
LISTXL [XL= xl_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]
[;STUB]
[;VALUE]
Parameters
xl_file Names the executable library to list. The file must
have an NMXL filecode. Default: the current
executable library established by the last BUILDXL or
XL 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 executable
library is listed.
entry_name Lists the modules that define (export) the symbolic
entry_name. You can enter an indirect file for this
parameter. Entry_name is case sensitive.
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 all symbols in the executable 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.
STUB Displays all stub and plabel symbols.
VALUE Displays all symbols by symbol value rather than
alphabetically by symbol name.
Example
LinkEd> LISTXL XL=LIBXL;ALL;VALUE
This command displays all symbols in the LIBXL executable library,
including compiler-generated local symbols. Symbols are sorted and
displayed by their value. The executable library is the one created in
figure 2-7. The source program (EX2BSRC) is listed in figure 2-13.
The first part of the listing is the executable library header. LIBRARY
NAME is the file name of the executable library. VERSION is the format
version of the library. MODULE COUNT shows the number of executable
modules in the library and MODULE LIMIT is the maximum number that it
holds.
After the executable library header, the first executable module header
is listed. MODULE NAME shows the name of the executable module and
VERSION shows its format version. LENGTH shows the number of bytes (in
hexadecimal) in the executable module. Symbols in the executable 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 other executable modules to
list in the executable library, they appear next and are listed in the
same format as the first module.
LIBRARY NAME : LIBXL
VERSION : 85082112
MODULE COUNT : 1
MODULE LIMIT : 500
MODULE NAME START LENGTH
----------- ----- ------
EX2BSRC 00129000 00004078
MODULE NAME : EX2BSRC
VERSION : 85082112
LENGTH : 00004078
Sym C H X P Sym Sym Sym Lset
Name Type Scope Value Name
---- - - - - ---- ----- ----- ----
julian 3 3 3 entry univ 0012B4EC
mdy 3 3 3 entry univ 0012B508
wkday 3 3 3 entry univ 0012B524
adddat 3 3 3 entry univ 0012B543
amort 3 3 3 entry univ 0012B55C
$neg3 0 code local 0012B058
$neg5 0 code local 0012B098
$neg6 0 code local 0012B0E0
$pos 0 code local 0012B120
$pos_for_17 0 code local 0012B130
$neg10 0 code local 0012B168
$neg 0 code local 0012B174
$neg_for_17 0 code local 0012B184
$neg12 0 code local 0012B1C0
$neg15 0 code local 0012B1F4
$neg17 0 code local 0012B224
$u17 0 code local 0012B248
$7 0 code local 0012B25C
$pos7 0 code local 0012B26C
$1 0 code local 0012B294
$2 0 code local 0012B2A0
$neg7 0 code local 0012B2A8
$8 0 code local 0012B2AC
$neg7_shift 0 code local 0012B2B8
$3 0 code local 0012B2E0
$4 0 code local 0012B2F0
$neg9 0 code local 0012B32C
$neg14 0 code local 0012B36C
t1 0 code local 0012B39C
finish 0 code local 0012B4A4
div_ovfl 0 code local 0012B4B4
julian 3 code univ 0012B598
mdy 3 code univ 0012B688
wkday 3 code univ 0012B7F0
adddat 3 code univ 0012B878
amort 3 code univ 0012B96C
$UNWIND_START 0 code univ 0012BA38
$UNWIND_END 0 code univ 0012BAA8
$RECOVER_END 0 code univ 0012BAB8
$RECOVER_START 0 code univ 0012BAB8
L$2 0 data local 0012B4C0
L$3 0 data local 0012B4D0
L$6 0 data local 0012B4D8
$global$ 0 data univ dp+00000000
julian.M$2 0 data local dp+00000000
$dp$ 0 data univ dp+00000000
mdy.M$3 0 data local dp+00000030
wkday.M$4 0 data local dp+00000060
$PFA_C_END 0 data univ dp+00000078
$PFA_C_START 0 data univ dp+00000078
FTN_DTOI 0 stub ext lp+00000020
$$divide_by_constant 0 milli univ 0012B000
$$divI_2 0 milli univ 0012B000
$$divI_4 0 milli univ 0012B010
$$divI_8 0 milli univ 0012B020
$$divI_16 0 milli univ 0012B030
$$divI_3 0 milli univ 0012B040
$$divU_3 0 milli univ 0012B06C
$$divI_5 0 milli univ 0012B084
$$divU_5 0 milli univ 0012B0B0
$$divI_6 0 milli univ 0012B0C8
$$divU_6 0 milli univ 0012B0F8
$$divU_10 0 milli univ 0012B110
$$divI_10 0 milli univ 0012B154
$$divI_12 0 milli univ 0012B1AC
$$divU_12 0 milli univ 0012B1D0
$$divI_15 0 milli univ 0012B1E4
$$divU_15 0 milli univ 0012B1FC
$$divI_17 0 milli univ 0012B208
$$divU_17 0 milli univ 0012B23C
$$divI_7 0 milli univ 0012B258
$$divU_7 0 milli univ 0012B2F8
$$divI_9 0 milli univ 0012B310
$$divU_9 0 milli univ 0012B344
$$divI_14 0 milli univ 0012B360
$$divU_14 0 milli univ 0012B364
$$remoI 0 milli univ 0012B378
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 6-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
plab - Procedure label
stub - Stub
Sym Scope Specifies the symbol's scope. The symbol scopes
are shown below (see Table 6-1 for the
relationship of Sym Scope values to Sym Type
values).
ext - External
local - Local
univ - Universal
Sym Value Specifies the value of the symbol. For pri_p,
sec_p and entry univ symbols, this column contains
the address of an export stub. For stub ext and
plab local symbols (values displayed in the lp+
format), this column shows the address of the XRT
entry for this import stub. For stub local
symbols, this column contains the address of the
stub (a promotion stub or an import stub). For all
data univ symbols, this column contains the address
of a literal (if not represented in dp+ format) or
the offset from the dp (data pointer) register.
For all other symbols, it shows the address of the
symbol.
Lset Name Specifies the name of the locality set to which
this symbol belongs. Only user-defined locality
sets are listed.
Table 6-1. Symbol Types and Scopes (LISTXL)
-----------------------------------------------------------------------------------------------
| | | |
| 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. |
| | | |
| 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. |
| | | |
| 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. |
| | | |
| 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. |
| | | |
| mod | local | An HP Pascal module name. |
| | | |
| plab | local | An export stub created for a procedure or function |
| | | (declared in a relocatable object module) whose |
| | | address has been taken. |
| | | |
| stub | ext | A procedure or function which is referenced by an |
| | | object module but not defined by it. The loader |
| | | resolves this reference at run time. |
| | | |
| stub | local | A promotion or an import stub. |
| | | |
-----------------------------------------------------------------------------------------------
MPE/iX 5.0 Documentation