IBM Support

PH48029: INCORRECT LOADED NAB SIZE FOR 31-BIT CODE CALLING 64-BIT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In a 31-bit function calling a 64-bit function, the prolog
    appears to build an 8-byte/64-bit NAB (next available byte),
    because of the 64-bit function that will be called:
    
      ST    4,#NAB_1-@@AUTO@1+4(,13) // VALUE IS STORED IN +4 OFFSET
      MVHI  #NAB_1-@@AUTO@1(13),0    // AND THE REST OF THE NAB IS
                                           // ZEROED OUT
    
    When the NAB is used later in the code, only a 31-bit L load is
    used, which only loads the ZEROED OUT portion of the 64-bit NAB:
    
      L     15,#NAB_1
    
    This value may be used later and may result in an invalid store:
    
      LA    14,8(,15)   // LOADS '8' INTO GR14
      ...
      STY   4,-8(0,14)  // TRIES TO STORE TO '8' + '-8' , I.E. NULL
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of metal C compiling at 32bit with     *
    *                 a mixed amode call to a 64bit function       *
    *                 involving                                    *
    *                 variable length arrays and/or memory         *
    *                 allocated with                               *
    *                 alloca.                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: An abend will occur due to an           *
    *                      incorrect offset when attempting to     *
    *                      load from the NAB                       *
    ****************************************************************
    * RECOMMENDATION: install the PTF                              *
    ****************************************************************
    N/A
    

Problem conclusion

  • install the PTF
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH48029

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    7C0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-07-15

  • Closed date

    2022-08-05

  • Last modified date

    2022-10-03

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

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

Modules/Macros

  • CCNECICS CCNECWI  CCNED240 CCNEDSCT CCNEDWRT CCNEFILT CCNEHIFC
    CCNEIPA3 CCNEIPAO CCNEMDEP CCNEOPTP CCNEP    CCNEPP   CCNETBY
    CCNMSGE  CCNMSGT  CCNQIPA
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R7C0 PSY UI81828

       UP22/09/07 P F209

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSTLTF","label":"z\/OS XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
03 October 2022