gtpm2m2hMigration Guide: Program Update Tapes

Enhancements to TPF Support for VisualAge Client (APAR PJ27383)

The following section discusses the migration considerations for enhancements to TPF Support for VisualAge Client.

Prerequisite APARs

See the APEDIT for APAR PJ27383 for information about prerequisite APARs.

Functional Overview

Enhancements to TPF Support for VisualAge Client include the following items:

Macro breakpoints are supported from both the TPF C Debugger for VisualAge Client and the TPF Assembler Debugger for VisualAge Client. Macro breakpoints that are entered in the C debugger are in effect for both C and assembler programs. The opposite is also true; macro breakpoints that are entered in the assembler debugger are in effect for both C and assembler programs.

Before program update tape (PUT) 13, the assembler debugger supported address breakpoints that could not be reused from one debugging session to another. This has changed with the availability of deferred line breakpoints. You set deferred line breakpoints only once and then they are available to use in subsequent debugging sessions. In addition, when you are tracing one segment, you can set a breakpoint in another segment that has not been loaded but will be entered by the active entry control block (ECB).

Note:
The breakpoint changes are for the assembler debugger only and do not affect the C debugger.

Enter/back support for the TPF Performance Execution Trace Analyzer for VisualAge Client gives you the ability to collect performance data about TPF assembler segments as well as C and C++ programs. Performance data indicates the amount of time that was spent in each segment.

Note:
A function called by another function that does not contain hooks will not be in the performance analyzer report.

PRINT NOGEN support enables you to generate assembler debugger ADATA files using the PRINT NOGEN commands in an assembler listing. You no longer need to step through the macro expansion or set breakpoints after the macro and press the run button. For example, without PRINT NOGEN support, if the macro branches to an error label and you did not set a breakpoint at that time, the debugging session ends. With this support, the instructions are suppressed from the listing view and you can step through the macro instructions and stop at the next point in the program. If a macro branches to an error label, the debugger stops at that error label.

Architecture

The TPF Assembler Debugger for VisualAge Client backend is changed to enable the Function Breakpoint dialog box and, consequently, macro breakpoints; you enter macro breakpoints by using this dialog box. You can set a macro breakpoint in two different ways:

Deferred line breakpoints reestablish line breakpoints in assembler programs. There are several ways to set a deferred line breakpoint:

Enter/back support for the performance analyzer makes each ENTRC macro call to a TPF segment look like an entry to a function call. Similarly, a BACKC macro call from the assembler segment is handled as a return from a function call. In addition, special handling is done for the ENTNC, ENTDC, and SWISC (with TYPE=ENTER specified) macro calls to handle each one as a return from a function call and then to enter a function call. This allows assembler and ISO-C dynamic load modules (DLMs) that were compiled without hooks to be traced in addition to the ISO-C DLMs that were compiled with hooks.

The listing view is created for the assembler debugger using a postprocessing tool on the SYSDATA output from the High Level Assembler (HLASM). The output from this program generates a file that is similar to the listing output from the HLASM. (The exception is that the listing view file always generates the expansion of executable macros.) With Version 3 (or higher) of the HLASM, SYSADATA records are generated to indicate when the PRINT assembler command is coded in the source file.

Operating Environment Requirements and Planning Information

There are none.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

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.

Build Scripts

Table 820 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 820. Changes to Build Scripts for Enhancements to TPF Support for VisualAge Client

Build Script Type New, Changed, or No Longer Supported? Description of Change
CPA0BS DLM Changed Updated to add support for assembler segment profiling.
CUDABS DLL Changed Updated to add the CUDAMB, CUDAPV, and CUDXDB members (object files).
CUDNBS DLM New Created to support the macro breakpoint match routine.

Dynamic Load Module (DLM) Stubs

Table 821 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 821. Changes to Dynamic Load Module (DLM) Stubs for Enhancements to TPF Support for VisualAge Client

DLM Stub New, Changed, or No Longer Supported?
CUDN New

General Use C/C++ Language Header Files

Table 822 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 822. Changes to General Use C/C++ Language Header Files for Enhancements to TPF Support for VisualAge Client

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$cinfc.h Changed No
c$eb0eb.h Changed No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

Table 823 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.

Table 823. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for Enhancements to TPF Support for VisualAge Client

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
i$ecb3.h Changed No
i$udbg.hpp Changed No
i$udcl.hpp Changed No
i$umac.h New No

Library Interface Scripts

There are no changes.

Library Members (Object Files)

Table 824 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 824. Changes to Library Members (Object Files) for Enhancements to TPF Support for VisualAge Client

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CDBINT CISO Changed Object Code Only Updated for the TPF Performance Execution Trace Analyzer for VisualAge Client.
CLMINT CISO Changed Assembler Updated to restructure the C initialization routine.
CTRINT CISO Changed Object Code Only Updated for the TPF Performance Execution Trace Analyzer for VisualAge Client.
CXXFUN CISO Changed Object Code Only Updated to release system heap storage.

Link-Edited Modules

Table 825 summarizes changes to the link-edited modules shipped by IBM, which should go into a data set with attributes DCB=(RECFM=U,LRECL=80,BLKSIZE=1200). This information is presented in alphabetic order by the name of the link-edited module.

Table 825. Changes to Link-Edited Modules for Enhancements to TPF Support for VisualAge Client

Link-Edited Module New, Changed, or No Longer Supported? Description of Change
CDBG No change -- load the new copy. No change.
CDBS Changed Updated to add support for macro breakpoints and for the TPF Performance Execution Trace Analyzer for VisualAge Client to support assembler programs.
CPA0 No change -- load the new copy. No change.
CUD1 Changed Updated to add a routine to handle macro breakpoints.
CUD2 Changed Updated to add support for macro breakpoints.
CUDA Changed Updated to add the CUDAMB, CUDAPV, and CUDXDB members (object files) as well as to change the CUDA, CUDD, and CUDK members (object files).
CUDN New Created to provide support for the macro breakpoint match routine.
TPFDBG Changed Updated to provide PRINT NOGEN support.

Members (Object Files)

Table 826 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 826. Changes to Members (Object Files) for Enhancements to TPF Support for VisualAge Client

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CDBS CDBS Changed C Language Updated to add support for macro breakpoints and the TPF Performance Execution Trace Analyzer for VisualAge Client.
CUDA CUDA Changed C++ Language Updated to add support for the IVAListing view.
CUDAMB CUDA New C++ Language Created to add new macro breakpoint classes.
CUDAPV CUDA New C++ Language Created to add support for the IVAListing view class and PRINT NOGEN.
CUDB CUDA No Change-- This member must be reassembled even though it was not changed. C Language No changes.
CUDC CUDA No Change-- This member must be recompiled even though it was not changed. C Language No changes.
CUDD CUDA Changed C Language Updated to add EPDC handling classes.
CUDK CUDA Changed C Language Updated to add an upper method to class IVAString.
CUDN CUDN New C++ Language Created to add the macro breakpoint match routine.
CUDXDB CUDA, CUDN Changed Assembler Updated to add SVC and fast-link macro checking.
CUD0 CUD0 No Change -- This member must be recompiled even though it was not changed. C Language No change.
CUD1 CUD1 Changed C Language Updated to add the macro breakpoint event handler.
CUD2 CUD2 Changed C Language Updated to add macro breakpoint event handling code, to change EPDC handling for breakpoints, and to provide support for PRINT NOGEN.
CUD3 CUD2 Changed C Language Updated to add support for the macro breakpoint change packet and deferred line breakpoints.
CUD4 CUD2 Changed C Language Updated to add support for the IVAListing view and deferred line breakpoints.
CUD5 CUD2 Changed C Language Updated to add support for the IVAListing view and PRINT NOGEN.
CUD6 CUD2 Changed C Language Updated to add support for macro breakpoints (to clear, disable, and enable all breakpoints) and deferred line breakpoints.
CUD7 CUD2 No Change -- This member must be recompiled even though it was not changed. C Language No change.
CUD8 CUD2 No Change -- This member must be recompiled even though it was not changed C Language No change.
CUD9 CUD2 No Change -- This member must be recompiled even though it was not changed C Language No change.
EQA0SBKP CDBG Changed Object Code Only Updated to add support for macro breakpoints.
EQA0SDBI CDBG Changed Object Code Only Updated to add support for macro breakpoints.
EQA00DBG CDBG Changed Object Code Only Updated to add support for macro breakpoints.
EQA00DBH CDBG Changed Object Code Only Updated to add support for macro breakpoints.
EQA00EVH CDBG Changed Object Code Only Updated to add support for macro breakpoints.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

Table 827 summarizes the control program interface (CINFC) tag changes. The information in this table is ordered numerically by the equate value.

Table 827. Changes to CINFC Tags for Enhancements to TPF Support for VisualAge Client

CINFC Tag Equate Value New, Changed, or No Longer Supported?
CMMDBB 391 New
CMMGRPC 390 New

Copy Members

Table 828 summarizes the copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 828. Changes to Copy Members for Enhancements to TPF Support for VisualAge Client

Copy Member Type CSECT Where Copy Member Is Located DLM Where CSECT Is Located New, Changed, or No Longer Supported? Description of Change
CAAA Control Program CCNUCL Not Applicable Changed Added changes to the comments.
CCEB Control Program CCENBK Not Applicable Changed Added support for hooks.
CCED Control Program CCENBK Not Applicable Changed Added support for C initialization restructuring.
CCMCDC Assembler CCMCDC Not Applicable Changed Added the CEDL copy member.
CEDL Control Program CCMCDC Not Applicable New Added support for macro breakpoints.
CEDM Control Program CCMCDC Not Applicable Changed Added support for macro breakpoints.
CHSZ Control Program CCNUCL Not Applicable Changed Added support for the new ECB field initialization.
CICR Control Program CCNUCL Not Applicable Changed Added new CINFC tags CMMDBB and CMMGRPC.
CPSE Control Program CCCPSE Not Applicable Changed Added support to reset hooks.
CUDR Control Program CCVAGE Not Applicable Changed Updated for PRINT NOGEN support.
CUDU Control Program CCNUCL Not Applicable Changed Updated for macro breakpoint support.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 829 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 829. Changes to Data Macros for Enhancements to TPF Support for VisualAge Client

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
ISV0SV Changed No
IUDBG Changed No
IUMAC New No

General Macros

Table 830 summarizes the 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 830. Changes to General Macros for Enhancements to TPF Support for VisualAge Client

General Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CINFC Changed No

Selected Equate Macros

Table 831 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 831. Changes to Selected Equate Macros for Enhancements to TPF Support for VisualAge Client

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
IEQCE2 Changed No
IEQCE3 Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

There are no changes.

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

There are no changes.

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

Table 832 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 832. Changes to System Macros for Enhancements to TPF Support for VisualAge Client

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CREGPC New No
CRESVC Changed No
IBMSVC Changed No
USRSVC Changed No

System Macros (IBM Use Only)

Table 833 summarizes system macro changes that are for IBM use only. This information is presented in alphabetic order by the name of the system macro.

Table 833. Changes to System Macros (IBM Use Only) for Enhancements to TPF Support for VisualAge Client

System Macro (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
LOCORE Changed Yes

Segments

There are no changes.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

There are none.

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 834 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 834. Changes to TPF Publications for Enhancements to TPF Support for VisualAge Client

Publication Title Softcopy File Name Description of Change
TPF Main Supervisor Reference GTPMSR07 Updated with information about the CREGPC macro, which was added for Enhancements to TPF Support for VisualAge Client.
TPF Migration Guide: Program Update Tapes GTPMG202 Updated with migration considerations for Enhancements to TPF Support for VisualAge Client.
TPF System Macros GTPSYS0D Updated with information about new and changed macros that were added for Enhancements to TPF Support for VisualAge Client.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install Enhancements to TPF Support for VisualAge Client on your TPF 4.1 system.

  1. Update the library system with the contents of program update tape (PUT) 13.
  2. Recompile your changed segments.
  3. Relink the build scripts.
  4. Relink the control program (CP) with a new allocator.
  5. Load the new CP and changed segments.
  6. IPL your TPF 4.1 system again.