Resolving Unresolved References in System Executables

If you use COBOL syntax of the following form, a direct reference is produced to literal.

CALL "literal" 

If you create a system executable, any such references are tightly bound only if an entry point literal is provided when the program is linked. If no entry point literal is available, the reference to literal is unresolved and a link error is produced.

Unresolved references can be resolved by using cob -d symb. This causes the system executable to be built in a way that enables symb to be dynamically loaded at run-time.

For example, the following command resolves the reference to myref in one of the specified COBOL programs. When myref is called at run-time the dynamic loader is invoked to search for and load the call to myref.

cob -x myprog.cbl subprog.cbl -d myref

If there are several unresolved references you can resolve them all at once using the cob -U option. For example, the following command creates myprog, resolving any (and all) unresolved references.

cob -x myprog.cbl subprog.cbl -U