SYMVEC: a VMS linker options utility

by Charles M. "Chip" Coldwell

SYMVEC is a utility for creating linker options files for shareable images on OpenVMS/Alpha.

To create a shareable image, the OpenVMS/Alpha linker utility requires a SYMBOL_VECTOR option that declares all of the universal symbols in the shareable image. For example:

    $ LINK/SHAREABLE MY_MATH, SYS$INPUT/OPT
    GSMATCH=lequal,1,1000
    SYMBOL_VECTOR=(myadd=PROCEDURE,-
                   mysub=PROCEDURE,-
                   mymul=PROCEDURE,-
                   mydiv=PROCEDURE,-
                   my_symbol=DATA)
    Ctrl-Z
    

will create a shareable image that exposes the symbols listed in the SYMBOL_VECTOR option.

The purpose of the SYMVEC utility is to automate the process of creating the linker options for shareable images, in particular the SYMBOL_VECTOR. It does this by assuming that all global symbols in the object-file-spec are universal, which is not always apropriate. It is usually apropriate when porting software from Unix.

You invoke SYMVEC with a filespec for your object module[s]:

    $ SYMVEC FILE.OBJ
    DISK$USER:[RANDOM]FILE.OBJ;1
    SYMBOL_VECTOR=(OPENOUT=PROCEDURE,-
                   PREFIX=PROCEDURE,-
                   SYMBOL=PROCEDURE,-
                   SUFFIX=PROCEDURE,-
                   CLOSEOUT=PROCEDURE)
    

You can either redefine SYS$OUTPUT or use the /OUTPUT option to the utility to send the output to a file.

Downloads

valid xhtml 1.0