gtpm2m32Migration Guide: Program Update Tapes

Expression Enhancements for the TPF Debuggers (APAR PJ27905)

The following section discusses the migration considerations for expression enhancements for the TPF debuggers.

Prerequisite APARs

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

Functional Overview

Expression enhancements for the TPF debuggers provides the following enhancements to the TPF Assembler Debugger for VisualAge Client and the TPF C Debugger for VisualAge Client (referred to as the assembler debugger and C debugger, respectively, in the remainder of this information).

Assembler Debugger Symbolic Support

Previously, to display labels and evaluate tags you had to switch back to the disassembly view from the listing view. Now you can operate fully within the listing view because assembler debugger symbolic support has been added to the assembler debugger for the program monitor, storage monitor, breakpoint, and local variable display. With assembler debugger symbolic support, you can enter an expression for evaluation and have the result displayed in the Program Monitor window or Storage Monitor window. An expression is a representation of a value; for example, variables and constants appearing alone or in combination with operators.

To enter an expression for evaluation:

  1. Click Monitor Expression from the Monitors menu. The Monitor Expression dialog box is displayed.
  2. Type the expression that you want to evaluate and determine where you want the result displayed by clicking Program monitor or Storage monitor.
  3. Click OK to start the evaluation. The result is displayed in either the Program Monitor window or the Storage Monitor window based on your selection in step 2.

Expressions that have been evaluated and displayed in the Program Monitor window are reevaluated at each stop during the debugging process. For example, if you evaluate expression REC_ID, which represents a DSECT label with an active base register using register 1 (R1), and the value of R1 changes, the expression is then reevaluated at each stop of the debugger process regardless of the content of its base register and whether it did or did not change; the current value of that expression is displayed.

The scope of an expression is monitored and reevaluated across multiple programs that the assembler debugger is processing. This is different from the C debugger in which the scope of an expression is the block in which the symbol is defined.

Global Symbol Display for Both Assembler and C

With the global symbol display for both assembler and C:

New User Exits

The following user exits are provided:

See ECB User Exits and TPF System Installation Support Reference for more information about these user exits.

Architecture

A parser and expression evaluator were developed for the assembler debugger rather than using the expression handler of the C debugger because of the following differences between the assembler and C debuggers:

A common user-defined global symbol evaluator was also developed for both the assembler and C debuggers. Figure 10 shows these components.

Figure 10. User-Defined Global Symbol Evaluator Concepts


When you assemble an assembler program, the TPFSYM offline program reads the SYSADATA file created by the assembler. The TPFSYM offline program extracts the symbol information to build a symbol table that conforms to the DWARF specification and stores this in the ADATA file. The ADATA file is loaded to the TPF 4.1 system by the online loader and stored in #APRGx fixed file records or by using File Transfer Protocol (FTP) to store the file in the hierarchical file system (HFS).

Syntax for Assembler Expressions

Previously, the disassembly view supported only registers and instruction operands. DSECT labels, equate values, and program address labels were not supported. Now, all valid High Level Assembler (HLASM) expressions are supported with the following exceptions:

Assembler debugger symbolic support supports boolean expressions that resolve to True or False. Boolean expressions are useful when setting breakpoints. Each term in a boolean expression must have a length no longer than 4 bytes. The following operators are used for boolean expressions:

Examples of boolean expressions are:

Assembler debugger symbolic support has also adopted the following operational rules to define the behavior of the assembler debugger:

The symbol may have an additional data representation based on the data type:

Table 1090 provides information about the different data types and their data representation.

Table 1090. Data Types and Data Representation

Data Type Description Default Representation Additional Representation
A Address Hexadecimal  
B Binary Hexadecimal Binary
C Character Hexadecimal ASCII, EBCDIC
D 8 Bytes, Floating Point Hexadecimal Floating Point
E 4 Bytes, Floating Point Hexadecimal Floating Point
F 4 Bytes, Floating Point Hexadecimal Decimal
H 2 Bytes, Fixed Point Hexadecimal Decimal
L 16 Bytes, Floating Point Hexadecimal Floating Point
P Packed Decimal Hexadecimal Decimal
S Address Hexadecimal  
X Hexadecimal Hexadecimal Decimal
Y Address Hexadecimal  
Z Zoned Decimal Hexadecimal Decimal

Examples of Expressions for the Assembler Debugger

Table 1091 provides examples of expressions supported by the assembler debugger.

Table 1091. Expressions Supported by the Assembler Debugger

Expression Result Notes
(F4) Contents of floating point register F4.  
(X1) Contents of control register 1.  
R3 Content of R3. R0 - R15 are reserved names for general-purpose registers.
(R3) Data area pointed to by R3. Dereference if the expression is (GPR).
F2 Contents of floating point register F2. F0, F2, F4, and F6 are reserved names for floating point registers.
X1 Contents of control register 1. X0 - X15 are reserved names for control registers.
EBW000 1 byte of data starting from EBW000. Dereference a single-term expression.

The explicit length of EBW000 is 1 byte.

EBW000(20) 20 bytes of data starting at location EBW000. Dereference a complex term when it has only one relocatable term.
CE1S00+R4*4 4 bytes of data starting at location CE1S00+16. Dereference a complex term when it has only one relocatable term.
CE1S00(R3) 4 bytes of data starting at location CE1CR0+R3. R3 is handled as an index register. Use the index register to reference other data levels.
PATNAME Contents of PATNAME. IDSPAT is in a USING scope.
PATNAME(R4) Contents of PATNAME; use R4 as an index register. If IDSPAT has a USING scope, use the index register to reference other PAT entries.
PATNAME-PATCNT(R4) Contents of PATNAME; use R4 as a base register. Dereference a complex expression if paired relocatable terms are subtracted to remove the relocatability.

The base register is overridden.

A(label) Address of the label in ACON format. Resolve the ACON format through the user global symbol and user symbol override tables.
S(label) Address of the label in SCON format. Resolve the SCON format through the user global symbol and user symbol override tables.
Y(label) Address of the label in YCON format. Resolve the YCON format through the user global symbol and user symbol override tables.
C'ABC' C'ABC' Echo all C-type constants.
X'FFFF' X'FFFF' Echo all X-type constants.
B'0111' B'0111' Echo all B-type constants.
F'1' F'1' Echo all F-type constants.
H'256' H'256' Echo all H-type constants.
L'label Length attribute of the label.  
=A(label) Address of the label in ACON format. Literals are handled the same as self-defining terms.
IDSPAT Entire IDSPAT, which includes all DS subfields. Display all subfields if the expression is the name of the DSECT.
18 18 A self-defining term.
TWOFULLWORD An array of fullwords with two entries starting from location TWOFULLWORD. TWOFULLWORD is defined as 2F.
FOURCL4 An array of 4; each entry is a 4-byte character field starting at FOURCL4. FOURCL4 is defined as 4CL4.

Table 1092 provides examples of expressions that are not valid or are not supported by the assembler debugger.

Table 1092. Expressions That Are Not Valid or Not Supported by the Assembler Debugger

Expression Result Notes
V(label) The expression is not supported. Cannot resolve V-type constants.
Q(label2) The expression is not supported. Cannot resolve Q-type constants.
S'label1 The expression is not supported. Does not support scale modifiers.
E'label1 The expression is not supported. Does not support exponential modifiers.
&label The expression is not supported. Does not support variable symbols.
.label The expression is not supported. Does not support sequence symbols.
PATNAME(,R4) The expression is not valid. Cannot override its base register.
PATNAME(R4) Out of scope. Not valid if IDSPAT does not have an active USING scope.
PATNAME+PATCA The expression is not valid. Cannot add two relocatable terms together.
*+4 The expression is not valid. The location counter is not supported.
label(,3) The expression is not valid. The base register must be a valid GPR name defined in REGEQ/REGEQ1.
G'345F' G-type constants are not supported. Echo all G-type constants.

Resolving Symbols for the Assembler Debugger

The assembler debugger resolves symbols by searching the following tables in the order shown:

  1. The user symbol override table
  2. The local symbol table for the assembler program
  3. The common symbol table
  4. The user global symbol table
  5. The IBM-defined global symbol table.

User Symbol Override Table

This contains global symbols that are used to override symbol definitions in the local symbol table or the common symbol table. For example, you can define symbol D0 in the symbol override table as a pointer to the storage block on data level 0 to override the definition in DSECT CPSEQ, which has a value of 0. You can use the User Symbol Override Table (USOT) user exit to define these global symbols. See TPF System Installation Support Reference for more information about this user exit.

Local Symbol Table

This table contains all symbols included in the assembler program excluding symbols defined in the common symbol table. The TPFSYM offline program extracts DSECT or symbol definitions from the SYSADATA file that are generated by the assembler debugger and saves the definitions in the ADATA file. You can use either the online loader or File Transfer Protocol (FTP) to load the ADATA file to the TPF 4.1 system.

Common Symbol Table

This contains symbols that are considered common to real-time assembler programs. Use of this table eliminates the need for multiple copies of the symbol information for each real-time assembler program being retained and loaded to the TPF 4.1 system. Instead, only one copy of the symbols is kept in the TPF 4.1 system. You can use the Common Symbol Table (UCST) user exit to add the symbols to the table. The TPFSYM offline program is used to generate the ADATA files that contain the symbol table for loading to the TPF system. The ADATA file that is generated from the TPFSYM offline program for the UCST user exit, UCST.ADATA, should be used as the exclusion file input to TPFSYM when generating ADATA files for assembler programs to remove the appropriate debug information. You must load the UCST.ADATA file to the TPF system to access symbols in the common symbol table. See TPF System Installation Support Reference for more information about this user exit and IBM VisualAge for TPF online help for more information about the TPFSYM offline program.

User Global Symbol Table

This table, which you create, contains global symbol definitions that do not exist in a real-time assembler program. The global symbol definitions map to system structures that are not referenced in the real-time assembler program and are resolved to any data structure that you define through XML mapping. You can use the User Global Symbol Table (UGST) user exit to define global symbols. See TPF System Installation Support Reference for more information about this user exit.

IBM-Defined Global Symbol Table

This is a table provided by IBM that includes entries that allow you to easily display all system control blocks such as DECBs or a particular DECB by name while running the assembler and C debuggers. IBM provides the following global symbols:

Using Global Symbols

When using global symbols, you can specify one parameter that is handled as a character string. The pointer to that character string is passed to the function that resolves the symbol. If the parameter string contains blanks, the entire string must be enclosed with double quotation marks to preserve the white space; for example, DECBNME("THIS IS MY DECB").

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 1093 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 1093. Changes to Build Scripts for Expression Enhancements for the TPF Debuggers

Build Script Type New, Changed, or No Longer Supported? Description of Change
CDB3BS DLL Changed Updated for assembler debugger symbolic support.
CDBGBS DLL Changed Updated for assembler debugger symbolic support.
CEXPBS DLL Changed Updated for assembler debugger symbolic support.
CPLXBS DLL Changed Updated for assembler debugger symbolic support.
CPRSBS DLL Changed Updated for assembler debugger symbolic support.
CUDABS DLL Changed Added the CGSTAB, CGSTDC, CGSTFN, CGSTRT, CUDAGP, CUDALX, CUDASM, CUDAYC members. Added the CDWF and CTLF link-edited modules. Added the CTAD, USOT, and UGST data store definitions.
CUDA2BS DLL Changed Added the CUDB members.
UGSTBS DLL New Created for the user global symbol table.
USOTBS DLL New Created for the user symbol override table.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C/C++ Language Header Files

Table 1094 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 1094. Changes to General Use C/C++ Language Header Files for Expression Enhancements for the TPF Debuggers

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

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

Table 1095 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 1095. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for Expression Enhancements for the TPF Debuggers

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments? Segments to Recompile
c$idspat.h Changed No Not Applicable
dwarf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
elf_repl.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
i$tsob.h New No Not Applicable
i$tsrc.h New No Not Applicable
i$syml.hpp New Yes Compile the segments listed in Table 1103.
i$udbg.hpp Changed Yes Compile all CUD*.CPP programs found in the CUDA, CUD2, and CUD1 link-edited modules.
i$udcl.hpp Changed Yes Compile all CUD*.CPP programs found in the CUDA, CUD2, and CUD1 link-edited modules.
i$udpr.hpp New Yes Compile the segments listed in Table 1103.
i$udyc.h New No Not Applicable
libdwarf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/byteswap.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/config.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/elf_repl.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/errors.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/ext_types.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/libelf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/nlist.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/private.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
libelf/sys_elf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
private.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.
sys_elf.h New No This is ported and needed to build the CUDA link-edited module and the TPFSYM offline program.

Library Interface Scripts

There are no changes.

Link-Edited Modules

Table 1096 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 1096. Changes to Link-Edited Modules for Expression Enhancements for the TPF Debuggers

Link-Edited Module New, Changed, or No Longer Supported? Description of Change
CDBG Changed Updated for assembler debugger symbolic support in the CDBG DLM.
CDB3 Changed Updated for assembler debugger symbolic support in the CDB3 DLL.
CDWF New Created for assembler debugger symbolic support.
CELE Changed Updated for assembler debugger symbolic support.
CEXP Changed Updated for assembler debugger symbolic support in the CEXP DLL.
COLH Changed Updated for assembler debugger symbolic support.
CPLX Changed Updated for assembler debugger symbolic support in the CPLX LLM.
CPRS Changed Updated for assembler debugger symbolic support in the CPRS DLL.
CTLF New Created for assembler debugger symbolic support.
CUDA Changed Updated for assembler debugger symbolic support.
CUD1 Changed Updated for assembler debugger symbolic support.
CUD2 Changed Updated for assembler debugger symbolic support.
UGST New Created for assembler debugger symbolic support.
USOT New Created for assembler debugger symbolic support.

Members

Table 1097 summarizes changes to members. This information is presented in alphabetic order by the name of the member.

Notes:

  1. You must recompile or reassemble a member if it has changed.

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

Table 1097. Changes to Members for Expression Enhancements for the TPF Debuggers

Member DLM/DLL/LLM Name Type New, Changed, or No Longer Supported? Member Type Description of Change
CELE CELE DLM Changed C Language Updated for assembler debugger symbolic support.
CGSTAB CUDA DLL New C++ Language Created for IBM-defined global symbols and for resolving functions.
CGSTDC CUDA DLL New C Language Created to declare IBM-defined global symbols for the C debugger.
CGSTFN CUDA DLL New C++ Language Created for the global symbol lookup function.
CGSTRT CUDA DLL New C Language Created to return the PPA address to the IBM-defined global symbols for the C debugger.
COLP COLH DLM Changed C Language Updated for assembler debugger symbolic support.
CUDA CUDA DLL No Change - Recompile CUDA because of changes made to the i$udbg.hpp and i$udcl.hpp header files. C++ Language Updated for assembler debugger symbolic support.
CUDAGP CUDA DLL New Assembler Added GetPat support for the assembler debugger.
CUDALX CUDA DLL New C++ Language Created for the assembler debugger parser.
CUDAMB CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDAPV CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDASM CUDA DLL New C++ Language Added symbol lookup support for the assembler debugger.
CUDAYC CUDA DLL New C++ Language Created for the assembler debugger parser.
CUDC CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDD CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDE CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDK CUDA DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUDN CUDN DLM Changed C++ Language Updated for assembler debugger symbolic support.
CUD1 CUD1 DLM Changed C++ Language Updated for assembler debugger symbolic support (commentary changes only).
CUD2 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD3 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD4 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD5 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD6 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD7 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD8 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
CUD9 CUD2 DLL Changed C++ Language Updated for assembler debugger symbolic support.
UGST UGST DLL New C++ Language Created for user-defined global symbols and for resolving functions.
UGSTDC UGST DLL New C Language Created for user-defined global symbols for the C debugger.
UGSTRT UGST DLL New C Language Created to return the PPA address to the user-defined global symbols for the C debugger.
USOT USOT DLL New C++ Language Created for the user symbol override table and for resolving functions.
USOTDC USOT DLL New C Language Created to declare user-defined override symbols for the C debugger.
USOTRT USOT DLL New C Language Created to return the PPA address to the user-defined override symbols for the C debugger.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

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

Table 1098. Changes to Copy Members for Expression Enhancements for the TPF Debuggers

Copy Member Type New, Changed, or No Longer Supported Segment Where Copy Member is Included Name of Link-Edited Module DLM, DLL, LLM, or Control Program Description of Change
CUDR Copy Member Changed CCVAGE CPS0 Control Program Updated to support assembler debugger symbolic support.
CUDU Copy Member Changed CCVAGE CPS0 Control Program Updated to support assembler debugger symbolic 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 1099 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 1099. Changes to Data Macros for Expression Enhancements for the TPF Debuggers

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro? Programs to Reassemble
CZ1SE Changed No Not Applicable
REGREQ1 Changed No Not Applicable

General Macros

There are no changes.

Selected Equate Macros

There are no changes.

Structured Programming Macros (SPMs)

There are no changes.

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

Table 1100 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. 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 1100. Changes to SIP Skeleton and Internal Macros for Expression Enhancements for the TPF Debuggers

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

Table 1101 summarizes system initialization program (SIP) Stage I macro and statement changes. This information is presented in alphabetic order by the name of the SIP Stage I macro. See TPF System Generation for a complete description of the SIP Stage I macros. If the SIP Stage I macro is changed, you must run the appropriate job control language (JCL) jobs from the SIP Stage II deck

See System Initialization Program (SIP) and System Generation Changes for a description of other system generation changes you must make.

Table 1101. Changes to SIP Stage I Macros and Statements for Expression Enhancements for the TPF Debuggers

SIP Stage I Macro New, Changed, or No Longer Supported?
GENSIP Changed - Updated to punch a job to compile the CGSTDC, UGSTDC, and USOT members. See Table 1097 for more information about these members.

System Initialization Program (SIP) Stage II Macros

Table 1102 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. 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 1102. Changes to SIP Stage II Macros for Expression Enhancements for the TPF Debuggers

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

There are no changes.

System Macros (IBM Use Only)

There are no changes.

Segments

Table 1103 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 1103. Changes to Segments for Expression Enhancements for the TPF Debuggers

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
TLDRMN Offline TPFLDR Changed Updated for the assembler debugger.
UCST Real-Time Assembler Not Applicable New Created for use by the common symbol table.

System Equates

There are no changes.

User Exits

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.

Control Program (CP) User Exits

There are no changes.

ECB User Exits

This information is presented in alphabetic order by the name of the function.

Table 1104. Changes to ECB User Exits for Expression Enhancements for the TPF Debuggers

Function User Exit Activated In User Exit Program New, Changed, or No Longer Supported? Description of Change
Common Symbol Table Not Applicable UCST New This user exit allows you to add data macros (DSECTs) or any symbols that are considered common to real-time assembler programs to the common symbol table for each program. Use of the common symbol table eliminates the need for multiple copies of the symbol information for each real-time assembler program being retained and loaded to the TPF 4.1 system. Instead, only one copy of the common symbols are kept in the TPF 4.1 system.
User Global Symbol Table Not Applicable UGST New This user exit allows you to define global symbols that do not exist in a program for resolution. These definitions can be used as a valid expression request in both the assembler and C debuggers.
User Symbol Override Table Not Applicable USOT New This user exit allows you to define global symbols that override symbol definitions in the local symbol table or the common symbol table.

Functional and Operational 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.

Commands

There are no changes.

Messages and System Errors

Table 1105 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 1105. Changes to Messages and System Errors for Expression Enhancements for the TPF Debuggers

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
0ADB12 System Error New
0ADB13 System Error New
0ADB14 System Error New
0ADB15 System Error New
0ADB16 System Error New
0ADB17 System Error New
VAGE0001E Offline New
VAGE0002E Offline New
VAGE0003E Offline New
VAGE0004W Offline New
VAGE0005W Offline New
VAGE0007E Offline New
VAGE0008W Offline New
VAGE0009E Offline New
VAGE0010E Offline New
VAGE0011E Offline New
VAGE0012E Offline New
VAGE0013E Offline New
VAGE0014E Offline New
VAGE0015E Offline New
VAGE0016E Offline New
VAGE0017E Offline New
VAGE0018E Offline New
VAGE0019E Offline New
VAGE0020E Offline New
VAGE0021E Offline New
VAGE0022I Offline New
VAGE9091E Offline No Longer Supported
VAGE9092E Offline No Longer Supported

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 1106 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 1106. Changes to TPF Publications for Expression Enhancements for the TPF Debuggers

Publication Title Softcopy File Name Description of Change
TPF Library Guide GTPDOC0F Updated with definitions for new terminology in the master glossary.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about messages and system errors that were added, changed, and no longer supported for expression enhancements for the TPF debuggers.
TPF Migration Guide: Program Update Tapes GTPMG205 Updated with migration considerations for expression enhancements for the TPF debuggers.
TPF System Installation Support Reference GTPINR0F Updated with information about new user exits for expression enhancements for the TPF debuggers.
TPF System Generation GTPSYG0F Updated with information about fixed file records for expression enhancements for the TPF debuggers.

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

Before You Begin

Ensure that your TPF 4.1 system is at program update tape (PUT) 14 and that you have VisualAge for TPF corrective service diskette (CSD) 22 or later installed.

Use the following procedure to install expression enhancements for the TPF debuggers on your TPF 4.1 system.

  1. Unpack PUT 15, which contains APAR PJ27905 for expression enhancements for the TPF debuggers. See TPF Memo to Licensees for more information about unpacking the tape.
  2. Put the C/C++ language header files listed in Table 1094 and Table 1095 in your library system.
  3. Install the following:
  4. Run the system allocator (SALO) using IBMPAL and SPPGML additions for newly created segments to create an updated program allocation table (PAT) and system allocator (SAL) table.
  5. Run the CBLD program for the build scripts listed in Table 1093.
  6. Reassemble or recompile the following:
  7. Load the link-edited modules listed in Table 1096.
  8. IPL your TPF 4.1 system.
  9. Unpack the tar file provided if you want to build any of the object (OBJ) files and load modules yourself. The files created after extracting this tar file contain the following:
    • The LIBELF DLL and LIBDWARF DLL that are used by the TPFSYM offline program.
    • The CTLF DLL and CDWF DLL that are used by the assembler debugger.
    • The ELF and DWARF source code, which is found in the source/ol directory.
    • Sample makefiles, which are found in the source/ol directory. IBM does not, however, warrant that these makefiles will run in your development environment because these files may use tools that are not required for your TPF 4.1 system.

    Notes:

    1. IBM ships the TPFSYM load module linked and ready for you to use. The ELF and DWARF source code and the sample makefiles are provided for your information only.

    2. If you want to build the TPFSYM load module and the OBJ files for the CUDASM, CUDAYC, CUDALX, CUDAPV, CUDD, and CUDE members (all of which are part of the CUDA DLL and shipped to you as part of this APAR), the ELF and DWARF C/C++ language header files are required. See Table 1094 for a list of these header files.

    3. The TPFSYM load module and the OBJ files for the CUDASM, CUDAYC, CUDALX, CUDAPV, CUDD, and CUDE members must be built in a hierarchical file system (HFS) environment.

    4. Create a libelf symbolic link in your include directory that points to the gpl/tpfelf subdirectory found in the tar file. Include the gpl/tpfelf and gpl/tpfdwarf subdirectories in the include search path when compiling your programs.