listelb utility

WSupported on Windows
USupported on Unix

 

 

The listelb utility displays information about the routines and global data (including initial contents) contained in the specified executable library or libraries. It also displays the names of external routines and global data referenced by each of those routines. (On OpenVMS, the ANALYZE/IMAGE utility is equivalent to listelb.)

You must run the version of listelb that has the same bitness as the ELB you are examining; else, you’ll get the error “Library elbname built with opposite bit size.”

Listelb has the following syntax:

listelb [option] elb_file [...]

option

(optional) One or more of the following:

-e

Display a list of linked ELB names only.

-f

For each routine, show the MDB flags, the compilation version, and all routines that are called, as well as the link version, endian type (LTLNDN or BIGNDN), and bit size of the ELB file. (See Synergex KnowledgeBase article 2324 for more information about MDB flags.)

-h

Display usage information.

-i

Display the version of the linker (in the file header) used to create the ELB.

-l

Include information for each of the ELBs linked to the specified ELB.

-v

Turn off verbose output. Use -v by itself to provide an abbreviated list of the ELB’s contents or use with -l to include the linked ELBs.

elb_file

One or more .elb files for which you want to display information.

Discussion

When run without any options, listelb outputs the methods, subroutines, and functions in the specified ELB (along with details about them), followed by the global symbol definitions and the names of any linked ELBs. Use -l to include this level of detail about the linked ELBs also.

The excerpts below are from the listelb output for tklib.elb.

c:\myelbs>listelb tklib.elb
[tklib.elb]
"tklib.elb" latest ELB structure
18SYNERGEX_PRIVATE11SYNERGYDE11UITOOLKIT18IBU_SYNCHRONIZER5LOAD_IBAAAAAAAA  size 792, pos 541368, ext refs 0, gnamsiz 0
    LDXREF 18SYNERGEX_PRIVATE11SYNERGYDE11UITOOLKIT18IBU_SYNCHRONIZER5SAVE_XBAAAAAAAA
    LDXREF 18SYNERGEX_PRIVATE11SYNERGYDE11UITOOLKIT18IBU_SYNCHRONIZER6ALLOC_I
18SYNERGEX_PRIVATE11SYNERGYDE11UITOOLKIT18IBU_SYNCHRONIZER5SAVE_XBAAAAAAAA  size 760, pos 542307, ext refs 0, gnamsiz 0
.
.
.
AXU_GETSINGLECTLS  size   536, pos 544175, ext refs 19, gnamsiz  0
AX_INPUT      size  1672, pos 544730, ext refs 157, gnamsiz 125
AX_REGISTER   size   752, pos 546684, ext refs 66, gnamsiz  0

The entries that begin with numbers are methods; the ones without numbers are subroutines or functions. Here’s how to “read” the above method entry:

The following are displayed for methods, subroutines, and functions:

After the list of routines, you’ll see the global symbol definitions:

40 global symbol definitions
    $GDS_DTK_AXSINGLE   GLOBAL, "<0><0><0><0><0><0><0><0>"
    $GDS_DTK_BLDINP   GLOBAL, "<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>..."
    .
    .
    .
    $SR_AX_TKWIN060F1652   GLOBAL, "<0><0><0><0><0><0><0><0>"
    $SR_CU_STAMPCHILD060F1B25   GLOBAL, "<0><0><0><0><0><0><0><0>"
Note

The format and output of listelb data is subject to change without notice.