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.