IBM Support

PH63907: NEW FUNCTION: COMPILER OPTION LSACHECK (LINKAGE SECTION ADDRESS CHECK)

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • -
    

Local fix

  • -
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6 who want a      *
    *                 way to detect references to LINKAGE SECTION  *
    *                 data items that have not had addressability  *
    *                 set.  This is the "Zero Address" problem     *
    *                 that is also helped by the z/OS Zero Address *
    *                 Detection feature, but this COBOL feature    *
    *                 causes programs that reference LINKAGE       *
    *                 SECTION items with no addressability to      *
    *                 ABEND, you don't have to wait for the ZAD    *
    *                 report.  The COBOL feature is activated via  *
    *                 the new LSACHECK compiler option.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Some users find that they have programs *
    *                      that reference LINKAGE SECTION items    *
    *                      that have not had addressability set.   *
    *                      These programs can behave differently   *
    *                      when migrating to z/OS 2.5 or 3.1       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF and recompile         *
    *                 programs with the LSACHECK compiler option   *
    ****************************************************************
    There have been several reports of COBOL users getting different
    results from their applications after migrating to a new release
    of z/OS, either z/OS 2.5 or 3.1.  This is because these
    applications had programs referencing LINKAGE SECTION data items
    whose addressability had not been set.  These data items were
    referencing "low core" or addresses in the x'0000' to x'1000'
    range.  The data in those addresses has not changed in many
    years, but was changed starting with z/OS 2.5, which caused
    a change in behavior in some of these programs. There was no
    way to prevent such programs from making changes to databases or
    files, so COBOL is providing this solution.
    
    ZOS0203T/K ZOS0204T/K ZOS0205T/K ZOS0301T/K
    

Problem conclusion

Temporary fix

Comments

  • The LSACHECK compiler option is added to the COBOL compiler.
    This option will cause any references to LINKAGE SECTION items
    with no addressability established to ABEND with an S0C4.
    This feature has no effect on performance. While initialization
    code normally sets the BLLs (addresses for LINKAGE SECTION
    items) to zero, with LSACHECK the BLLs are set to x'7FFFF000'.
    This corresponds to a page in z/OS that has no storage backing
    it, so any reference to this page (read or write) will cause a
    0C4 ABEND.
    Properly written programs will not see any change (they also
    would not have had any difference in behavior when migrating to
    z/OS 2.5 or later) unless comparing the ADDRESS OF a LINKAGE
    SECTION item to NULL. For those cases, the code also needs to
    compare the address to x'7FFFF000'.
    
    There are COBOL Runtime APARs that improve upon
    LSACHECK feature by providing a new runtime message for
    ABENDs due to LSACHECK, to better explain the 0C4 ABEND.
    There is no dependency between the compiler LSACHECK APAR
    and the runtime message support for LSACHECK APAR.
    The run time APARs are:
    PH63898 for 31-bit/AMODE31
    PH63939 for 64-bit/AMODE64
    

APAR Information

  • APAR number

    PH63907

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2024-10-28

  • Closed date

    2024-11-21

  • Last modified date

    2025-01-02

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

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

    PH64491

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4
    IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT
    IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8
    IGYCJA$D IGYCJA$R IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2
    IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI  IGYCOPT  IGYCOSCN IGYCPGEN
    IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN IGYCSIMD
    IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8
    IGYCUE$D IGYCUE$R IGYCXREF IGYDRV   IGYEQCWI IGYMSGE  IGYMSGK
    IGYMSGT  IGYQCBE  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI99158

       UP24/12/03 P F412  

  • R631 PSY UI99159

       UP24/12/03 P F412  

  • R632 PSY UI99160

       UP24/12/03 P F412  

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"630","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
02 January 2025