A fix is available
APAR status
Closed as program error.
Error description
Under previous compilers, where the BLL cells were in the TGT, initialization of the TGT during the compile unit bootstrap process coincidentally set the BLL cells to NULL. This was not an intended outcome, but some programs came to depend on this behavior. A BLL (Base Locator for Linkage) cell is an implicit usage pointer field that supplies the address for a linkage section 01- or 77-level item which can be set via SET ADDRESS OF {linkage-item} statement if the linkage-item is not a parameter, or retrieved via an ADDRESS OF {linkage-item} expression. In compile units using IS RECURSIVE or the THREAD compiler option, BLL cells are implicit LOCAL-STORAGE items, otherwise implicit WORKING-STORAGE items.
Local fix
Use a "first time" switch to explicitly SET ADDRESS OF {linkage-item} TO NULL for all such uses.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 5.2 compiling and * * running programs that assume the address of * * LINKAGE SECTION items are initialized to * * NULL. (RECURSIVE programs and programs * * compiled with THREAD are not affected). * * * **************************************************************** * PROBLEM DESCRIPTION: Incorrect output, different run time * * behavior from previous COBOL versions: * * The address cells of LINKAGE SECTION * * items may contain random data before * * addressability of the items is * * established, leading to unpredictable * * behavior in programs that assume the * * address cells of LINKAGE SECTION items * * are initialized to NULL. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** In pre-V5 versions of the Enterprise COBOL compiler, the address cells of LINKAGE SECTION items in non-threaded and non-recursive programs were located in the TGT and a side effect of this was that they were always effectively initialized to NULL. In subsequent versions of the compiler, the LINKAGE SECTION address cells are located elsewhere and do not inherit this same initialization behavior.
Problem conclusion
The compiler was updated to ensure that the address of LINKAGE SECTION items in non-threaded and non-recursive programs is initialized to NULL to match the behavior of pre-V5 versions of the compiler.
Temporary fix
Comments
×**** PE16/09/14 PTF IN ERROR. SEE APAR PI69254 FOR DESCRIPTION
APAR Information
APAR number
PI61993
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
520
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-05-05
Closed date
2016-07-22
Last modified date
2016-09-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGYCRCTL
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R520 PSY UI39594
UP16/07/29 P F607
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
27 September 2016