The following information describes the prelink options available in z/OS® XL C/C++ by using Language Environment® services.
DLLNAME specifies the DLL name that appears on generated IMPORT control statements, described in IMPORT control statement. If you specify the DLLNAME option, the prelinker sets the DLL name to the value that you listed on the option.
If you do not specify DLLNAME, the prelinker sets the DLL name to the name that appeared on the last NAME control statement that it processed. If there are no NAME control statements, and the output object module of the prelinker is a PDS member, it sets the DLL name to the name of that member. Otherwise, the prelinker sets the DLL name to the value TEMPNAME, and issues a warning.
DEFAULT: DUP
DUP specifies that if duplicate symbols are detected, their names should be directed to the console, and the return code minimally set to a warning level of 4. NODUP does not affect the return code setting when the prelinker detects duplicates.
DEFAULT: DYNAM
When the NODYNAM option is in effect, export symbol processing is not performed by the prelinker even when export symbols are present in the input objects. The side-deck is not created and the resulting module will not be a DLL. Specify NODYNAM for prelinked C/C++ programs involved in COBOL C/C++ ILC calls.
DEFAULT: ER
If there are unresolved symbols, ER instructs the prelinker to write a messages and a list of unresolved symbols to the console. If there are unresolved references, the prelinker sets the return code to a minimum warning level of 4. If there are unresolved writable static references, the prelinker sets the return code to a minimum error level of 8. If you use NOER, the prelinker does not write the list of unresolved symbols to the console. If there are unresolved references, the return code is not affected. If there are unresolved writable static references, prelinker sets the return code to a minimum warning level of 4.
DEFAULT: MAP
In the z/OS UNIX System Services environment, the c89, cc, and c++ utilities specify MAP when you use the -V flag, and NOMAP when you do not.
The MAP option specifies that the prelinker should generate a prelink listing. See Language Environment Prelinker Map for a description of the map.
DEFAULT: NOMEMORY
The MEMORY option instructs the prelinker to retain in storage, for the duration of the prelink step, those object modules that it reads and processes.
You can use the MEMORY option to increase prelinker speed. However, you may require additional memory to use this option. If you use MEMORY and the prelink fails because of a storage error, you must increase your storage size or use the prelinker without the MEMORY option.
DEFAULT: NONCAL
The NCAL option specifies that the prelinker should not use the automatic library call to resolve unresolved references.
DEFAULT: NOOMVS
LIBRARY libname
where libname is the name of a DD that defines
a library. The library may be either an archive file created through
the ar utility or a partitioned data set (PDS) with
object modules as members. The prelinker uses LIBRARY control statements
like SYSLIBs, to resolve symbols through autocalls.When you specify the OMVS option, the prelinker accepts INCLUDE and LIBRARY statements which refer to z/OS UNIX files (PATH=) and data set name (DSNAME=) allocations.
c89 file1.o lib1.a file2.o lib2.a
The
prelinker processes the INCLUDE control statement for file1.o,
and incorporates new symbol definitions and unresolved references
from the object file into the output file. The prelinker then processes
the LIBRARY control statement for lib1.a, and searches
the library for currently unresolved symbols. It then processes file2.o followed
by lib2.a. If the processing of file2.o
results in unresolved symbols, the prelinker will not search the library lib1.a again,
because it has already processed it. If you have unresolved symbols
that may be defined in a library that has already been processed,
you must specify a new LIBRARY statement after your INCLUDE statement
to resolve those symbols. You can do this on a c89 command
line as follows: c89 file1.o lib1.a file2.o lib1.a lib2.a
DEFAULT: NOUPCASE
The UPCASE option enforces the uppercase mapping of long names that are 8 characters or fewer and have not been explicitly mapped by another mechanism. These long names are uppercased (with _ mapped to @), and names that begin with IBM or CEE are changed to IB$ and CE$, respectively.