22.12.2012 Views

z/TPF Program Management - IBM

z/TPF Program Management - IBM

z/TPF Program Management - IBM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Transfer vectors<br />

<strong>Program</strong> linkage<br />

16 z/<strong>TPF</strong> <strong>Program</strong> <strong>Management</strong><br />

generates an external reference in the shared object that maps to the name of the<br />

entry point. All stub entries for transfer vectors and multiple source BSOs are<br />

located in a control file (tpf_app_base_xv.cntl) that is shipped by <strong>IBM</strong>. When you<br />

build a z/<strong>TPF</strong> system, a complete stub library is created.<br />

Because multiple entry point BSOs do not require specific entries in the control file,<br />

no stubs are generated. To create a stub for multiple source BSOs with multiple<br />

entry points and transfer vectors, code a STUB ONLY entry in your control file. See<br />

“Create a multiple-segment BSO with multiple external entry points” on page 62 for<br />

more information about creating stubs.<br />

You do not need to create stubs. However, you will receive unresolved external<br />

references during link-editing if stubs are not generated during the build process.<br />

All stub entries for transfer vectors and multiple source BSOs are located in a<br />

control file (tpfl_app_base_xv.cntl) that is shipped by <strong>IBM</strong>. When you build a<br />

z/<strong>TPF</strong> system, a complete stub library is created.<br />

Because transfer vectors do not require specific entries in the control file, no stubs<br />

are generated. To create a stub for transfer vectors, code a STUB ONLY entry in<br />

your control file. See “Add stubs for BAL programs with transfer vectors” on page<br />

64 for more information about creating stubs.<br />

You do not need to create stubs for transfer vectors. However, you will receive<br />

unresolved external references during link-editing if stubs are not generated during<br />

the build process.<br />

External reference validation is performed by default with maketpf and can be<br />

turned off with maketpf options (<strong>TPF</strong>_VERIFY_LINK_REFS). Validation issues<br />

errors at build time rather than at run time. If the program is built without verifying<br />

external references, it will build cleanly, but a run-time error will be issued if a<br />

function is not found online.<br />

Standard libraries (including stub libraries) are included automatically by maketpf.<br />

The list of standard libraries is managed in the maketpf setup. You can define your<br />

own standard libraries. If you reference nonstandard libraries, you need to make a<br />

corresponding entry in your makefile. For more information about Makefiles, enter<br />

man maketpf.mak on your Linux build system for a complete list of Makefile<br />

variables that can be coded.<br />

Input libraries are specified by using LIBS assignments in the calling makefile. Your<br />

z/<strong>TPF</strong> programs will not be linked if unresolved references are detected.<br />

The following list describes different linkage types:<br />

v Load-time linkage: Normal load-time linkage is sometimes referred to as dynamic<br />

linkage because the linkage references are resolved dynamically when the<br />

program is loaded into storage.<br />

v Link-time linkage: This internal linkage is resolved at link time and provides the<br />

fastest linkage between programs. For CSOs, this linkage is generated by the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!