gtpm2m0r | Migration Guide: Program Update Tapes |
The following section discusses the migration considerations for ISO-C E-type loader support.
See the APEDIT for APAR PJ19966 for information about prerequisite APARs.
ISO-C E-type loader support is an enhancement of the ISO-C support described in ISO-C Support (APAR PJ17852).
The format of the C load module is one of the basic architectural foundations of ISO-C E-type loader support. Another is the array of library addresses (AOLA) for different activation levels and for ECBs that were selectively activated. Each ECB activation table (EAT) slot has a pointer to an AOLA that ECBs at that activation level need to use. As with the original ISO-C support provided for PUT 2, the ECB task communications area has a pointer to the AOLA. For ECBs that were selectively activated, the AOLA is not shared between ECBs. Each ECB has its own copy of the AOLA built from stack heap storage, which is released when the ECB exits.
See Architecture for more information about ISO-C architecture.
There are none. See ISO-C Support (APAR PJ17852) for more information about ISO-C operating environment requirements and planning information.
The following section summarizes interface changes.
The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.
There are no changes.
There are no changes.
Table 64 summarizes the general use C language header file changes. This information is presented in alphabetic order by the name of the general use C language header file.
General use means these header files are available for your
use.
Table 64. Changes to General Use C Language Header Files for ISO-C E-Type Loader Support
General Use C Language Header File | TARGET (TPF) | ISO-C | New, Changed, or No Longer Supported? | Do You Need to Recompile Segments? |
---|---|---|---|---|
c$eb0eb.h | X | X | Changed | No |
c$icili.h | Changed | Yes | ||
c$icolr.h | Changed | Yes | ||
c$idseat.h | X | X | Changed | No |
c$idseld.h | X | X | Changed | Yes |
c$idselv.h | X | X | Changed | No |
c$idsicd.h | X | X | New | Not Applicable |
c$idsldr.h | X | X | Changed | Yes |
c$idslst.h | X | X | New | Not Applicable |
c$idsmxp.h | X | X | Changed | No |
c$idsold.h | Changed | Yes | ||
c$idsprg.h | X | X | Changed | No |
tpfapi.h | X | X | Changed | No |
ztpld.h | X | X | Changed | No |
There are no changes.
There are no changes.
Table 65 summarizes the library member (object file) changes.
This information is presented in alphabetic order by the name of the library
member (object file).
Table 65. Changes to Library Members (Object Files) for ISO-C E-Type Loader Support
Library Member (Object File) | Library Module Name | New, Changed, or No Longer Supported? | Type | Description of Change |
---|---|---|---|---|
CGETCC | CTAL | Changed | Assembler | The GETCC_PROTECTED parameter was added for obtaining a storage block. |
There are no changes.
There are no changes.
There are no changes.
There are no changes.
There are no changes.
Table 66 summarizes copy member changes. This information is
presented in alphabetic order by the name of the copy member.
Table 66. Changes to Copy Members for ISO-C E-Type Loader Support
Copy Member | Type | CSECT Where Copy Member Is Located | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|---|
CCED | Control Program. | CCENBK | Changed | Selective activate support. |
CCEF | Control Program | CCENBK | Changed | Add I/O throttle. |
CCEG | Control Program | CCENBK | Changed | Add I/O throttle. |
CICR | Control Program | CCNUCL | Changed | Add COMMON=PROTECTED parameter to GETCC. |
There are no changes.
The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.
There are no changes.
There are no changes.
Table 67 summarizes the data macro changes. This information
is presented in alphabetic order by the name of the data macro.
Table 67. Changes to Data Macros for ISO-C E-Type Loader Support
Data Macro | New, Changed, or No Longer Supported? | Do You Need to Reassemble Programs Using This Data Macro? |
---|---|---|
IDSLST | Changed | No |
IDSPRG | Changed | No |
Table 68 summarizes general macro changes. This information is
presented in alphabetic order by the name of the general macro. See
TPF General Macros for a complete description of all
general macros.
Table 68. Changes to General Macros for ISO-C E-Type Loader Support
General Macro | New, Changed, or No Longer Supported? | Do You Need to Reassemble Programs? |
---|---|---|
GETCC | Changed | No |
There are no changes.
There are no changes.
Table 69 summarizes the system initialization program (SIP) skeleton
and internal macro changes. This information is presented in alphabetic
order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the
SIP skeleton and internal macros. If the SIP skeleton and internal
macro (inner macro) is changed, you must reassemble the SIP Stage I deck and
run the appropriate job control language (JCL) jobs from the SIP Stage II
deck.
Table 69. Changes to SIP Skeleton and Internal Macros for ISO-C E-Type Loader Support
SIP Skeleton and Internal Macro | New, Changed, or No Longer Supported? |
---|---|
SPPGML | Changed |
Table 70 summarizes system initialization program (SIP) Stage I macro and statement changes. See TPF System Generation for a complete description of the SIP Stage I macros. This information is presented in alphabetic order by the name of the SIP Stage I macro. If the SIP Stage I macro is changed, you must run the appropriate job control language (JCL) jobs from the SIP Stgae II deck.
See System Initialization Program (SIP) and System Generation Changes for a description of other system generation changes you
must make for ISO-C E-type loader support.
Table 70. Changes to SIP Stage I Macros and Statements for ISO-C E-Type Loader Support
SIP Stage I Macro | New, Changed, or No Longer Supported? |
---|---|
GENSIP | Changed |
Table 71 summarizes system initialization program (SIP) Stage II
macro changes. This information is presented in alphabetic order by the
name of the SIP Stage II macro. See TPF System
Generation for a complete description of the SIP Stage II macros.
If IBMPAL is changed, you must run the system allocator (SALO) and load the
new program allocation table (PAT) to the TPF 4.1
system.
Table 71. Changes to SIP Stage II Macros for ISO-C E-Type Loader Support
SIP Stage II Macro | New, Changed, or No Longer Supported? |
---|---|
IBMPAL | Changed |
There are no changes.
There are no changes.
There are no changes.
Table 72 summarizes segment changes. This information is
presented in alphabetic order by the name of the segment.
Table 72. Changes to Segments for ISO-C E-Type Loader Support
Segment | Type | Link-Edit Module (Where Offline Segment Is Linked) | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|---|
ALDR | Offline Assembler | TPFLDR | Changed | Obtain link date of C load modules. |
CCUEXT | Assembler | Not Applicable | Changed | Support selective activation of libraries. |
CELE | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CELG | Assembler | Not Applicable | Changed | Support activating a library load module. |
CELK | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CELL | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CELU | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CEL2 | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CEL4 | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CEL8 | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CILD | Real-Time C Language | Not Applicable | Changed | Support loading and accepting a C load module greater than 4 KB. |
CILE | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CILF | Real-Time C Language | Not Applicable | Changed | Support loading and accepting a C load module greater than 4 KB. |
CILG | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CILH | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CILI | Offline C Language | TPFLDR | Changed | Support loading a C load module greater than 4 KB. |
CIL6 | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CIL7 | Real-Time C Language | Not Applicable | Changed | Fix problem where a single PARS list causes TLDR to delete program versions. |
CLDJ | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CLDL | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CLDM | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CLDX | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CLDZ | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CLD0 | Real-Time C Language | Not Applicable | Changed | Support loading a C load module greater than 4 KB. |
CLEF | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
CLEQ | Real-Time C Language | Not Applicable | Changed | Support deactivating a library load module. |
CLEW | Real-Time C Language | Not Applicable | Changed | Support deleting a C load module greater than 4 KB. |
CLIB | Real-Time Assembler Language | Not Applicable | Changed | Support activating a library load module. |
COLC | Real-Time C Language | Not Applicable | Changed | Support deactivating a library load module. |
COLG | Real-Time C Language | Not Applicable | Changed | Add additional checking to the ZOLDR REINCLUDE command. |
COLJ | Real-Time C Language | Not Applicable | Changed | Add additional checking to the ZOLDR EXCLUDE command. |
COLK | Real-Time C Language | Not Applicable | Changed | Support excluding a library load module. |
COLM | Real-Time C Language | Not Applicable | Changed | Support accepting a C load module greater than 4 KB. |
COLO | Real-Time C Language | Not Applicable | Changed | Support accepting a C load module greater than 4 KB. |
COLP | Real-Time C Language | Not Applicable | Changed | Support accepting a C load module greater than 4 KB. |
COLR | Offline C Language | TPFLDR | Changed | Support loading a C load module greater than 4 KB. |
COLT | Real-Time C Language | Not Applicable | Changed | Support activating a library load module. |
COL0 | Real-Time C Language | Not Applicable | Changed | Support reclaiming of C load modules greater than 4 KB. |
COL2 | Real-Time C Language | Not Applicable | Changed | Support reclaiming of C load modules greater than 4 KB. |
COL6 | Real-Time C Language | Not Applicable | Changed | Add commentary changes. |
CRLB | Real-Time C Language | Not Applicable | Changed | Support accepting a C load module greater than 4 KB. |
CRLC | Real-Time C Language | Not Applicable | Changed | Add additional checking to the ZOLDR EXCLUDE and REINCLUDE commands. |
CRLQ | Real-Time C Language | Not Applicable | New | Support deactivating and excluding library load modules. |
CRLX | Real-Time C Language | Not Applicable | New | Support accepting C load modules greater than 4 KB. |
CRLY | Real-Time C Language | Not Applicable | New | Support accepting C load modules greater than 4 KB. |
C177 | Assembler | Not Applicable | New | Add the GETCC_PROTECTED parameter for obtaining a storage block. |
OLDR | Offline C Language | TPFLDR | Changed | Support loading a C load module greater than 4 KB. |
TLDR | Offline Assembler | TPFLDR | Changed | Obtain link date of C load modules. |
TLDRMN | Offline C Language | TPFLDR | Changed | Support loading a C load module greater than 4 KB. |
There are no changes.
Control Program (CP) User Exits and ECB User Exits summarize the control program (CP) and ECB user exit changes. See TPF System Installation Support Reference for a complete description of all user exits.
This information is presented in alphabetic order by the name of the
control program (CP) user exit.
Table 73. Changes to Control Program (CP) User Exits for ISO-C E-Type Loader Support
Control Program (CP) User Exit Activated In | User Routine Label | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|
CLE | UCCCLE | Changed | User exit status is propagated across all versions of a library. |
CLX | UCCCLX | Changed | User exit status is propagated across all versions of a library. |
This information is presented in alphabetic order by the name of the
function.
Table 74. Changes to ECB User Exits for ISO-C E-Type Loader Support
Function | User Exit Activated In | User Exit Program | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|---|
Loaders | ENTRC | UELI | Changed | An additional caller was added. |
The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.
See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.
There are no changes.
Table 75 summarizes message (offline and online messages) and system error changes.
The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.
Attention: Changes to offline messages, online messages,
and system errors may impact any automation programs you are using in your
complex.
Table 75. Changes to Messages and System Errors for ISO-C E-Type Loader Support
Message ID or System Error Number | Message Type | New, Changed, or No Longer Supported? |
---|---|---|
ALDR0905E | Offline | Changed |
CILE0103W | Online | Changed |
CILF0107E | Online | Changed |
CILF0108E | Online | Changed |
CILF0110E | Online | Changed |
CILF0112E | Online | New |
CILH011E | Online | New |
CILH0112E | Online | New |
CIL60111E | Online | New |
OLDR0013T | Offline | No Longer Supported |
OLDR0077I | Offline | New |
OLDR0078E | Offline | New |
OLDR0079E | Offline | New |
OLDR0080E | Offline | New |
OLDR0081T | Offline | New |
OLDR0082E | Offline | New |
OLDR0083E | Offline | New |
OLDR0084E | Offline | New |
OLDR0085E | Offline | New |
OLDR0086E | Offline | New |
OLDR0087W | Offline | New |
OLDR0088E | Offline | New |
OLDR0089E | Offline | New |
OLDR0211E | Online | Changed |
OLDR0212E | Online | No Longer Supported |
OLDR0214E | Online | New |
OLDR2026T | Online | New |
OLDR2028T | Online | New |
OLDR2029T | Online | New |
OLDR2030T | Online | New |
OLDR2031T | Online | New |
OLDR2032W | Online | New |
OLDR3015T | Online | New |
OLDR3016T | Online | New |
OLDR3200T | Online | Changed |
OLDR3212E | Online | Changed |
OLDR3225T | Online | New |
OLDR5822T | Online | New |
TPFL0002W | Offline | Changed |
TPFL0003W | Offline | Changed |
TPFL0004W | Offline | New |
000079 | System Error | Changed |
The best performance is obtained when there is no static in the library, the library user exits are not turned on, and the library is not in a selectively activated loadset. The performance of a library function in a library that is contained in a selectively activated loadset is not as good because LIBVEC2 processing is always used.
There are no changes.
You may need to increase the number of common blocks that are allocated for ISO-C support. Common blocks are used in ISO-C support to hold new versions of arrays of library addresses (AOLAs) when a loadset that contains a library is activated by entering the ZOLDR ACTIVATE command. See TPF System Generation for more information about common blocks, including how to estimate the number of additional common blocks required.
You need to change the allocator by giving common block authorization (CMB) to program CLEF.
The data sets that contain C load modules are specified with the new DD name card (//LOADMOD).
To share common code, the offline programs for the E-type loader are now linked into the common offline loader program (TPFLDR). The JCL used to run the E-type loader must be changed to specify TPFLDR. A parameter in the OLDR JCL is used to specify that the E-type loader is to be run.
When you enter the ZOLDR LOAD command to load the input device, a compatibility check is made between the offline allocator used to build the input and the allocator currently in use online to see if any shifts have occurred in the ordinal numbers of the programs in the program allocation table (PAT). If the 2 allocators are compatible, the loadsets specified in the ZOLDR LOAD command are read from the input device.
A new parameter (PATVERS=TIME) checks the time stamps of the offline SALTBL and the online PAT instead of the allocator information for each of the programs.
REP cards are not supported for C load modules.
There are no procedural changes.
Table 76 summarizes changes to the publications in the TPF
library. This information is presented in alphabetic order by the
publication title. See the TPF Library Guide
for more information about the TPF library.
Table 76. Changes to TPF Publications for ISO-C E-Type Loader Support
Publication Title | Softcopy File Name | Description of Change |
---|---|---|
TPF Application Programming | GTPAPP03 | Updated by ISO-C E-type loader support. |
TPF C Language Support User's Guide | GTPCLU03 | Updated by ISO-C E-type loader support. |
TPF General Macros | GTPGEN03 | Updated by ISO-C E-type loader support. |
TPF Library Guide | GTPDOC03 | Updated with definitions for new terminology in the master glossary. |
Messages (System Error and Offline) and Messages (Online) | Not Applicable | Updated with information about the messages and system errors that were added, changed, and no longer supported for ISO-C E-type loader support. |
TPF Migration Guide: Program Update Tapes | GTPMIG03 | Updated with migration considerations for ISO-C E-type loader support. |
TPF System Generation | GTPSYG03 | Updated by ISO-C E-type loader support. |
TPF System Installation Support Reference | GTPINR03 | Updated by ISO-C E-type loader support. |
There are no changes.
The GETCC_PROTECTED parameter was added to the getcc function and the GETCC macro. See the TPF C/C++ Language Support User's Guide for more information about the getcc function; see TPF General Macros for more information about the GETCC macro.
You may need to define additional #OLDx records because C load modules use a minimum of 2 #OLDx records each and can be larger than 4 KB. See TPF System Generation for more information about how to estimate the number of additional #OLDx records that you will need.
There are no changes.
There are no changes.
Repeat the following procedure for all subsystems in a multiple database function (MDBF) environment. See TPF Operations for more information about the ZIMAG command.
Notes:
Give common block authorization to program CLEF.
Migration is completed.