gtpm2m1f | Migration Guide: Program Update Tapes |
The following section discusses the migration considerations for link map support for C load modules, referred to as link map support in the remainder of this section.
See the APEDIT for APAR PJ24845 for information about prerequisite APARs.
Link map support gives you the ZDMAP command to display the link maps for C load modules to help you debug C load modules online. The link map consists of a list of object files included in the C load module, a list of C function names in the object files, and the addresses of the object files and C functions.
Because the link map is part of the C load module itself (see "Architecture"), you can look at the link map in several ways:
Modifications for link map support have been made in both the C load module build tool (CBLD) and the offline loader (TPFLDR) to build the link map and make it part of the C load module. After you have link-edited a C load module with the modified output from the updated C load module build tool and have loaded it with the updated TPFLDR, you can easily display its object files and functions with the ZDMAP command.
Link map support expands the format of the C load module by appending the link map data to the end of the link-edited C load module. The link map is now part of the C load module itself. This format has key advantages:
There are none.
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.
Table 306 summarizes changes to the build scripts used by the build
tool. This information is presented in alphabetic order by the name of
the build script.
Table 306. Changes to Build Scripts for Link Map Support
Build Script | Type | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|
CDM0BS | DLM | New | Build script containing routines that make up the root C load module for the ZDMAP command. |
CDM1BS | DLM | New | Build script containing the retrieve C load module routine for the ZDMAP command. |
CDM2BS | DLM | New | Build script containing the process ZDMAP request routine for the ZDMAP command. |
CDM3BS | DLM | New | Build script containing the release C load module routine for the ZDMAP command. |
Table 307 summarizes changes to the dynamic load module (DLM)
stubs. This information is presented in alphabetic order by the name of
the DLM stub. See TPF Application Programming
for more information about the DLM stubs.
Table 307. Changes to Dynamic Load Module (DLM) Stubs for Link Map Support
DLM Stub | New, Changed, or No Longer Supported? |
---|---|
CDM1 | New |
CDM2 | New |
CDM3 | New |
Table 308 summarizes the general use C/C++ language header file changes. This information is presented in alphabetic order by the name of the general use C/C++ language header file.
General use means these header files are available for your
use.
Table 308. Changes to General Use C/C++ Language Header Files for Link Map Support
C/C++ Language Header File | New, Changed, or No Longer Supported? | Do You Need to Recompile Segments? |
---|---|---|
bldtol.h | Changed | Yes |
c$dmap.h | New | No |
c$icili.h | Changed | Yes |
c$idslst.h | Changed | No |
c$idsprg.h | Changed | No |
c$lmap.h | New | No |
nldtci.h | Changed | Yes |
nldtif.h | Changed | Yes |
reusable.h | Changed | No |
Table 309 summarizes the general use C/C++ language header file
changes that are for IBM use only. This information is presented in
alphabetic order by the name of the general use C/C++ language header
file.
C/C++ Language Header File (IBM Use Only) | New, Changed, or No Longer Supported? | Do You Need to Recompile Segments? |
---|---|---|
i$cdm0.h | New | No |
i$lmap.h | New | No |
There are no changes.
There are no changes.
There are no changes.
Table 310 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).
Notes:
Table 310. Changes to Members (Object Files) for Link Map Support
Member (Object File) | DLM/DLL | New, Changed, or No Longer Supported? | Type | Description of Change |
---|---|---|---|---|
CDMAIN | CDM0 | New | C Language | Mainline routine for the ZDMAP command. |
CDMDSP | CDM0 | New | C Language | Display routine for the ZDMAP command. |
CDMER1 | CDM0 | New | C Language | Display error messages in the 1000 range for the ZDMAP command. |
CDMER2 | CDM0 | New | C Language | Display error messages in the 2000 range for the ZDMAP command. |
CDMER3 | CDM0 | New | C Language | Display error messages in the 3000 range for the ZDMAP command. |
CDMHLP | CDM0 | New | C Language | Display help information for the ZDMAP command. |
CDMPRC | CDM2 | New | C Language | Process the ZDMAP request for the ZDMAP command. |
CDMPRS | CDM0 | New | C Language | Parsing routine for the ZDMAP command. |
CDMREL | CDM3 | New | C Language | Release C load module routine for the ZDMAP command. |
CDMRTR | CDM1 | New | C Language | Retrieve C load module routine for the ZDMAP command. |
There are no changes.
There are no changes.
There are no changes.
Table 311 summarizes copy member changes. This information is
presented in alphabetic order by the name of the copy member.
Table 311. Changes to Copy Members for Link Map Support
Copy Member | Type | CSECT Where Copy Member Is Located | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|---|
CEDI | Control Program | CCNUCL | Changed | Call CP translation user exit UCCWTOP if it is active to allow you to translate characters in the output message text. Whether the user exit is active or not, unconditionally translate specific characters in the message text to periods (X'4B') (.). |
CPSL | Control Program | CCCPSE | Changed | Create link map dump records. |
CUSR | Control Program | CCUEXT | Changed | Create CP translation user exit entry point UCCWTOP, which allows you to translate lowercase and special characters in output message text before CEDI (in CCNUCL) performs its own translation. |
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 312 summarizes the data macro changes. This information
is presented in alphabetic order by the name of the data macro.
Table 312. Changes to Data Macros for Link Map Support
Data Macro | New, Changed, or No Longer Supported? | Do You Need to Reassemble Programs Using This Data Macro? |
---|---|---|
CZOCP | Changed | No |
DCTUCL | Changed | No |
IDSPRG | Changed | No |
IFUNC | New | No |
ILMAP | New | No |
IOBJF | New | No |
There are no changes.
There are no changes.
There are no changes.
There are no changes.
Table 313 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 313. Changes to SIP Skeleton and Internal Macros for Link Map Support
SIP Skeleton and Internal Macro | New, Changed, or No Longer Supported? |
---|---|
SPPGML | Changed |
There are no changes.
Table 314 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 314. Changes to SIP Stage II Macros for Link Map Support
SIP Stage II Macro | New, Changed, or No Longer Supported? |
---|---|
IBMPAL | Changed |
Table 315 summarizes system macro changes. This information is
presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all
system macros.
Table 315. Changes to System Macros for Link Map Support
System Macro | New, Changed, or No Longer Supported? | Do You Need to Reassemble Programs? |
---|---|---|
UXITC | Changed | No |
Table 316 summarizes system macro changes. This information is
presented in alphabetic order by the name of the system macro.
Table 316. Changes to System Macros (IBM Use Only) for Link Map Support
System Macro (IBM Use Only) | New, Changed, or No Longer Supported? | Do You Need to Reassemble Programs? |
---|---|---|
CFMCC | Changed | Yes |
CFMDC | Changed | Yes |
Table 317 summarizes segment changes. This information is
presented in alphabetic order by the name of the segment.
Table 317. Changes to Segments for Link Map Support
Segment | Type | Link-Edit Module (Where Offline Segment Is Linked) | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|---|
CBLD | Offline C Language | CBLD | Changed | Added ESD, TXT, and END cards for each included object file. |
CVAB | Real-Time Assembler | Not Applicable | Changed | Added code to define and recognize the ZDMAP command. |
NLDT | Offline C Language | TPFLDR | Changed | Added support to create C load module link map data. |
NLDTRL | Offline C Language | TPFLDR | Changed | Added support to create C load module link map data. |
REATXT | Offline C Language | REATXT | New | Rearrange CSECTs (TXTs) for C source files compiled with the NORENT
option and link-edited with the VM linkage editor (VM LKED).
|
TLDR | Offline Assembler | TPFLDR | Changed | Added support to create C load module link map data. |
TLDRMN | Offline C Language | TPFLDR | Changed | Added support to create C load module link map data. |
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 318. Changes to Control Program (CP) User Exits for Link Map Support
Control Program (CP) User Exit Activated In | User Routine Label | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|---|
CEDI | UCCWTOP | New | Added the WTOPC translation user exit to allow you to translate characters in the message output text to whatever you want before CEDI (in CCNUCL) does its own translation. Commentary in the prolog describes an approach for doing the translation. This user exit is particularly useful for translating special characters or lowercase characters in function names if you have display terminals that do not support these characters. |
There are no changes.
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.
Table 319 summarizes command changes. This information is presented in alphabetic order by the name of the command. See TPF Operations for a complete description of all commands.
Attention: Changes to commands can impact any automation
programs you are using in your complex.
Table 319. Changes to Commands for Link Map Support
Command | New, Changed, or No Longer Supported? | Description of Change |
---|---|---|
ZDMAP | New | Add the ability to display link map data for C load modules. |
Table 320 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 320. Changes to Messages and System Errors for Link Map Support
Message ID or System Error Number | Message Type | New, Changed, or No Longer Supported? |
---|---|---|
ALDR0910W | Offline | New |
ATTENTION - CONTAINS NO LINK MAP DATA | Offline | New |
CBLD0411W | Offline | New |
CBLD0412W | Offline | New |
CBLD0802E | Offline | No Longer Supported |
CBLD0803E | Offline | New |
CBLD0804E | Offline | New |
CBLD1201T | Offline | No Longer Supported |
CBLD1202T | Offline | New |
DMAP0001I | Online | New |
DMAP0002I | Online | New |
DMAP1000E | Online | New |
DMAP1001E | Online | New |
DMAP2000E | Online | New |
DMAP2001E | Online | New |
DMAP2002E | Online | New |
DMAP2003E | Online | New |
DMAP2004E | Online | New |
DMAP2005E | Online | New |
DMAP2006E | Online | New |
DMAP2007E | Online | New |
DMAP2008E | Online | New |
DMAP2009E | Online | New |
DMAP2010E | Online | New |
DMAP2011E | Online | New |
DMAP2012E | Online | New |
DMAP2013E | Online | New |
DMAP2014E | Online | New |
DMAP2015E | Online | New |
DMAP3000E | Online | New |
DMAP3001E | Online | New |
DMAP3002E | Online | New |
DMAP3003E | Online | New |
DMAP3004E | Online | New |
DMAP3005E | Online | New |
OLDR0090W | Offline | New |
TPFL0005W | Offline | New |
TPFL0010E | Offline | New |
There are no changes.
C load modules with link maps will be slightly larger than C load modules without link maps both in main storage and on file. Testing showed the increase to be approximately 1% for a sample of 210 C load modules. The actual increase that you can expect will vary and will depend on the makeup of each C load module. You can still use the current formulas to calculate the required number of #XPRGn and #OLDn records. See TPF System Generation for more information about the formulas for calculating the number of system utilized record types.
There are no changes.
There are no changes.
There are no changes.
Table 321 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 321. Changes to TPF Publications for Link Map Support
Publication Title | Softcopy File Name | Description of Change |
---|---|---|
TPF Application Programming | GTPAPP07 | Updated with information about using link map support, changes to the offline C load module build tool (CBLD), and a description of an offline tool (sample code only), REATXT, for link map support. |
TPF Library Guide | GTPDOC07 | Updated with definitions for new terminology in the master glossary. |
TPF Main Supervisor Reference | GTPMSR05 | Updated with information about displaying link map data for link map support. |
Messages (System Error and Offline) and Messages (Online) | Not Applicable | Updated with information about messages that were added, changed, and no longer supported for link map support. |
TPF Migration Guide: Program Update Tapes | GTPMIG07 | Updated with migration considerations for link map support. |
TPF Operations | GTPOPR07 | Updated with information about the command that was added for link map support. |
TPF Program Development Support Reference | GTPPDR07 | Updated with information showing formatted link map data appended at the end of a C load module in a dump for link map support. |
TPF Programming Standards | GTPPSM07 | Updated with information about the changed standard to the allowed character set for output messages for link map support. Also, added information about names that are reserved for link map support. |
TPF System Installation Support Reference | GTPINR07 | Updated with information about the user exit UCCWTOP that was added for link map support and information about the TRACE parameter for the offline loader (TPFLDR). |
There are no changes.
There are no changes.
There are no changes.
There are no changes.
There are no changes.
You must consider the following if you want to use link map support:
You must build a new CP that contains CCNUCL (CEDI) and CCUEXT (CUSR) with link map support to take advantage of the user exit for WTOPC translation.
You can apply all of link map support or parts of the support without impacting your offline system and your online TPF 4.1 system. The following examples show you how you can apply parts of link map support:
If you do not have special requirements for which characters can be displayed in output messages, you can also delay applying link map support to CEDI in CCNUCL and CUSR in CCUEXT in the CP.
No compatibility or coexistence concerns have been identified. C load modules that have been built either with or without link maps can be loaded to systems that have link map support online as well as to those that do not. No modifications are required to any of the online loaders, so there are no compatibility issues between online and offline loaders.