Skip to main content

TPF : Support : Maintenance TPF : Support : Maintenance

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

APAR NUMBER:  PJ29782                           
PRODUCT:  TPF4  
FUNCTIONAL AREA:  ISO-C SUPPORT  
SHIPPED IN PUT:  19  
   

ABSTRACT:  
This APAR provides support for the alloca() function on TPF.  
   
APAR CONTENTS:  
FEATURE   TYPE                STATUS    NAME                                
Base      CHeader             Changed   include/stdlib.h  
Base      DataMacro           Changed   macro/idscid.mac  
Base      DataMacro           Changed   macro/idstca.mac  
Base      Assembler           Changed   source/cp/base/ccuext.asm  
Base      Copy                Changed   source/cp/base/cis140.cpy  
Base      Copy                Changed   source/cp/base/cis240.cpy  
Base      Assembler           Changed   source/rt/base/clmint.asm  
   
PREREQUISITE APARS:  To be applied in order listed.  
Base      CHeader             Changed   include/stdlib.h  
 PJ26125(10)  PJ26174(10)  PJ26384(11)  PJ27277(13)  PJ27367(14)  
 PJ27627(14)  PJ29593(19)  PJ29630(19)  
Base      DataMacro           Changed   macro/idscid.mac  
 PJ25632(09)  PJ25981(10)  PJ21337(12)  
Base      DataMacro           Changed   macro/idstca.mac  
 PJ26967(12)  PJ27275(13)  
Base      Assembler           Changed   source/cp/base/ccuext.asm  
 PJ25807(10)  PJ27019(13)  PJ27525(14)  PJ27530(14)  PJ28649(17)  
Base      Copy                Changed   source/cp/base/cis140.cpy  
 PJ25632(09)  PJ25981(10)  
Base      Copy                Changed   source/cp/base/cis240.cpy  
 PJ25632(09)  PJ25459(09)  PJ25948(10)  PJ26312(11)  
 PJ28649(17)  
Base      Assembler           Changed   source/rt/base/clmint.asm  
 PJ25425(09)  PJ25632(09)  PJ25696(10)  PJ25807(10)  
 PJ25983(10)  
 PJ25981(10)  PJ26008(10)  PJ26575(11)  PJ26804(12)  
 PJ26967(12)  
 PJ21337(12)  PJ27252(13)  PJ27277(13)  PJ27383(13)  PJ27440(14)  
 PJ27557(14)  PJ27563(14)  PJ27977(15)  PJ28235(16)  PJ28649(17)  
 PJ28765(17)  PJ28943(17)  PJ29121(18)  PJ29299(18)  
   

COMMENTS:  
The alloca() function is a C/C++ function that obtains memory from the  
stack. There is no need to issue a corresponding free() function  
because the memory is freed when the stack frame is popped.  
   

SOLUTION:  
Preprocessor macro code was added to the stdlib.h header file to enable  
the alloca() function to run as a built-in function when called by a  
C/C++ program. Changes were made to macros IDSCID and IDSTCA, assembler  
segment CLMINT, control program copy segments CIS1 and CIS2, and  
control program CSECT CCUEXT to support a stack overflow routine for  
the alloca() function. If storage on the stack is not available when  
the alloca() function is called, the new stack overflow routine will be  
called to obtain the storage.  
   
   
DEPENDENCIES  
   

SEGMENTS TO BE ASSEMBLED OR COMPILED:  
CCISOC  
   

SEGMENTS TO BE LINK EDITED:  
ciso40.exe (Shipped in Tar File)  
cps040.exe  
   
COREQS:  
None.  
   

MIGRATION CONSIDERATIONS:  
None.  
   
UPDATED INFORMATION UNITS:  
TPF C/C++ Language Support User's Guide  
   
See your IBM representative if you need additional information.  
   
DOWNLOAD INSTRUCTIONS:  
http://www.ibm.com/software/htp/tpf/pages/maint.htm
   
-- END APAR PJ29782 
       



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