HP 3000 Manuals

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