IBM Support

IV81787: -QIPA=LEVEL=0 AFFECTING BINARY EXECUTION

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • When compiling with -qipa=level=0, the resulting binary leads to
    a segfault.
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Potentially anyone using global symbols and declare them const
    in one function/file and non-const in another function/file can
    be affected by this issue.
    
    PROBLEM DESCRIPTION:
    Const means 'This function or this file will not modify it.'
    Other functions or files might modify it.
    Therefore, it is valid and recommended to declare the const
    attribute for globals on a per function/file basis, which means
    we might get mix.
    When IPA tries to resolve the def and refs of global symbol
    before partitioning, we would make the final symbol const if
    any of the def/refs were const.
    This was incorrect, because the function/files that do modify
    it are now 'in error'.
    

Problem conclusion

  • When resolving global def/refs, if any of them have the
    non-const attribute, the final symbol should be non-const too.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV81787

  • Reported component name

    XL C FOR AIX

  • Reported component ID

    5725C7100

  • Reported release

    D10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-02-24

  • Closed date

    2016-02-24

  • Last modified date

    2016-02-24

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

    IV75188

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

Fix information

  • Fixed component name

    XL C FOR AIX

  • Fixed component ID

    5725C7100

Applicable component levels

  • RD10 PSY

       



Document information

More support for: XL C for AIX
Compiler

Software version: 13.1

Reference #: IV81787

Modified date: 24 February 2016