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 $