IBM Support

PI68275: NON-PARAMETER BLL CELLS ARE NO LONGER INITIALLY NULL

A fix is available

Subscribe

You can track all active APARs for this component.

 

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 6.1 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

APAR Information

  • APAR number

    PI68275

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-29

  • Closed date

    2016-09-08

  • Last modified date

    2016-10-03

  • APAR is sysrouted FROM one or more of the following:

    PI61993

  • 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

    5655EC600

Applicable component levels

  • R610 PSY UI40709

       UP16/09/24 P F609

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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
05 September 2024