This is version 160906
of the
VMS Objects and Images Tools for Alpha and I64:
ADDSYN - add synonyms to universal symbols,
that is to the global symbol table of a shareable image.
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.
IMGCPY - IMaGe CoPY, removes all or selected symbols
from the global symbol table of an Elf shareable image file.
IMGEXP - IMaGe EXPorts,
lists all what a shareable image 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 - ADDSYN V0.9.1, CKSUMEOBJ V0.91, GSDEOBJ V0.94, GSDEOLB V0.94, GSTESTB V0.91, IMGEXP V1.8, SHIML V1.5, TIREOBJ V0.91, XPD V1.8 I64 - ADDSYN 0.9.4, ELFSYM V1.3, ELFSYMD V1.1, IMGCPY V0.9, IMGEXP V1.3, SHIML V1.5, XPD V1.7 Changes since version 150513: new ADDSYN new IMGCPY add synonym support to IMGEXP Files in the saveset: README.TXT - This text file [.ALPHA]ADDSYN.EXE [.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]ADDSYN.EXE [.I64]ELFSYM.EXE [.I64]ELFSYMD.EXE [.I64]IMGCPY.EXE [.I64]IMGEXP.EXE [.I64]SHIML.EXE [.I64]XPD.EXE
ADDSYN usage, Alpha version $ MCR your_disk:[your_dir]ADDSYN [-v] input_file synonym_file output_file -v verbose output For a VMS shareable image, universal symbols in the global symbol table (GST) represent the procedures and data available from the shareable image. Usually the GST only contains uppercase symbol names. If an object was compiled with case sensitive external symbol names, linking will usually fail. Adding the apropriate names, only in the GST, to a copy of the image file can solve the linking problem. Example $ pipe analyze/image shr|search sys$pipe "value:"/wind=(0,4) value: 16 (%X'00000010') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010004' symbol: "WORLD" *************** value: 0 (%X'00000000') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010000' symbol: "hello" $ $ mcr sys$disk:[]addsyn shr.exe sys$input both-cases.exe ADD SYNonyms to universal symbols (Alpha), version 0.9.1 hello=HELLO WORLD=world ^Z $ $ pipe analyze/image both-cases|search sys$pipe "value:"/wind=(0,4) value: 16 (%X'00000010') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010004' symbol: "WORLD" *************** value: 0 (%X'00000000') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010000' symbol: "hello" *************** value: 0 (%X'00000000') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010000' symbol: "HELLO" *************** value: 16 (%X'00000010') symbol vector entry (data cell) %X'00000000 00000000' %X'00000000 00010004' symbol: "world" $ ADDSYN usage, I64 version $ MCR your_disk:[your_dir]ADDSYN [-sv] input_file synonym_file output_file -s strip the output image down to what is needed as linker input -v verbose output $ Example $ pipe anal/image/section=symbol_vector data |search sys$pipe "SYMBOL VECTOR"/exact/wind=(0,4) SYMBOL VECTOR 1. Element ------------- ---------- FileAddr Offset Index Value Entry/GP or Size Symbol or Section Name --------------- ----- ----- ---------------- ---------------------- 00000400 00000000 0. 0000000000010000 DATA "DATA" $ $ pipe anal/image/section=symtab data|search sys$pipe ") ""","Symbol Value" 00001200 00000000 Symbol 0. (00000000) "" 00001208 00000008 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001218 00000018 Symbol 1. (00000001) "DATA" 00001220 00000020 Symbol Value 0000000000000000 0. symtab$pq_st_value $ $ mcr sys$disk:[]addsyn data.exe sys$input both-cases.exe ADD SYNonyms to universal symbols (I64), version 0.9.4 DATA=data ^Z $ $ pipe anal/image/section=symbol_vector both-cases |search sys$pipe "SYMBOL VECTOR"/exact/wind=(0,4) SYMBOL VECTOR 1. Element ------------- ---------- FileAddr Offset Index Value Entry/GP or Size Symbol or Section Name --------------- ----- ----- ---------------- ---------------------- 00000400 00000000 0. 0000000000010000 DATA "DATA" $ $ pipe anal/image/section=symtab both-cases|search sys$pipe ") ""","Symbol Value" 00001600 00000000 Symbol 0. (00000000) "" 00001608 00000008 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001618 00000018 Symbol 1. (00000001) "DATA" 00001620 00000020 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001630 00000030 Symbol 2. (00000002) "data" 00001638 00000038 Symbol Value 0000000000000000 0. symtab$pq_st_value $
CKSUMEOBJ usage $ MCR 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 of 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 $ mcr sys$disk:[]cksumeobj hello.obj CRC32-Checksum for OpenVMS/Alpha object files, V0.91 object checksum: 0x51d06ea5 $ $ mcr 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 $ $ mcr 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 $ $ mcr 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 $ MCR your_disk:[your_dir]ELFSYM full_elf_file_spec Example $ mcr 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 $ $ mcr 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 $ MCR your_disk:[your_dir]ELFSYMD full_elf_file_spec Example $ mcr sys$disk:[]elfsymd hello.obj ELF SYMbols Demangled, version 1.1 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 $ MCR your_disk:[your_dir]GSDEOBJ [-qv] full_object_file_spec... -q quiet: no headers -v verbose Examples $ mcr 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 $ $ mcr 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 $ $ mcr 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 $ MCR 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 $ mcr sys$disk:[]gsdeolb three-modules.olb GSD for OpenVMS/Alpha library, V0.94 Module CODE MCODE Module DATA MDATA Module MAIN MMAIN $ $ mcr sys$disk:[]gsdeolb -nq three-modules.olb MCODE MDATA MMAIN $ $ mcr sys$disk:[]gsdeolb -xmDATA three-modules.olb GSD for OpenVMS/Alpha library, V0.94 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 $ $ mcr sys$disk:[]gsdeolb -vxmDATA three-modules.olb GSD for OpenVMS/Alpha library, V0.94 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 $ MCR your_disk:[your_dir]GSTESTB [-qv] full_stb_file_spec... -q quiet: no headers -v verbose Example $ mcr 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
IMGCPY usage $ MCR your_disk:[your_dir]IMGCPY [-NSv] shareable_image_file output_file -N name remove symbol <name> -S remove all symbols -v verbose output Example $ pipe anal/image/section=symbol_vector both-cases |search sys$pipe "SYMBOL VECTOR"/exact/wind=(0,4) SYMBOL VECTOR 1. Element ------------- ---------- FileAddr Offset Index Value Entry/GP or Size Symbol or Section Name --------------- ----- ----- ---------------- ---------------------- 00000400 00000000 0. 0000000000010000 DATA "DATA" $ $ pipe anal/image/section=symtab both-cases|search sys$pipe ") ""","Symbol Value" 00001600 00000000 Symbol 0. (00000000) "" 00001608 00000008 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001618 00000018 Symbol 1. (00000001) "DATA" 00001620 00000020 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001630 00000030 Symbol 2. (00000002) "data" 00001638 00000038 Symbol Value 0000000000000000 0. symtab$pq_st_value $ $ mcr sys$disk:[]imgcpy -NDATA both-cases.exe lowercase.exe IMaGe CoPY (I64), version 0.9 $ $ pipe anal/image/section=symbol_vector lowercase |search sys$pipe "SYMBOL VECTOR"/exact/wind=(0,4) SYMBOL VECTOR 1. Element ------------- ---------- FileAddr Offset Index Value Entry/GP or Size Symbol or Section Name --------------- ----- ----- ---------------- ---------------------- 00000400 00000000 0. 0000000000010000 DATA "data" $ $ pipe anal/image/section=symtab lowercase|search sys$pipe ") ""","Symbol Value" 00001600 00000000 Symbol 0. (00000000) "" 00001608 00000008 Symbol Value 0000000000000000 0. symtab$pq_st_value 00001618 00000018 Symbol 1. (00000001) "data" 00001620 00000020 Symbol Value 0000000000000000 0. symtab$pq_st_value $ $ mcr sys$disk:[]imgcpy -S both-cases.exe nogst.exe IMaGe CoPY (I64), version 0.9 shareable image file: both-cases.exe output file: nogst.exe 1 symbol vector entry 2 symbol table entries all symbols removed $ $ pipe anal/image/section=symbol_vector nogst |search sys$pipe "SYMBOL VECTOR"/exact/wind=(0,4) SYMBOL VECTOR 1. Element ------------- ---------- FileAddr Offset Index Value Entry/GP or Size Symbol or Section Name --------------- ----- ----- ---------------- ---------------------- %ANALYZE-I-ELFSYV_NOSYMTB, Unable to find symbol table section $ $ pipe anal/image/section=symtab nogst|search sys$pipe ") ""","Symbol Value" %SEARCH-I-NOMATCHES, no strings matched $
IMGEXP usage $ MCR your_disk:[your_dir]IMGEXP [OPTION] full_image_file_spec -v verbose output 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. The printed symbols are in the same order as their entries in the symbol vector. Verbose output additionally prints the GS match info, the symbol vector offsets and SPARE/PRIVATE entries. Example $ mcr sys$disk:[]imgexp minishr.exe Image Exports (Alpha), version 1.8 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 $ MCR your_disk:[your_dir]SHIML [OPTION]... full_image_file_spec -u list of unique shareable images -i list of unique shareable images with identification information Examples $ mcr sys$disk:[]shiml miniref.exe recursive SHareable IMage dependency List (Alpha), version 1.5 [ -> translated logical name ] required match: ID [ / actual match: ID ] [ (self) - relf reference; (dnf) - duplicate, not followed ] MINISHR -> SYS$DISK:[]MINISHR.EXE - MATLEQ: 1,2 / MATLEQ: 1,2 SYS$PUBLIC_VECTORS SYS$PUBLIC_VECTORS (dnf) $ $ mcr sys$disk:[]shiml -u miniref.exe SHareable IMage dependency List (Alpha), version 1.5 [ -> translated logical name ] [ (self) - self reference ] MINISHR -> SYS$DISK:[]MINISHR.EXE SYS$PUBLIC_VECTORS $ $ mcr sys$disk:[]shiml -i miniref.exe SHareable IMage dependency List (Alpha), version 1.5 [ -> translated logical name ] [ (self) - self reference ] ! imgid imgbid linkid linktime MINISHR -> SYS$DISK:[]MINISHR.EXE ! V1.0 A13-02 20-MAR-2006 10:49:25.49 SYS$PUBLIC_VECTORS $ $ define minishr sys$disk:[]minishr.exe;17 %DCL-I-SUPERSEDE, previous value of MINISHR has been superseded $ mcr sys$disk:[]shiml miniref.exe recursive SHareable IMage dependency List (Alpha), version 1.5 [ -> 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 $ $ mcr sys$disk:[]shiml self.exe recursive SHareable IMage dependency List (Alpha), version 1.5 [ -> 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 $ mcr sys$disk:[]shiml xyz.exe recursive SHareable IMage dependency List (Alpha), version 1.5 [ -> 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 $ MCR 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) $ mcr 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 $ $ mcr 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 $ MCR your_disk:[your_dir]XPD full_image_file_spec Example $ mcr 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 $ $ mcr sys$disk:[]xpd self.exe eXternal Procedure and Data list (I64), version 1.7 SELF: index 0 maps to ALIAS, type is procedure $