This is version 130111 of the
VMS Objects and Images Tools for Alpha and I64:

CKSUMEOBJ - crc32 ChecKSUM of an Evax OBJect file,
calculates and displays checksums of an Alpha object file by excluding module header records.

ELFSYM - ELF SYMbols,
lists all symbols of an Elf file.

ELFSYMD - ELF SYMbols Demangled,
lists all symbols of an Elf file with source code names, if available.

GSDEOBJ - Global Symbol Directory of an Evax OBJect file,
lists the global symbol directory of an Alpha object file.
Use GSDEOBJ for STBs generated by compilers or macro.

GSDEOLB - Global Symbol Directory of an Evax Object (and image) LiBrary,
lists the elements of an Alpha library (objects or shareable images)
with their global symbol directory entries.

GSTESTB - Global Symbol Table of an Evax STB file,
lists the global symbol table of an Alpha symbol table file.
Use GSTESTB for STBs generated by the linker.

IMGEXP - IMaGe EXPorts,
lists all what a shareable images exports, PSECTs, data and procedures.

SHIML - SHareable IMage List,
lists all the shareable images an image depends on.

TIREOBJ - Text Information and Relocation records of an Evax OBJect file,
formats the TIR records of an Alpha object file.

XPD - eXternal Procedures and Data,
lists all the external procedures and data an image references in shareable images.


Versions:
    Alpha - CKSUMEOBJ V0.91, GSDEOBJ V0.94, GSDEOLB V0.93, GSTESTB V0.91,
            IMGEXP V1.5, SHIML V1.2, TIREOBJ V0.91, XPD V1.6
    I64 - ELFSYM V1.3, ELFSYMD V0.91, IMGEXP V1.1, SHIML V1.3, XPD V1.7

Changes since version 110517:
SHIML prints a warning if the shareable image idents do not match; some
minor changes in how warnings and error messages are printed (especially
SHIM and XPD).

Files in the saveset:
README.TXT - This text file
[.ALPHA]CKSUMEOBJ.EXE
[.ALPHA]GSDEOBJ.EXE
[.ALPHA]GSDEOLB.EXE
[.ALPHA]GSTESTB.EXE
[.ALPHA]IMGEXP.EXE
[.ALPHA]SHIML.EXE
[.ALPHA]TIREOBJ.EXE
[.ALPHA]XPD.EXE
[.I64]ELFSYM.EXE
[.I64]ELFSYMD.EXE
[.I64]IMGEXP.EXE
[.I64]SHIML.EXE
[.I64]XPD.EXE

CKSUMEOBJ usage

$ MC your_disk:[your_dir]CKSUMEOBJ [-efqs] full_object_file_spec...
  -e  show excluded records
  -f  show file checksum
  -q  quiet: no headers
  -s  show record type checksums

The record type checksums, are checksums or all the GSD - the symbol, the
TIR - the code and data, the DBG - the debug and the TBT - the traceback records.
With the record type checksums one can verify an object file for the symbols,
code and data, regardless whether it is compiled with debug and/or traceback
records.

Examples

$ mc sys$disk:[]cksumeobj hello.obj
CRC32-Checksum for OpenVMS/Alpha object files, V0.91
object checksum: 0x51d06ea5
$
$ mc sys$disk:[]cksumeobj -e hello.obj
CRC32-Checksum for OpenVMS/Alpha object files, V0.91
-i-excluded, emh$c_mhd: HELLO
-i-excluded, emh$c_mhd: V1.0
-i-excluded, emh$c_mhd: 13-DEC-2005 14:42
-i-excluded, emh$c_lnm: HP C V7.1-015
object checksum: 0x51d06ea5
$
$ mc sys$disk:[]cksumeobj -fs hello.obj
CRC32-Checksum for OpenVMS/Alpha object files, V0.91
gsd checksum: 0x5720f6f7
tir checksum: 0x91409529
dbg checksum: 0xf5306780
tbt checksum: 0x03a90f73
eom checksum: 0xe63ff7ab
object checksum: 0x51d06ea5
file checksum: 0x3cbc7f92
$
$ mc sys$disk:[]cksumeobj hello.obj foo.obj
CRC32-Checksum for OpenVMS/Alpha object files, V0.91
hello.obj:
object checksum: 0x51d06ea5
foo.obj:
object checksum: 0xfa7de31b
$

ELFSYM usage

$ MC your_disk:[your_dir]ELFSYM full_elf_file_spec

Example

$ mc sys$disk:[]elfsym hello.obj
Elf symbols, version 1.3
Type    Bind       Vis       FuncType  Linkage  SectionNdx Name
FILE    LOCAL      DEFAULT             IGNORE          ABS SYS$SYSDEVICE:[HB]HELLO.C;1
SECTION LOCAL      DEFAULT             IGNORE            3
SECTION LOCAL      DEFAULT             IGNORE            4
SECTION LOCAL      DEFAULT             IGNORE            5
SECTION LOCAL      DEFAULT             IGNORE            6
SECTION LOCAL      DEFAULT             IGNORE            7
SECTION LOCAL      DEFAULT             IGNORE            8
SECTION LOCAL      DEFAULT             IGNORE           11
SECTION LOCAL      DEFAULT             IGNORE           13
SECTION LOCAL      DEFAULT             IGNORE           14
SECTION LOCAL      DEFAULT             IGNORE           16
SECTION LOCAL      DEFAULT             IGNORE           18
SECTION LOCAL      DEFAULT             IGNORE           19
SECTION LOCAL      DEFAULT             IGNORE           21
OBJECT  GLOBAL     DEFAULT             IGNORE       COMMON WORLD
FUNC    GLOBAL     DEFAULT   CODE_ADDR STD               3 HELLO
FUNC    VMS_WEAK   DEFAULT   CODE_ADDR IGNORE            3 ELF$TFRADR
FUNC    GLOBAL     DEFAULT   CODE_ADDR STD           UNDEF DECC$TXPRINTF
$

$ mc sys$disk:[]elfsym minishr.exe
Elf symbols, version 1.3
Type    Bind       Vis       FuncType  Linkage  SectionNdx Name
OBJECT  GLOBAL     PROTECTED           IGNORE          ABS EXPORTED_CONST
OBJECT  GLOBAL     PROTECTED           IGNORE            8 EXPORTED_DATA
FUNC    GLOBAL     PROTECTED SYMV_IDX  STD               8 EXPORTED_PROCEDURE
$

ELFSYMD usage
$ MC your_disk:[your_dir]ELFSYMD full_elf_file_spec

Example

$ mc sys$disk:[]elfsymd hello.obj
ELF SYMbols Demangled, version 0.91
Type    Bind       Vis       FuncType  Linkage  SectionNdx Name
FILE    LOCAL      DEFAULT             IGNORE          ABS SYS$SYSDEVICE:[HB]HELLO.CXX;1
SECTION LOCAL      DEFAULT             IGNORE            1 .strtab
SECTION LOCAL      DEFAULT             IGNORE            2 .symtab
SECTION LOCAL      DEFAULT             IGNORE            3 .note
SECTION LOCAL      DEFAULT             IGNORE            4 .srodata
NOTYPE  LOCAL      DEFAULT             IGNORE            4 __STRING$0
SECTION LOCAL      DEFAULT             IGNORE            5 .text
NOTYPE  LOCAL      DEFAULT             IGNORE            5 MAIN??unw
SECTION LOCAL      DEFAULT             IGNORE            6 .IA_64.unwind_info
NOTYPE  LOCAL      DEFAULT             IGNORE            6 __udt_MAIN??unw
SECTION LOCAL      DEFAULT             IGNORE            7 .IA_64.unwind
NOTYPE  LOCAL      DEFAULT             IGNORE            5 ELF$TFRADR??unw
NOTYPE  LOCAL      DEFAULT             IGNORE            6 __udt_ELF$TFRADR??unw
SECTION LOCAL      DEFAULT             IGNORE            8 .debug_info
SECTION LOCAL      DEFAULT             IGNORE            9 .debug_line
SECTION LOCAL      DEFAULT             IGNORE           10 .debug_abbrev
NOTYPE  LOCAL      DEFAULT             IGNORE            5 DwArFiI_HiGh_Pc
NOTYPE  LOCAL      DEFAULT             IGNORE            8 .debug_info_seg
SECTION LOCAL      DEFAULT             IGNORE           11 .trace_abbrev
SECTION LOCAL      DEFAULT             IGNORE           12 .trace_info
SECTION LOCAL      DEFAULT             IGNORE           13 .trace_aranges
SECTION LOCAL      DEFAULT             IGNORE           14 .rela.text
SECTION LOCAL      DEFAULT             IGNORE           15 .rela.IA_64.unwind_info
SECTION LOCAL      DEFAULT             IGNORE           16 .rela.IA_64.unwind
SECTION LOCAL      DEFAULT             IGNORE           17 .rela.debug_info
SECTION LOCAL      DEFAULT             IGNORE           18 .rela.debug_line
SECTION LOCAL      DEFAULT             IGNORE           19 .rela.trace_info
SECTION LOCAL      DEFAULT             IGNORE           20 .rela.trace_aranges
NOTYPE  LOCAL      DEFAULT             IGNORE        UNDEF _ZN7ostreamlsEPKc
NOTYPE  LOCAL      DEFAULT             IGNORE        UNDEF _Z4endlR7ostream
SECTION LOCAL      DEFAULT             IGNORE           21 .vms_display_inf
NOTYPE  LOCAL      DEFAULT             IGNORE          ABS CX6L$__HP_DEMANGLER@CXXL$64_LANGRTL
NOTYPE  LOCAL      DEFAULT             IGNORE          ABS CX6L$__HP_NODEMANGLER@CXXL$64_LANGRTL
OBJECT  GLOBAL     DEFAULT             IGNORE        UNDEF CXXL$GA_COUT
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE            5 MAIN
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF CXXL$_ZN7OSTREAMLSEPKC27JOAMN
-> 'ostream::operator <<(const char *)'
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF CXXL$_Z4ENDLR7OSTREAM0C0N3I7
-> 'endl(ostream &)'
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF CXXL$MAIN_DISPATCH_ROUTINE
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE            5 ELF$TFRADR
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF DECC$MAIN
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF DECC$EXIT
FUNC    GLOBAL     DEFAULT   CODE_ADDR IGNORE        UNDEF DECC$$SHELL_HANDLER
NOTYPE  GLOBAL     DEFAULT             IGNORE        UNDEF MAIN
$

GSDEOBJ usage

$ MC your_disk:[your_dir]GSDEOBJ [-qv] full_object_file_spec...
  -q  quiet: no headers
  -v  verbose

Examples

$ mc sys$disk:[]gsdeobj foo.obj hello.obj
GSD for OpenVMS/Alpha object files, V0.94
foo.obj:
Type      Flags         caPSIndx PSIndx Name
PSECT     ---r---RW----               0 $DATA$
DATA      -D-R----                    0 FOO
hello.obj:
Type      Flags         caPSIndx PSIndx Name
PSECT     P--r-SE------               0 $CODE$
PSECT     P--r-S-R--N--               1 $LITERAL$
PSECT     ---r---R-----               2 $LINK$
PROCEDURE -D-R--N-             0      2 MAIN
PROCEDURE -D-R--N-             0      2 __MAIN
UDFSYM    --------                      DECC$GXPRINTF
UDFSYM    --------                      DECC$MAIN
UDFSYM    --------                      DECC$EXIT
UDFSYM    --------                      DECC$$SHELL_HANDLER
$
$ mc sys$disk:[]gsdeobj -v foo.obj hello.obj
GSD for OpenVMS/Alpha object files, V0.94
foo.obj:
EMH:
  name: FOO
  version: V1.0
  date:  9-DEC-2005 10:36
LNM:
  HP C V7.1-015
Type      Flags         caPSIndx PSIndx Name
PSECT     ---r---RW----               0 $DATA$
DATA      -D-R----                    0 FOO
EOM:
  total linkage pairs: 0
  completion code: 0x0
	SUCCESS
Record summary:
  emh: 2, eom: 1, gsd: 1, tir: 1, dbg: 0, tbt: 2
  psc: 1, sym: 1
hello.obj:
EMH:
  name: HELLO
  version: V1.0
  date: 13-DEC-2005 14:42
LNM:
  HP C V7.1-015
Type      Flags         caPSIndx PSIndx Name
PSECT     P--r-SE------               0 $CODE$
PSECT     P--r-S-R--N--               1 $LITERAL$
PSECT     ---r---R-----               2 $LINK$
PROCEDURE -D-R--N-             0      2 MAIN
PROCEDURE -D-R--N-             0      2 __MAIN
UDFSYM    --------                      DECC$GXPRINTF
UDFSYM    --------                      DECC$MAIN
UDFSYM    --------                      DECC$EXIT
UDFSYM    --------                      DECC$$SHELL_HANDLER
EOM:
  total linkage pairs: 3
  completion code: 0x0
	SUCCESS
  transfer address flag: 0x0
  transfer address PSECT index: 2
  transfer address: 0x40
Record summary:
  emh: 2, eom: 1, gsd: 2, tir: 2, dbg: 8, tbt: 7
  psc: 3, sym: 7
Keys to PSECT flags:
  P - PIC, position independent    L - LIB, from shareable image
  O - OVR, overlaid allocation     r - REL, relocatable
  G - GBL, global                  S - SHR, shareable
  E - EXE, executable              R - RD, readable
  W - WRT, writeable               V - VEC, vector
  N - NOMOD, not stored into       C - COM, allocation for common symbol
  A - ALLOC_64BIT, allocate in 64-bit space
Keys to symbol flags:
  W - WEAK, weak                   D - DEF, definition
  U - UNI, universal               R - REL, relocatable
  C - COMM, common                 V - VECEP, vectored entry point
  N - NORM, procedure              Q - QUAD_VAL, value is 64 bits
$
$ mc sys$disk:[]gsdeobj -q foo.obj hello.obj
PSECT     ---r---RW----               0 $DATA$
DATA      -D-R----                    0 FOO
PSECT     P--r-SE------               0 $CODE$
PSECT     P--r-S-R--N--               1 $LITERAL$
PSECT     ---r---R-----               2 $LINK$
PROCEDURE -D-R--N-             0      2 MAIN
PROCEDURE -D-R--N-             0      2 __MAIN
UDFSYM    --------                      DECC$GXPRINTF
UDFSYM    --------                      DECC$MAIN
UDFSYM    --------                      DECC$EXIT
UDFSYM    --------                      DECC$$SHELL_HANDLER
$

GSDEOLB usage

$ MC your_disk:[your_dir]GSDEOLB [-lnqvx -mMOD] full_old_file_spec...
  -l     list: print only library module names
  -mMOD  module: print the information only for the specified module
  -n     names: print library GSD names
  -q     quiet: no headers
  -v     verbose
  -x     extended: print object GSD for each/specified module
	                                       
Examples
					       
$ mc sys$disk:[]gsdeolb three-modules.olb
GSD for OpenVMS/Alpha library, V0.93
Module CODE
MCODE
Module DATA
MDATA
Module MAIN
MMAIN
$

$ mc sys$disk:[]gsdeolb -nq three-modules.olb
MCODE
MDATA
MMAIN
$

$ mc sys$disk:[]gsdeolb -xmDATA three-modules.olb
GSD for OpenVMS/Alpha library, V0.93
Module DATA
Type      Flags         caPSIndx PSIndx Name
PSECT     -------------               0 .  ABS  .
PSECT     ---r--ERW----               1 . BLANK .
PSECT     --Or-SERW----               2 DATA
DATA      -D-R----                    2 MDATA
$

$ mc sys$disk:[]gsdeolb -vxmDATA three-modules.olb
GSD for OpenVMS/Alpha library, V0.93
Type of library: EOBJ
Number of indices: 2
ID for sanity check: 0x0dec2581
Format level ID, major: 3
Format level ID, minor: 0
Librarian version: Librarian A09-31
Creation time: Thu Apr  8 12:56:09 2010
Update time: Thu Apr  8 12:56:09 2010
Size of additional module header data: 33
Number of blocks in index segment : 0
Close error: 0
VBN of 1st deleted block: 0
Number of deleted blocks: 0
Next free RFA for data: 0x0x01fe,0x000000d9 -> 0x000000000001b1fe
Next free VBN: 218
Number of free index blocks: 211
Listhead for free index blocks: 4
VBN of highest free index block: 214
VBN of highest used block: 3
Number of used index blocks: 2
Number of index entries: 6
Number of modules (index 1): 3
Number of module headers: 3
Number of overhead index pointers: 0
Max number of history records: 20
Number of history records: 0
RFA of beginning of history: 0x0x0000,0x00000000 -> 0x0000000000000000
RFA of end of library update history: 0x0x0000,0x00000000 -> 0x0000000000000000
VBN of DCX map: 0
Freed list header structure in RFA structure format: 0x0x0000,0x00000000 -> 0x0000000000000000
Freed list nodes structure in RFA structure format: 0x0x0000,0x00000000 -> 0x0000000000000000
VBN of third index block: 0
VBN of the free symbol block (index 2): 0
Index descriptor 1:
Flags word: 0x0000001d
	ASCII
	VARLENIDX
	NOCASECMP
	NOCASENTR
Total length of key: 129
VBN of first block of index: 3
Index descriptor 2:
Flags word: 0x0000001d
	ASCII
	VARLENIDX
	NOCASECMP
	NOCASENTR
Total length of key: 129
VBN of first block of index: 2
Module DATA, RFA of data: 0x00c0,0x000000d9 -> 0x000000000001b0c0
Module DATA
MHD:
  control flag: 0x00
  ident: 173
  reference count: 2
  date/time inserted: Thu Apr  8 12:56:09 2010
  status of object module: 0x02
	TIR records
	module ident: V1
EMH:
  name: DATA
  version: V1
  date:  8-APR-2010 10:52
LNM:
  AMAC V5.0-120-4
Type      Flags         caPSIndx PSIndx Name
PSECT     -------------               0 .  ABS  .
PSECT     ---r--ERW----               1 . BLANK .
PSECT     --Or-SERW----               2 DATA
DATA      -D-R----                    2 MDATA
EOM:
  total linkage pairs: 0
  completion code: 0x0
	SUCCESS
Record summary:
  emh: 2, eom: 1, gsd: 1, tir: 1, dbg: 0, tbt: 0
  psc: 3, sym: 1
Key to PSECT flags:
  P - PIC, position independent    L - LIB, from shareable image
  O - OVR, overlaid allocation     r - REL, relocatable
  G - GBL, global                  S - SHR, shareable
  E - EXE, executable              R - RD, readable
  W - WRT, writeable               V - VEC, vector
  N - NOMOD, not stored into       C - COM, allocation for common symbol
  A - ALLOC_64BIT, allocate in 64-bit space
Key to symbol flags:
  W - WEAK, weak                   D - DEF, definition
  U - UNI, universal               R - REL, relocatable
  C - COMM, common                 V - VECEP, vectored entry point
  N - NORM, procedure              Q - QUAD_VAL, value is 64 bits
$

GSTESTB usage

$ MC your_disk:[your_dir]GSTESTB [-qv] full_stb_file_spec...
  -q  quiet: no headers
  -v  verbose
       
Example

$ mc sys$disk:[]gstestb hello.stb
GST for OpenVMS/Alpha STB files, V0.91
Type      Flags                  PSIndx Name
PROCEDURE -D-R--N-                    0 __MAIN
PROCEDURE -D-R--N-                    0 MAIN

IMGEXP usage

$ MC your_disk:[your_dir]IMGEXP full_image_file_spec

Except for absolute data, all values are VA offsets into the image.
The procedure value is the address of the procedure descriptor, not the code
address.

Example

$ mc sys$disk:[]imgexp minishr.exe
Image Exports (Alpha), version 1.5
EXPORTED_PSECT, type is program section, value: 0x30000
EXPORTED_RDONLY_PSECT, type is program section, value: 0x0
EXPORTED_PROCEDURE, type is procedure, value: 0x10000
EXPORTED_DATA, type is data, value: 0x20000
EXPORTED_RDONLY, type is data, value: 0x40000
EXPORTED_CONST, type is absolute data, value: 0x4711
$

SHIML usage

$ MC your_disk:[your_dir]SHIML [-u] full_image_file_spec
  -u  unique, no duplicates in shareable image names

Examples

$ mc sys$disk:[]shiml miniref.exe
recursive SHareable IMage dependency List (Alpha), version 1.2
 [ -> Translated Logical Name ] Required Match: ID [ / Actual match: ID ]
 [ (self) - Self Reference;  (dnf) - Duplicate, Not Followed ]

MINISHR -> SYS$DISK:[]MINISHR.EXE - MATLEQ: 1,2 / MATLEQ: 1,2
    SYS$PUBLIC_VECTORS
SYS$PUBLIC_VECTORS (dnf)
$
$ mc sys$disk:[]shiml -u miniref.exe
SHareable IMage dependency List (Alpha), version 1.2
 [ (self) - Self Reference ]

MINISHR -> SYS$DISK:[]MINISHR.EXE
SYS$PUBLIC_VECTORS
$
$ define minishr sys$disk:[]minishr.exe;17
%DCL-I-SUPERSEDE, previous value of MINISHR has been superseded
$ mc sys$disk:[]shiml miniref.exe
recursive SHareable IMage dependency List (Alpha), version 1.2
 [ -> Translated Logical Name ] Required Match: ID [ / Actual match: ID ]
 [ (self) - Self Reference;  (dnf) - Duplicate, Not Followed ]

MINISHR -> SYS$DISK:[]MINISHR.EXE;17 - MATLEQ: 1,2
-w-slt, sublist terminated, SYS$DISK:[]MINISHR.EXE;17 not found or other error
SYS$PUBLIC_VECTORS
$
$ mc sys$disk:[]shiml self.exe
recursive SHareable IMage dependency List (Alpha), version 1.2
 [ -> Translated Logical Name ] Required Match: ID [ / Actual match: ID ]
 [ (self) - Self Reference;  (dnf) - Duplicate, Not Followed ]

SELF (self)
SYS$PUBLIC_VECTORS
$
$ def/user x sys$disk:[]x.exe
$ def/user y sys$disk:[]y.exe
$ def/user z sys$disk:[]z.exe
$ mc sys$disk:[]shiml xyz.exe
recursive SHareable IMage dependency List (Alpha), version 1.2
 [ -> Translated Logical Name ] Required Match: ID [ / Actual match: ID ]
 [ (self) - Self Reference;  (dnf) - Duplicate, Not Followed ]

X -> SYS$DISK:[]X.EXE - MATALL: 1,1 / MATALL: 1,1
    Y -> SYS$DISK:[]Y.EXE - MATALL: 1,1 / MATALL: 1,1
        Z -> SYS$DISK:[]Z.EXE - MATALL: 1,1 / MATALL: 1,1
            X - MATALL: 1,1 (dnf)
            SYS$PUBLIC_VECTORS
        SYS$PUBLIC_VECTORS (dnf)
    SYS$PUBLIC_VECTORS (dnf)
DECC$SHR -> SYS$SHARE:DECC$SHR_EV56 - MATLEQ: 1,1 / MATLEQ: 1,1
    LIBRTL - MATLEQ: 1,1 / MATLEQ: 1,1
        SYS$PUBLIC_VECTORS (dnf)
    CMA$TIS_SHR - MATLEQ: 1,4 / MATLEQ: 1,4
        CMA$TIS_SHR (self)
        LIBRTL - MATLEQ: 1,1 (dnf)
        LIBOTS - MATLEQ: 1,3 / MATLEQ: 1,3
            SYS$PUBLIC_VECTORS (dnf)
        SYS$PUBLIC_VECTORS (dnf)
    LIBOTS - MATLEQ: 1,3 (dnf)
    DPML$SHR - MATLEQ: 1,0 / MATLEQ: 1,0
        DPML$SHR (self)
        LIBOTS - MATLEQ: 1,3 (dnf)
        LIBRTL - MATLEQ: 1,1 (dnf)
        CMA$TIS_SHR - MATLEQ: 1,4 (dnf)
        SYS$PUBLIC_VECTORS (dnf)
    SYS$PUBLIC_VECTORS (dnf)
SYS$PUBLIC_VECTORS (dnf)
$


TIREOBJ usage

$ MC your_disk:[your_dir]TIREOBJ [-dtqv] full_obj_file_spec...
  -d  show debug TIRs
  -t  show traceback TIRs
  -q  quiet: no headers
  -v  verbose
	
Examples (for a very simple object)

$ mc sys$disk:[]tireobj foo.obj
TIR for OpenVMS/Alpha object files, V0.91
Type      Flags         caPSIndx PSIndx Name
PSECT     ---r---RW----               0 $DATA$
DATA      -D-R----                    0 FOO
Text Information/Relocation
Type Size Command with Arguments (byte stream)
0003 0010 ETIR$C_STA_PQ 00 00 00 00 00 00 00 00 00 00 00 00
0096 0004 ETIR$C_CTL_SETRB
003d 000c ETIR$C_STO_IMM 04 00 00 00 67 12 00 00
$

$ mc sys$disk:[]tireobj -t foo.obj
TIR for OpenVMS/Alpha object files, V0.91
Type      Flags         caPSIndx PSIndx Name
PSECT     ---r---RW----               0 $DATA$
DATA      -D-R----                    0 FOO
Text Information/Relocation
Type Size Command with Arguments (byte stream)
0003 0010 ETIR$C_STA_PQ 00 00 00 00 00 00 00 00 00 00 00 00
0096 0004 ETIR$C_CTL_SETRB
003d 000c ETIR$C_STO_IMM 04 00 00 00 67 12 00 00
Traceback Information
Type Size Command with Arguments (byte stream)
0001 0008 ETIR$C_STA_LW 00 00 00 00
0098 0004 ETIR$C_CTL_DFLOC
003d 0028 ETIR$C_STO_IMM 20 00 00 00 1f 00 bc 00 02 00 07 00 00 00 01 00 12 00 
03 46 4f 4f 0d 48 50 20 43 20 56 37 2e 31 2d 30 31 35
003d 000c ETIR$C_STO_IMM 04 00 00 00 03 00 bd 00
$

XPD usage

$ MC your_disk:[your_dir]XPD full_image_file_spec

Example

$ mc sys$disk:[]xpd miniref.exe
eXternal Procedure and Data list (I64), version 1.7
MINISHR -> SYS$DISK:[]MINISHR.EXE:
index 3 maps to EXPORTED_CONST, type is absolute data
index 2 maps to EXPORTED_DATA, type is data
index 0 maps to EXPORTED_PSECT, type is section
index 1 maps to EXPORTED_PROCEDURE, type is procedure
$
$ mc sys$disk:[]xpd self.exe
eXternal Procedure and Data list (I64), version 1.7
SELF:
index 0 maps to ALIAS, type is procedure
$