A fix is available
APAR status
Closed as program error.
Error description
An application encounters a runtime signal 11 when calling an inline class method/function that uses a non-virtual thunk (function descriptor stored in the TOC). Moving the method out of the class to be non-inline avoids the problem. The inline method could look like: ================================================================ class A : public B { ... virtual void mymethod() {} ================================================================ When the application runs, the signal 11 gives a stack trace that ends in: ================================================================ non-virtual thunk to A::mymethod() at 0x900000000bec8b0 ... ================================================================ The issue occurs when compiling with the -qminimaltoc option.
Local fix
Do not use -qminimaltoc
Problem summary
PROBLEM DESCRIPTION: The offset generated by the compiler for loading the thunk address from the TOC is not properly tagged as minimal toc, therefore the value is incorrect and a signal 11 occurs. USERS AFFECTED: Users of virtual functions with -qminimaltoc
Problem conclusion
The offset genreation was corrected.
Temporary fix
Comments
APAR Information
APAR number
IJ13078
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
G10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-01-29
Closed date
2019-03-20
Last modified date
2019-03-20
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
RG10 PSY
UP
[{"Line of Business":{"code":"LOB57","label":"Power"},"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":"G10"}]
Document Information
Modified date:
24 August 2021