Fixes are available
APAR status
Closed as program error.
Error description
When compiling with -O2 -qfuncsect and -qrtti, an incorrect linker relocation entry is generated for accessing the type_info/typeid class. Accessing the class may load incorrect memory, resulting in invalid typeid information or segmentation fault. Evidence of the incorrect relocation may look like: COMPILE LISTING: 445| 0000E8 lwz 807C000C L4A gr3=__type_infoXTi_(gr28,4) Original/correct offset -----^^^ LINKED BINARY: lwz r3,0xfc(r28) ^^^^-------- New/incorrect offset relocation
Local fix
Do not use -O2 or -qfuncsect
Problem summary
USERS AFFECTED: Users who compile C++ programs with typeinfo and funcsect support on AIX may be affected by this issue. PROBLEM DESCRIPTION: Unexpected behaviors like segfault or wrong outputs due to incorrect relocation when inlining some member function of typeinfo like name() may occur.
Problem conclusion
The fix is to take care of typeinfo special attributes when inlining.
Temporary fix
Comments
APAR Information
APAR number
IJ04374
Reported component name
XL C FOR AIX
Reported component ID
5725C7100
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-02-27
Closed date
2018-04-23
Last modified date
2018-04-23
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 FOR AIX
Fixed component ID
5725C7100
Applicable component levels
RC10 PSY
UP
[{"Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH2K","label":"XL C for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1"}]
Document Information
Modified date:
22 September 2021