Skip to main content

TPF : Support : Maintenance TPF : Support : Maintenance

Skip to: Abstract | Comments | Solution | Migration | Download

APAR NUMBER:  PJ29963                         
PRODUCT:  TPF4
FUNCTIONAL AREA:  ISO-C SUPPORT
SHIPPED IN PUT:  21
 

ABSTRACT:
TPF support for the z/OS 1.8 compiler
 
APAR CONTENTS:
FEATURE   TYPE                STATUS    NAME                              
Base      CHeader             Changed   include/c$an0nt.h
Base      CHeader             Changed   include/c$bk0lc.h
Base      CHeader             Changed   include/c$bl0rp.h
Base      CHeader             Changed   include/c$ccw1.h
Base      CHeader             Changed   include/c$cfdl.h
Base      CHeader             Changed   include/c$cflp.h
Base      CHeader             Changed   include/c$cflr.h
Base      CHeader             Changed   include/c$cflt.h
Base      CHeader             Changed   include/c$cflv.h
Base      CHeader             Changed   include/c$ck9k.h
Base      CHeader             Changed   include/c$cy1k.h
Base      CHeader             Changed   include/c$dbrm.h
Base      CHeader             Changed   include/c$decb.h
Base      CHeader             Changed   include/c$icdc.h
Base      CHeader             Changed   include/c$idsfrp.h
Base      CHeader             Changed   include/c$ifdo.h
Base      CHeader             Changed   include/c$ilvl.h
Base      CHeader             Changed   include/c$ipbt.h
Base      CHeader             Changed   include/c$irc1df.h
Base      CHeader             Changed   include/c$isclnt.h
Base      CHeader             Changed   include/c$isiucv.h
Base      CHeader             Changed   include/c$itrtbl.h
Base      CHeader             Changed   include/c$miob.h
Base      CHeader             Changed   include/c$mk0ck.h
Base      CPPHeader           Changed   include/c$mqdc.h
Base      CHeader             Changed   include/c$ms0ut.h
Base      CHeader             Changed   include/c$prml.h
Base      CHeader             Changed   include/c$recoup.h
Base      CHeader             Changed   include/c$rhtb.h
Base      CHeader             Changed   include/c$sonf.h
Base      CHeader             Changed   include/c$srck1p.h
Base      CHeader             Changed   include/c$srhh1p.h
Base      CHeader             Changed   include/c$std8.h
Base      CHeader             Changed   include/c$stdhd.h
Base      CHeader             Changed   include/c$tdat.h
Base      CHeader             Changed   include/c$tgdt.h
Base      CHeader             Changed   include/c$to2.h
Base      CHeader             Changed   include/c$to2b.h
Base      CHeader             Changed   include/c$tpxd.h
Base      CHeader             Changed   include/i$decb.h
Base      CHeader             Changed   include/i$filt.h
Base      CHeader             Changed   include/i$grp.h
Base      CHeader             Changed   include/i$mqrt.h
Base      CHeader             Changed   include/i$node.h
Base      CHeader             Changed   include/i$nsdb.h
Base      CHeader             Changed   include/i$ps.h
Base      CHeader             Changed   include/i$rccr.h
Base      CHeader             Changed   include/i$snmp.h
Base      CHeader             Changed   include/plfapi.h
Base      CHeader             Changed   include/tpf/c_irc0df.h
Base      CPPHeader           New       include/tpf/c_terminate.hpp
Base      CHeader             Changed   include/tpfapi.h
Base      CHeader             Changed   include/tpfio.h
Base      CHeader             Changed   include/tpfmcsll.h
Base      CHeader             Changed   include/tpftape.h
Base      C                   Changed   source/rt/base/caormg.c
Base      C                   Changed   source/rt/base/ceatad.c
Base      C                   Changed   source/rt/base/cleo.c
Base      C                   Changed   source/rt/base/crlr.c
Base      CPP                 Changed   source/rt/base/cuscpf.cpp
 
PREREQUISITE APARS:  To be applied in order listed.
Base      CHeader             Changed   include/c$an0nt.h
 PJ25780(09)  PJ26943(12)  PJ28617(17)  
Base      CHeader             Changed   include/c$bk0lc.h
 PJ27804(14)  
Base      CHeader             Changed   include/c$bl0rp.h
 PJ27469(13)  PJ27804(14)  PJ28097(15)  
Base      CHeader             Changed   include/c$ccw1.h
 PJ25412(09)  
Base      CHeader             Changed   include/c$cfdl.h
 PJ26707(11)  PJ26946(12)  PJ27638(14)  
Base      CHeader             Changed   include/c$cflp.h
 PJ26707(11)  PJ26946(12)  PJ27302(13)  PJ27638(14)    
 PJ28097(15)  PJ29738(19)  PJ29785(19)  
Base      CHeader             Changed   include/c$cflr.h
 PJ26707(11)  PJ26946(12)  PJ27638(14)  
Base      CHeader             Changed   include/c$cflt.h
 PJ26707(11)  PJ26946(12)  PJ27638(14)  
Base      CHeader             Changed   include/c$cflv.h
 PJ26707(11)  PJ26946(12)  PJ27638(14)  
Base      CHeader             Changed   include/c$ck9k.h
 PJ25445(09)  PJ30850(20)  
Base      CHeader             Changed   include/c$cy1k.h
 PJ27686(14)  PJ28097(15)  PJ29213(18)  
Base      CHeader             Changed   include/c$decb.h
 PJ27393(13)  PJ27479(14)  PJ29160(18)  PJ29024(18)  
Base      CHeader             Changed   include/c$icdc.h
 PJ27095(12)  PJ28097(15)  PJ29925(19)  PJ30137(19)    
 PJ30215(20)  PJ30233(20)  PJ30465(20)  PJ30503(20)  PJ30701(20)  
 PJ30589(20)  PJ30610(20)  PJ30946(20)  PJ31004(20)    
 PJ31144(21)  PJ31207(21)  
Base      CHeader             Changed   include/c$ilvl.h
 PJ28870(17)  
Base      CHeader             Changed   include/c$ipbt.h
 PJ25589(09)  PJ27023(12)  
Base      CHeader             Changed   include/c$irc1df.h
 PJ29925(19)  PJ30701(20)  PJ31004(20)  
Base      CHeader             Changed   include/c$isclnt.h
 PJ25632(09)  PJ26575(11)  PJ26346(12)  PJ27379(15)    
 
 PJ29024(18)  
Base      CHeader             Changed   include/c$isiucv.h
 PJ27479(14)  
Base      CHeader             Changed   include/c$itrtbl.h
 PJ26161(10)  
Base      CHeader             Changed   include/c$miob.h
 PJ26707(11)  PJ27479(14)  PJ28097(15)  PJ27902(17)    
 PJ28416(17)  PJ28712(18)  PJ28789(19)  PJ29785(19)  PJ29675(19)  
 PJ29997(19)  PJ30390(20)  PJ30140(20)  PJ30850(20)  PJ31317(21)  
Base      CPPHeader           Changed   include/c$mqdc.h
 PJ25780(09)  PJ27023(12)  PJ28435(16)  PJ29833(19)    
 PJ29925(19)  PJ30465(20)  
Base      CHeader             Changed   include/c$ms0ut.h
 PJ26146(10)  PJ27110(13)  PJ29213(18)  
Base      CHeader             Changed   include/c$prml.h
 PJ27469(13)  PJ28097(15)  
Base      CHeader             Changed   include/c$recoup.h
 PJ27469(13)  PJ28668(17)  PJ30754(20)  
Base      CHeader             Changed   include/c$rhtb.h
 PJ27479(14)  PJ28097(15)  
Base      CHeader             Changed   include/c$sonf.h
 PJ25199(09)  PJ25692(09)  PJ25859(10)  PJ26707(11)  
   
 PJ28097(15)  PJ29024(18)  PJ29776(19)  PJ30839(20)  
Base      CHeader             Changed   include/c$srck1p.h
 PJ27469(13)  PJ28097(15)  
Base      CHeader             Changed   include/c$srhh1p.h
 PJ27469(13)  
Base      CHeader             Changed   include/c$std8.h
 PJ28097(15)  PJ29213(18)  
Base      CHeader             Changed   include/c$stdhd.h
 PJ26781(12)  PJ29213(18)  
Base      CHeader             Changed   include/c$tdat.h
 PJ25412(09)  
Base      CHeader             Changed   include/c$tgdt.h
 PJ25412(09)  
Base      CHeader             Changed   include/c$to2.h
 PJ25524(09)  PJ25332(09)  PJ25994(10)  PJ26143(10)  
   
 PJ26139(11)  PJ26522(11)  PJ26714(12)  PJ26887(12)  
 PJ27390(14)  
 PJ27380(14)  PJ28097(15)  PJ28140(16)  PJ29059(19)  
Base      CHeader             Changed   include/c$to2b.h
 PJ26522(11)  PJ26887(12)  PJ27479(14)  PJ27380(14)    
 PJ28097(15)  PJ28386(16)  PJ28511(16)  PJ28688(17)  PJ28943(17)  
Base      CHeader             Changed   include/c$tpxd.h
 PJ25412(09)  PJ26139(11)  
Base      CHeader             Changed   include/i$decb.h
 PJ27393(13)  PJ27774(15)  
Base      CHeader             Changed   include/i$filt.h
 PJ28213(16)  
Base      CHeader             Changed   include/i$grp.h
 PJ27469(13)  PJ27606(14)  
Base      CHeader             Changed   include/i$mqrt.h
 PJ27023(12)  PJ27925(15)  PJ27785(15)  PJ28464(17)    
 PJ28867(17)  PJ29024(18)  PJ28557(19)  
Base      CHeader             Changed   include/i$node.h
 PJ25589(09)  PJ27214(13)  PJ28724(17)  PJ29083(18)    
 PJ29317(18)  PJ29352(18)  
Base      CHeader             Changed   include/i$nsdb.h
 PJ28195(16)  PJ28493(17)  PJ28726(17)  PJ28901(18)  
Base      CHeader             Changed   include/i$ps.h
 PJ27277(13)  
Base      CHeader             Changed   include/i$rccr.h
 PJ28097(15)  
Base      CHeader             Changed   include/i$snmp.h
 PJ27932(15)  
Base      CHeader             Changed   include/plfapi.h
 PJ27272(13)  PJ29504(19)  PJ30372(20)  
Base      CHeader             Changed   include/tpf/c_irc0df.h
 PJ30701(20)  PJ30610(20)  PJ31004(20)  
Base      CHeader             Changed   include/tpfapi.h
 PJ25632(09)  PJ25780(09)  PJ26161(10)  PJ26100(11)  
   
 PJ26707(11)  PJ26820(12)  PJ26901(12)  PJ26873(12)  
 PJ26767(13)  
 PJ27387(13)  PJ27393(13)  PJ27835(15)  PJ28097(15)    
 PJ27785(15)  PJ28491(17)  PJ28654(17)  PJ28810(17)  PJ28129(17)  
 PJ29396(18)  PJ29024(18)  PJ29526(19)  PJ29849(19)    
 PJ29974(19)  PJ29980(19)  PJ30355(20)  PJ30156(20)  PJ30839(20)  
 PJ31254(21)  PJ31058(21)  
Base      CHeader             Changed   include/tpfio.h
 PJ26714(12)  PJ27393(13)  PJ29024(18)  PJ30839(20)    
 PJ31058(21)  
Base      CHeader             Changed   include/tpftape.h
 PJ25412(09)  PJ26139(11)  PJ26714(12)  PJ28411(16)    
 
 PJ29160(18)  PJ29024(18)  PJ29716(19)  PJ29756(19)  PJ30839(20)  
 PJ31058(21)  
Base      C                   Changed   source/rt/base/caormg.c
 PJ29118(18)  PJ29600(19)  
Base      CPP                 Changed   source/rt/base/cuscpf.cpp
 PJ25780(09)  PJ26156(10)  PJ27023(12)  PJ27177(13)    
 
 PJ27375(13)  PJ27351(13)  PJ27274(14)  PJ27572(14)  PJ27779(15)  
 PJ28126(15)  PJ28136(15)  PJ28435(16)  PJ28758(17)    
 PJ28954(17)  PJ29032(17)  PJ29214(18)  PJ29437(18)  PJ29016(18)  
 PJ29024(18)  PJ29917(19)  PJ29920(19)  PJ30556(20)    
 PJ31240(21)  PJ30620(21)  PJ31393(21)  
 
COMMENTS:
TPF changes required to support the z/OS 1.8 compiler
 

SOLUTION:
Changed all #pragma pack(packed) statements in TPF code to
#pragma pack(1). For #pragma pack(packed), the z/OS 1.8
compiler issues an informational message saying that support
may be dropped in a future z/OS compiler release, and that the
statement should be replaced with #pragma pack(1). 

 Increased the size of certain declared arrays in the
./rt/base/caormg.c, ./rt/base/cleo.c, and ./rt/base/crlr.c
segments and in the ./include/i$ps.h header by one array
element because code may reference or store beyond the end of
the array.

 Changed the initialization of the tmpDispBuf array in the
./rt/base/cuscpf.cpp segment from = {}; to = "" to avoid a
compiler warning message. 

 Changed code in ./rt/base/ceatad.c to eliminate a compiler
warning and also added detailed maintenance comments to explain
how fields are laid out in the structures when dereferencing. 

 Created the ./include/tpf/c_terminate.hpp header as a
permanent workaround for an unresolved reference warning
message caused by the z/OS 1.8 prelinker/linkage editor and by
any future z/OS prelinker/linkage editors.
 
 

DEPENDENCIES
 
SEGMENTS TO BE ASSEMBLED OR COMPILED:
source/rt/base/caormg.c
source/rt/base/cleo.c
source/rt/base/crlr.c
source/rt/base/cuscpf.cpp
source/rt/base/cps01.c
source/rt/base/cps02.c
source/rt/base/cps03.c
source/rt/base/ceatad.c
 
SEGMENTS TO BE LINK EDITED:
cela40.exe (Shipped in Tar File)
cfjp40.exe (Shipped in Tar File)
clee40.exe (Shipped in Tar File)
clef40.exe (Shipped in Tar File)
cmqs40.exe (Shipped in Tar File)
colm40.exe (Shipped in Tar File)
comx40.exe (Shipped in Tar File)
 
COREQS:
None.
 

MIGRATION CONSIDERATIONS:
A future release of the z/OS compiler may drop support for 
#pragma pack(packed). The equivalent is #pragma pack(1). Users 
should change #pragma pack(packed) to #pragma pack(1) in their 
code. Note that GCC for z/TPF supports #pragma pack(1).
 TPFDF APAR PK34634 makes corresponding changes to the TPF 4.1 
product for #pragma pack(packed).However, that APAR does not 
need to be installed at the same time as this APAR. 

If TPF 4.1 users receive the pre-linker/linkage editor warning 
message "WARNING EDC4015: Unresolved references are detected: 
std::terminate()" when compiling and linking a C++ program, 
they should include the ./include/tpf/c_terminate.hpp header in 
their C++ program as follows:
 #ifdef __370__ 
   #include <tpf/c_terminate.hpp>  
 #endif
Note that the ./include/tpf/c_terminate.hpp header is not 
needed for GCC and z/TPF, and this header does not exist in 
z/TPF.
 
UPDATED INFORMATION UNITS:
TPF Migration Guide: Program Update Tapes
 
See your IBM representative if you need additional information.
 

DOWNLOAD INSTRUCTIONS:
http://www.ibm.com/software/htp/tpf/pages/maint.htm

 
-- END APAR PJ29963
      



Download file(s): Login once to access server, leave window open, then click on link(s) below. Listing Binary Source