TPF : Support : Maintenance TPF : Support : Maintenance
SUBJECT: APAR NUMBER: PJ27905
REFERENCE: AREA: VISUALAGE ASSEMBLER DEBUGGER
SEGMENT: C$GSUT40 - RELEASE: TPF4 (C-Header)
SEGMENT: C$IDSPAT40 - RELEASE: TPF4 (C-Header)
SEGMENT: C$UDGS40 - RELEASE: TPF4 (C++Header)
SEGMENT: CBCCOMM40 - RELEASE: TPF4 (No Release)
SEGMENT: CBCNLVLC40 - RELEASE: TPF4 (No Release)
SEGMENT: CDBG40 - RELEASE: TPF4 (No Release)
SEGMENT: CDBGBS40 - RELEASE: TPF4 (No Release)
SEGMENT: CDB340 - RELEASE: TPF4 (No Release)
SEGMENT: CDB3BS40 - RELEASE: TPF4 (No Release)
SEGMENT: CEEMMGET40 - RELEASE: TPF4 (No Release)
SEGMENT: CELE40 - RELEASE: TPF4 (C)
SEGMENT: CEXP40 - RELEASE: TPF4 (No Release)
SEGMENT: CEXPBS40 - RELEASE: TPF4 (No Release)
SEGMENT: CGSTAB40 - RELEASE: TPF4 (C++)
SEGMENT: CGSTDC40 - RELEASE: TPF4 (C)
SEGMENT: CGSTFN40 - RELEASE: TPF4 (C++)
SEGMENT: CGSTRT40 - RELEASE: TPF4 (C)
SEGMENT: COLP40 - RELEASE: TPF4 (C)
SEGMENT: CPLX40 - RELEASE: TPF4 (No Release)
SEGMENT: CPLXBS40 - RELEASE: TPF4 (No Release)
SEGMENT: CPRS40 - RELEASE: TPF4 (No Release)
SEGMENT: CPRSBS40 - RELEASE: TPF4 (No Release)
SEGMENT: CUDABS40 - RELEASE: TPF4 (BuildScr)
SEGMENT: CUDAGP40 - RELEASE: TPF4 (Assembler)
SEGMENT: CUDALX40 - RELEASE: TPF4 (C++)
SEGMENT: CUDAMB40 - RELEASE: TPF4 (C++)
SEGMENT: CUDAPV40 - RELEASE: TPF4 (C++)
SEGMENT: CUDASM40 - RELEASE: TPF4 (C++)
SEGMENT: CUDAYC40 - RELEASE: TPF4 (C++)
SEGMENT: CUDC40 - RELEASE: TPF4 (C++)
SEGMENT: CUDD40 - RELEASE: TPF4 (C++)
SEGMENT: CUDE40 - RELEASE: TPF4 (C++)
SEGMENT: CUDK40 - RELEASE: TPF4 (C++)
SEGMENT: CUDN40 - RELEASE: TPF4 (C++)
SEGMENT: CUDR40 - RELEASE: TPF4 (Copy)
SEGMENT: CUDU40 - RELEASE: TPF4 (Copy)
SEGMENT: CUD140 - RELEASE: TPF4 (C++)
SEGMENT: CUD240 - RELEASE: TPF4 (C++)
SEGMENT: CUD2BS40 - RELEASE: TPF4 (BuildScr)
SEGMENT: CUD340 - RELEASE: TPF4 (C++)
SEGMENT: CUD440 - RELEASE: TPF4 (C++)
SEGMENT: CUD540 - RELEASE: TPF4 (C++)
SEGMENT: CUD640 - RELEASE: TPF4 (C++)
SEGMENT: CUD740 - RELEASE: TPF4 (C++)
SEGMENT: CUD840 - RELEASE: TPF4 (C++)
SEGMENT: CUD940 - RELEASE: TPF4 (C++)
SEGMENT: CXCAST40 - RELEASE: TPF4 (No Release)
SEGMENT: CXDEMANG40 - RELEASE: TPF4 (No Release)
SEGMENT: CXEXPR40 - RELEASE: TPF4 (No Release)
SEGMENT: CXGLOBAL40 - RELEASE: TPF4 (No Release)
SEGMENT: CXLOAD40 - RELEASE: TPF4 (No Release)
SEGMENT: CXMANGLE40 - RELEASE: TPF4 (No Release)
SEGMENT: CXRELAT40 - RELEASE: TPF4 (No Release)
SEGMENT: CXRESOLV40 - RELEASE: TPF4 (No Release)
SEGMENT: CXSCOPE40 - RELEASE: TPF4 (No Release)
SEGMENT: CXSYMBOL40 - RELEASE: TPF4 (No Release)
SEGMENT: CXTREE140 - RELEASE: TPF4 (No Release)
SEGMENT: CXTREE240 - RELEASE: TPF4 (No Release)
SEGMENT: CXTYPE40 - RELEASE: TPF4 (No Release)
SEGMENT: CXUTIL140 - RELEASE: TPF4 (No Release)
SEGMENT: CXUTIL240 - RELEASE: TPF4 (No Release)
SEGMENT: CXXPEXPR40 - RELEASE: TPF4 (No Release)
SEGMENT: CXXXSYMB40 - RELEASE: TPF4 (No Release)
SEGMENT: CZ1SE40 - RELEASE: TPF4 (Macro)
SEGMENT: EDCNAPI440 - RELEASE: TPF4 (No Release)
SEGMENT: EDCNCUS40 - RELEASE: TPF4 (No Release)
SEGMENT: EDCNCUSN40 - RELEASE: TPF4 (No Release)
SEGMENT: EQA0SXUT40 - RELEASE: TPF4 (No Release)
SEGMENT: EQA0SXU140 - RELEASE: TPF4 (No Release)
SEGMENT: GENSIP40 - RELEASE: TPF4 (Macro)
SEGMENT: I$SYML40 - RELEASE: TPF4 (C++Header)
SEGMENT: I$TSOB40 - RELEASE: TPF4 (C-Header)
SEGMENT: I$TSRC40 - RELEASE: TPF4 (C-Header)
SEGMENT: I$UDBG40 - RELEASE: TPF4 (C++Header)
SEGMENT: I$UDCL40 - RELEASE: TPF4 (C++Header)
SEGMENT: I$UDPR40 - RELEASE: TPF4 (C++Header)
SEGMENT: I$UDYC40 - RELEASE: TPF4 (C-Header)
SEGMENT: IBMPAL40 - RELEASE: TPF4 (Copy)
SEGMENT: IUDBG40 - RELEASE: TPF4 (Dsect)
SEGMENT: SPPGML40 - RELEASE: TPF4 (Macro)
SEGMENT: TLDRMN40 - RELEASE: TPF4 (C)
SEGMENT: TSYBLD40 - RELEASE: TPF4 (C)
SEGMENT: TSYDCD40 - RELEASE: TPF4 (C)
SEGMENT: TSYDIS40 - RELEASE: TPF4 (C)
SEGMENT: TSYDWF40 - RELEASE: TPF4 (C)
SEGMENT: TSYEVT40 - RELEASE: TPF4 (C)
SEGMENT: TSYGLB40 - RELEASE: TPF4 (C)
SEGMENT: TSYINI40 - RELEASE: TPF4 (C)
SEGMENT: TSYLKU40 - RELEASE: TPF4 (C)
SEGMENT: TSYLLS40 - RELEASE: TPF4 (C)
SEGMENT: TSYLST40 - RELEASE: TPF4 (C)
SEGMENT: TSYRCS40 - RELEASE: TPF4 (C)
SEGMENT: TSYSYM40 - RELEASE: TPF4 (C)
SEGMENT: UCST40 - RELEASE: TPF4 (Assembler)
SEGMENT: UGST40 - RELEASE: TPF4 (C++)
SEGMENT: UGSTBS40 - RELEASE: TPF4 (BuildScr)
SEGMENT: UGSTDC40 - RELEASE: TPF4 (C)
SEGMENT: UGSTRT40 - RELEASE: TPF4 (C)
SEGMENT: USOT40 - RELEASE: TPF4 (C++)
SEGMENT: USOTBS40 - RELEASE: TPF4 (BuildScr)
SEGMENT: USOTDC40 - RELEASE: TPF4 (C)
SEGMENT: USOTRT40 - RELEASE: TPF4 (C)
Pre-requisite APARs are:
FOR SEGMENT C$IDSPAT40 (C-Header) - REL TPF4
PJ15271 PJ17852 PJ20032 PJ21167
PJ22452 PJ21632 PJ24541PJ25084PJ25856PJ25981PJ26211PJ27422
FOR SEGMENT CDBG40 (No Release) - REL TPF4
PJ26600PJ26581PJ26815PJ26804PJ26824PJ26831PJ27009PJ27104PJ27237PJ27270PJ27398PJ27585PJ27578PJ27862PJ27824
FOR SEGMENT CDBGBS40 (No Release) - REL TPF4
PJ25798PJ25835PJ25982PJ25981PJ26008PJ26219PJ26481PJ26352PJ26468PJ26543PJ26600PJ26581PJ26815PJ26804PJ26824PJ26831PJ27009PJ27104PJ27237PJ27270PJ27383PJ27398PJ27585PJ27578PJ27824
FOR SEGMENT CDB340 (No Release) - REL TPF4
PJ26967PJ27009PJ27052PJ27261
FOR SEGMENT CDB3BS40 (No Release) - REL TPF4
PJ25632PJ25835PJ25982PJ26404PJ26866PJ26967PJ27009PJ27052PJ27261
FOR SEGMENT CELE40 (C) - REL TPF4
PJ13653 PJ16776 PJ19966 PJ20388
PJ20156 PJ21906 PJ25202PJ26849PJ27530
FOR SEGMENT CEXP40 (No Release) - REL TPF4
PJ27009PJ27286PJ27261PJ27585PJ27639PJ27578
FOR SEGMENT CEXPBS40 (No Release) - REL TPF4
PJ25632PJ25835PJ25982PJ26319PJ26866PJ27009PJ27286PJ27261PJ27585PJ27639PJ27578
FOR SEGMENT COLP40 (C) - REL TPF4
PJ13653 PJ15311 PJ17852 PJ19966
PJ21167 PJ20388 PJ21906
PJ21632 PJ25981PJ25801PJ26849PJ27422
FOR SEGMENT CPLX40 (No Release) - REL TPF4
PJ26600PJ26581PJ26667PJ26804PJ26923PJ27009PJ27266PJ27254PJ27335PJ27449PJ27578PJ27842
FOR SEGMENT CPLXBS40 (No Release) - REL TPF4
PJ25632PJ25798PJ25981PJ26008PJ26600PJ26581PJ26667PJ26804PJ26923PJ27009PJ27266PJ27254PJ27335PJ27449PJ27578
FOR SEGMENT CPRS40 (No Release) - REL TPF4
PJ27009PJ27261PJ27416
FOR SEGMENT CPRSBS40 (No Release) - REL TPF4
PJ25632PJ25835PJ25982PJ26008PJ27009PJ27261PJ27416
FOR SEGMENT CUDABS40 (BuildScr) - REL TPF4
PJ25981PJ27383
FOR SEGMENT CUDAMB40 (C++) - REL TPF4
PJ27383
FOR SEGMENT CUDAPV40 (C++) - REL TPF4
PJ27383PJ27422PJ27552
FOR SEGMENT CUDC40 (C++) - REL TPF4
PJ25981PJ26008PJ26787PJ26864PJ27093
FOR SEGMENT CUDD40 (C++) - REL TPF4
PJ25981PJ27342PJ27383
FOR SEGMENT CUDE40 (C++) - REL TPF4
PJ25981PJ26008PJ27009PJ27342
FOR SEGMENT CUDK40 (C++) - REL TPF4
PJ25981PJ27009PJ27383
FOR SEGMENT CUDN40 (C++) - REL TPF4
PJ27383PJ27612
FOR SEGMENT CUDR40 (Copy) - REL TPF4
PJ25981PJ26008PJ27383
FOR SEGMENT CUDU40 (Copy) - REL TPF4
PJ25981PJ26008PJ26600PJ26784PJ26923PJ26951PJ27383PJ27441PJ27563PJ27871
FOR SEGMENT CUD140 (C++) - REL TPF4
PJ25981PJ27383
FOR SEGMENT CUD240 (C++) - REL TPF4
PJ25981PJ26008PJ26600PJ26864PJ27009PJ27388PJ27383PJ27422
FOR SEGMENT CUD2BS40 (BuildScr) - REL TPF4
PJ25981
FOR SEGMENT CUD340 (C++) - REL TPF4
PJ25981PJ26503PJ26600PJ27009PJ27383
FOR SEGMENT CUD440 (C++) - REL TPF4
PJ25981PJ26008PJ26503PJ26600PJ26747PJ26864PJ27009PJ27388PJ27383PJ27422
FOR SEGMENT CUD540 (C++) - REL TPF4
PJ25981PJ26008PJ26507PJ26600PJ26747PJ27009PJ27102PJ27304PJ27383PJ27422PJ27441PJ27673
FOR SEGMENT CUD640 (C++) - REL TPF4
PJ25981PJ26008PJ26864PJ27047PJ27009PJ27383
FOR SEGMENT CUD740 (C++) - REL TPF4
PJ25981
FOR SEGMENT CUD840 (C++) - REL TPF4
PJ25981PJ27009PJ27635
FOR SEGMENT CUD940 (C++) - REL TPF4
PJ25981PJ27009
FOR SEGMENT CXLOAD40 (No Release) - REL TPF4
PJ27639PJ27578
FOR SEGMENT CXTREE140 (No Release) - REL TPF4
PJ27585
FOR SEGMENT CZ1SE40 (Macro) - REL TPF4
PJ13634 PJ13674 PJ14078 PJ13754
PJ14605 PJ14437 PJ14790
PJ15959 PJ17852 PJ19949 PJ21044
PJ21167 PJ21313 PJ21791
PJ21715 PJ17689 PJ22389 PJ23003
PJ23103 PJ22434 PJ23178
PJ23336 PJ23923 PJ24084 PJ24530PJ25084PJ25094PJ25323PJ25589PJ25760PJ25781PJ25780PJ25855PJ25981PJ26188PJ26575PJ26683PJ26713PJ26600PJ26686PJ26707PJ26427PJ26774PJ26580PJ26967PJ27023PJ26890PJ27079PJ26891PJ27387PJ27083PJ27268PJ27333PJ27393PJ27422PJ27469PJ27595PJ27617PJ27686PJ27784PJ27379
FOR SEGMENT GENSIP40 (Macro) - REL TPF4
PJ17852 PJ17912 PJ19750 PJ19878
PJ19966 PJ19938 PJ20279
PJ21601 PJ21791 PJ21953 PJ22099
PJ22169 PJ21907 PJ23128
PJ22434 PJ24431 PJ23329 PJ24323
PJ24530PJ25084PJ25094PJ25098PJ25545PJ25606PJ25781PJ25780PJ25817PJ25844PJ25981PJ26012PJ26122PJ26008PJ26575PJ26576PJ26683PJ26578PJ26707PJ27033PJ27048PJ27075PJ27291PJ27328PJ27333PJ27180PJ27469PJ27503PJ27530PJ27740PJ27960
FOR SEGMENT I$UDBG40 (C++Header) - REL TPF4
PJ25981PJ26008PJ26503PJ26600PJ26581PJ26714PJ26864PJ27047PJ27009PJ27388PJ27383
FOR SEGMENT I$UDCL40 (C++Header) - REL TPF4
PJ25981PJ26581PJ26714PJ27009PJ27342PJ27383PJ27422PJ27580
FOR SEGMENT IBMPAL40 (Copy) - REL TPF4
PJ13514 PJ13496 PJ13560 PJ14078
PJ14282 PJ14557 PJ14444
PJ14722 PJ14805 PJ14858 PJ13562
PJ14605 PJ15324 PJ14437
PJ15585 PJ16213 PJ15454 PJ16331
PJ17568 PJ14737 PJ14947
PJ17852 PJ17912 PJ17292 PJ15728
PJ19689 PJ19949 PJ19966
PJ19938 PJ19272 PJ19727 PJ21044
PJ20777 PJ21167 PJ20974
PJ21596 PJ21584 PJ21592 PJ21791
PJ20388 PJ22079 PJ21706
PJ22208 PJ17689 PJ21709 PJ22389
PJ22925 PJ21701 PJ22975
PJ22434 PJ23178 PJ23180 PJ22937
PJ23336 PJ22843 PJ23430
PJ23434 PJ23338 PJ21693 PJ23297
PJ21694 PJ21708 PJ24147
PJ23931 PJ23923 PJ24344 PJ24472
PJ23620 PJ24525PJ24530PJ24563PJ24626 PJ23984 PJ24845PJ24912PJ25084PJ25094PJ25098PJ25089PJ25158PJ25261PJ25277PJ25266PJ25207
PJ23981 PJ25075PJ25375PJ25379PJ25442PJ25425PJ25632PJ25444PJ25589PJ25703PJ25720PJ25684PJ25332PJ25760PJ25781PJ25780PJ25953PJ25982PJ25983PJ25981PJ26125PJ25880PJ26150PJ26187PJ26161PJ26188PJ26174PJ26350PJ26365PJ26366PJ26283PJ26384PJ26516PJ26468PJ26575PJ26577PJ26534PJ26685PJ26683PJ26713PJ26600PJ26581PJ26693PJ26686PJ26707PJ26782PJ26781PJ26864PJ26892PJ27023PJ27028 PJ21337 PJ26904PJ26890PJ27079PJ27095PJ27073PJ27197PJ27246PJ27305PJ27231PJ27277PJ27387PJ27383PJ27083PJ27268PJ27333PJ27214PJ27393PJ27422PJ27469PJ27430PJ27636PJ27491PJ27647PJ27484PJ27530PJ27627PJ27650PJ27617PJ27686PJ27634PJ27804PJ27784PJ27786PJ27847PJ27951PJ27863
FOR SEGMENT IUDBG40 (Dsect) - REL TPF4
PJ25981PJ26008PJ26600PJ27383
FOR SEGMENT SPPGML40 (Macro) - REL TPF4
PJ13509 PJ13579 PJ14357 PJ14282
PJ14858 PJ14605 PJ14437
PJ16213 PJ15454 PJ14737 PJ14947
PJ17852 PJ17912 PJ15728
PJ19734 PJ19949 PJ19966 PJ19938
PJ19866 PJ21121 PJ21044
PJ20777 PJ21167 PJ21596 PJ21584
PJ21592 PJ21791 PJ20388
PJ21953 PJ22079 PJ22088 PJ22098
PJ21706 PJ22170 PJ21709
PJ22389 PJ21452 PJ21906 PJ21701
PJ21705 PJ23148 PJ23128
PJ22434 PJ23178 PJ23180 PJ23318
PJ22937 PJ23312 PJ22843
PJ23430 PJ23434 PJ23338 PJ21693
PJ23297 PJ21694 PJ21708
PJ24035 PJ23931 PJ23923 PJ23922
PJ24344 PJ24025 PJ24472
PJ23620 PJ23526 PJ24525PJ24530PJ24563PJ24548PJ24622
PJ24468 PJ23984 PJ24771PJ24845PJ25084PJ25094PJ25098PJ25089PJ25158PJ25240PJ25277PJ25266PJ25207PJ25174
PJ23981 PJ25075PJ25375PJ25379PJ25491PJ25199PJ25425PJ25632PJ25614PJ25589PJ25703PJ25720PJ25332PJ25760PJ25763PJ25781PJ25780PJ25817PJ25982PJ25983PJ25981PJ26125PJ25880PJ26150PJ26187PJ26008PJ26156PJ26161PJ26188PJ26174PJ26270PJ26337PJ26374PJ26366PJ26283PJ25761PJ26515PJ26575PJ26577PJ26534PJ26683PJ26522PJ26713PJ26600PJ26581PJ26666PJ26693PJ26686PJ26809PJ26707PJ26864PJ26892PJ26746PJ26793PJ26841PJ26887PJ26967PJ27023PJ27028 PJ21337
PJ26904PJ26890PJ27079PJ26895PJ27156PJ27095PJ27197PJ27246PJ27305PJ27345PJ27231PJ27277PJ27351PJ27387PJ27328PJ27383PJ27083PJ27299PJ27302PJ27268PJ27333PJ27214PJ27393PJ27422PJ27180PJ27469PJ27094PJ27430PJ27636PJ27380PJ27491PJ27647PJ27714PJ27484PJ27530PJ27627PJ27650PJ27617PJ27686PJ27634PJ27804PJ27746PJ27784PJ27865PJ27894PJ27786PJ27847PJ27951PJ27863
FOR SEGMENT TLDRMN40 (C) - REL TPF4
PJ17852 PJ19966 PJ19655 PJ23447
PJ24845PJ26567PJ27422
To be applied in the order listed for each segment.
ABSTRACT OF PROBLEM
___________________
This APAR enhances the evaluation of symbolic data in two ways:
adding symbolic evaluation to the Assembler Debugger listing
view, and adding a global symbol evaluator to the Assembler and
C Debuggers.
COMMENTS ON PROBLEM
___________________
Prior to this APAR, the assembler debugger and the C debugger
had the following limitation:
o The assembler debugger user could only display expression in
the displacement/base format from the disassemble view.
o The C debugger could only display symbols that are defined
in the program, and
o The C debugger could not display ecbptr()->
because ecbprt() is a macro.
This APAR enhances the assembler and C debuggers to better
handle symbolic data.
o The Assembler Debugger symbolic expression evaluation
allows the user to enter expressions from the listing view
and have the result be displayed. These expressions can
consist of program symbols and constants.
o The global symbol evaluator for both C and assembler
debuggers allows the user to display areas of the TPF system
using predefined labels and structures as if they were
symbols defined in the current program that is being
debugged.
o Recognize ecbptr()-> and ecbpt()-> as
valid expression from the C debugger.
SOLUTION
________
Code has been added to the Assembler Debugger, both Real-Time
and Control Program, and a new post-processor for the SYSADATA
file called TPFSYM has been created to provide the symbolic
expression evaluation support.
TPFSYM, replacing TPFDBG, reads the SYSADATA file that is gener-
ated by the Assembler, builds the listing view and extracts the
symbol information to build a DWARF compliant symbol table
(ADATA file) to be loaded to TPF. The assembler debugger look
up the symbol table to resolve symbolic expressions.
Two alternative methods can be used to load the ADATA files to
TPF: with PJ27422 applied, ADATA files can be loaded to the TPF
system as part of either the OLDR or TLDR processing for E-type
programs, or FTP, in binary mode, can be used to transfer the
ADATA files to the TPF File System.
To reduce the amount of storage used for the symbol table, a
common symbol table (UCST) user exit is created to allow users
define symbols that are considered common to real-time assem-
bler programs. This user exit eliminates the need for multiple
copies of these commonly used symbols. The ADATA file that is
generated from TPFSYM for the UCST user exit should be used as
the exclusion file input to TPFSYM when generating ADATA files
for assembler programs to remove the appropriate debug informa-
tion.
Symbolic expression evaluation support for the assembler
debugger is available to the program monitor, the storage
monitor, the address change breakpoint, and the local variable
window.
Also, code was added to the C and Assembler Debuggers to provide
global symbol evaluation support.
Global symbols are defined in one of three tables: User Symbol
Override Table (USOT), User Global Symbol Table (UGST) and IBM
defined global symbol table (CGST). Global symbols are resolved
by a predefined resolving function.
The IBM shipped global symbol table provides entries that allow
the user to display all DECBs or a particular DECB by name.
The UGST User Exit provides the user with a way to include their
own entries to define specific labels and how they are to be
resolved when referenced during a debugging session. The UGST
user exit provides the infrastructure to handle the passing of a
parameter from the SUI to the resolving function.
The User Symbol Override Table (USOT) user exit, contains
symbols that are used to override symbol definitions in the
local symbol table (generated by TPFSYM) or the common symbol
table (UCST user exit). For example, you can define symbol D0
in the USOT as a pointer to the storage block on data level 0 to
override the definition in DSECT CPSEQ, which simply has a
scalar value of 0.
The order of searching all of these various tables is, starting
with the first table, the user symbol override table (USOT), the
local symbol table for the assembler program,the common symbol
table (UCST), the user global symbol table (UGST), and the
IBM-defined global symbol table.
Code has been added to the C Debugger to support expressions
containing the "ecbptr()->". Now, the user can enter
ecbptr()->ce1cr0 to get the address of the core block that is
associated with data level 0.
Please refer to the TPF Migration Guide for more detailed
description of all the changes.
DEPENDENCIES
____________
Related Segments Affected By This APAR.
_______________________________________
Segments to be assembled or compiled:
cuda.cpp ccvage.asm
Segments to be link edited:
CPS0, TPFLDR
Load Modules to be loaded:
CDWF, CTLF, UCST.ADATA (run TPFSYM to cretae the ADATA file)
Migration Considerations
========================
Here's some notes to address some nontraditional TPF APAR packaging
method used for this APAR:
LIBELF/LIBDWARF (used off line by TPFSYM) and CTLF/CDWF (used online
by the Assembler Debugger) are libraries that are ported under the
GNU Lesser General Public Licence. The library will be shipped as DLL, and source
code will be available in a separate tar file.
TPFSYM is shipped as a load module. The source for TPFSYM is available
but requires the following GNU Lesser General Public Licence header files to compile.
-libdwarf.h
-libelf.h
-elf_repl.h
-libelf/byteswap.h
-libelf/config.h
-libelf/elf_repl.h
-libelf/errors.h
-libelf/ext_types.h
-libelf/libelf.h
-libelf/ntlist.h
-libelf/private.h
-libelf/sys_elf.h
-private.h
-sys_elf.h
Several members of CUDA (cudasm.cpp cudalx.cpp cudayc.cpp, cudapv.cpp
cudd.cpp and cude.cpp) need to compile with the header files listed
above, so the OBJ files are shipped in addition to the source files.
Program cgstdc.c, usotdc.c and ugstdc.c, where global symbols are
declared, need to be compile with NORENT,NODLL,TEST(SYM) to generate
symbol information for the C debugger to resolve global symbols.
After assemble the common symbol table program (ucst.asm), run TPFSYM
to generate ucst.ADATA and use it as the exclusion file to generate
symbol tables for other assembler program.
-- END APAR PJ27905