22.12.2012 Views

z/TPF Program Management - IBM

z/TPF Program Management - IBM

z/TPF Program Management - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

z/<strong>TPF</strong> program types and linkage<br />

An object file is a compiler or assembler output file that is suitable as input to a<br />

linkage editor. In the z/<strong>TPF</strong> system, object files are included in a shared object,<br />

which is all or part of a computer program in a form suitable for loading into main<br />

storage for execution. A shared object usually is the output of a linker. Depending<br />

on the z/<strong>TPF</strong> program, there are different ways to package programs for linkage.<br />

The number of entry points defined impacts the way these programs are<br />

externalized to other programs for linkage. There are a number of ways to increase<br />

the efficiency of the linkage between these programs and to improve the<br />

performance of your z/<strong>TPF</strong> system.<br />

A BAL shared object (BSO) is a type of shared object consisting of one or more<br />

objects that are created by assembling z/<strong>TPF</strong> E-type basic assembler language<br />

(BAL) programs. By contrast, a C shared object (CSO) is a type of shared object<br />

consisting of one or more objects that are created by compiling C language<br />

programs or assembling z/<strong>TPF</strong> BAL programs using C/C++ calling conventions.<br />

Both BSOs and CSOs can have single and multiple entry points. See z/<strong>TPF</strong><br />

Application <strong>Program</strong>ming for more information.<br />

Figure 1 shows E-type program types in the z/<strong>TPF</strong> system.<br />

BAL shared object (BSO)<br />

Single entry point<br />

CSO program without<br />

the main function<br />

Figure 1. E-type program types<br />

E-type programs / shared objects<br />

Single entry point<br />

CSO program with<br />

the main function<br />

Assembler and C program packaging<br />

C shared object (CSO)<br />

Library<br />

(non-program)<br />

<strong>Program</strong> and library<br />

BSOs and CSOs can be repackaged into multiple entry point shared object libraries<br />

to provide the following performance advantages and benefits:<br />

v Reduction in system overhead for an application because two segments can be<br />

linked together as one unit, creating a shorter path length because internal<br />

linkage paths are faster than external paths.<br />

v For BSOs:<br />

– <strong>Program</strong> expansion beyond 4 KB.<br />

– The program can be coded with multiple base registers or can remain<br />

baseless.<br />

– The assembler API of R0 - R7 has been expanded to include R8.<br />

© Copyright <strong>IBM</strong> Corp. 2005, 2012 11

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

Saved successfully!

Ooh no, something went wrong!