APAR status
Closed as program error.
Error description
An application compiled with XL C/C++ for AIX, V16.1 using IPA/PDF when run on the C++ Runtime for AIX, V17.1.1.1 PTF may lead to a coredump. This APAR is being used to mark the previous XL C/C++ for AIX, V17.1.1.1 PTF as a PE PTF.
Local fix
N/a
Problem summary
USERS AFFECTED: Users whose applications are built by XLC/C++ V16.1 for AIX xlclang++ compiler and running against the XL Open V17.1.1.1 C++ runtime and make use of C++ exception handling, and either specify '#pragma execution_frequency' in conjunction with an optimization option or are compiled with -qpdf2 in conjunction with an optimization option may be affected by this issue. PROBLEM DESCRIPTION: The V17.1.1.1 C++ runtime's personality routine for V16.1 xlclang++ compiler generated applications uses the stack to pass the exception object to the landing pad. The landing pad retrieves the exception object with a call to the runtime function __xlc_exception_handle(). The implementation incorrectly assumes that __xlc_exception_handle() should go up one stack frame to get to the stack frame of the caller of __xlc_exception_handle(), which is supposedly the stack frame of the function containing the landing pad. However, this does not always work, e.g., the xlclang++ compiler generates a wrapper of __xlc_exception_handle() and calls the wrapper from the landing pad for optimization purposes.
Problem conclusion
This problem is pervasive and should be fixed. This APAR is being used to mark the previous V17.1.1.1 PTF as a PE PTF. Since this is a problem in the XL Open V17.1.1 C++ runtime that affects the binary compatibility with XLC/C++ V16.1 compiled applications, the fix is in the XL Open V17.1.1 C++ runtime not in XLC/C++ V16.1 compiler or runtime.
Temporary fix
Comments
APAR Information
APAR number
IJ45426
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
H11
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-02-15
Closed date
2023-02-27
Last modified date
2023-02-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL C/C++ FOR AI
Fixed component ID
5725C7200
Applicable component levels
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"H11","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
27 February 2023