IBM Support

PH48669: UNEXPECTED BEHAVIOR WHEN CHECKING RETURN-CODE SPECIAL REGISTER UPON RETURN FROM CALLED ASSEMBLER PROGRAM

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a called assembler program returns to the COBOL caller, an
    incorrect code path may be taken when the calling routine checks
    the Return-Code Special Register.  When the COBOL program is
    compiled with OPT(2), an incorrect length may used in the
    comparison for Return-Code Special Register.
    

Local fix

  • BYPASS/CIRCUMVENTION:
    Compile the calling program with OPT(0).  Called assembler
    program should also ensure a valid value in reg15 upon return to
    the calling COBOL program.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.4 compiling and  *
    *                 running programs with the OPT(1|2) option in *
    *                 effect and the program contains a CALL       *
    *                 statement and one of the following is true:  *
    *                                                              *
    *                 1) the program contains a reference to the   *
    *                 RETURN-CODE special register after the CALL  *
    *                 statement; OR                                *
    *                                                              *
    *                 2) the CALL statement contains a RETURNING   *
    *                 phrase and the returned value receiver data  *
    *                 item is a 2-byte binary numeric item (i.e.,  *
    *                 usage COMP/COMP-4/COMP-5/BINARY) and the     *
    *                 program contains a reference to that         *
    *                 returned value after the CALL statement      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect run time result.              *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM-provided PTF.                  *
    ****************************************************************
    The COBOL compiler optimizer could, under certain circumstances,
    mishandle the RETURN-CODE special register or a 2-byte binary
    numeric returned value leading to an incorrect result.
    

Problem conclusion

  • The COBOL compiler was updated to ensure that program
    optimization does not lead to incorrect handling of the
    RETURN-CODE special register and 2-byte binary numeric returned
    values.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH48669

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-08-12

  • Closed date

    2022-08-18

  • Last modified date

    2022-11-01

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

    PH44015

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

Modules/Macros

  • IGY8RWTU IGYADXIT 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 IGYCJBLD IGYCJBLS IGYCJDM1 IGYCJDM2
    IGYCJDM3 IGYCJDM4 IGYCJDM5 IGYCJDM6 IGYCJDMB IGYCJDMR IGYCJGEN
    IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8
    IGYCMALL IGYCOPI  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 IGYISMKD IGYMSGE  IGYMSGK  IGYMSGT  IGYMSGXT
    IGYQC    IGYQCB   IGYQCBE  IGYQCBG  IGYQSPLT IGYWACPT IGYWALOC
    IGYWAPLY IGYWC    IGYWCL   IGYWCLG  IGYWDDEF IGYWDOPT IGYWIVP1
    IGYWIVP2 IGYWRECV IGYWRWD  IGYWSMPE IGYWUOPT IGYWZFS  IGYZQEN6
    IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R640 PSY UP

       A

  • R641 PSY UP

       A

  • R642 PSY UI82932

       UP22/10/28 P F210

  • R64H PSY UP

       A

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"640","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023