HP 3000 Manuals

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