Fixes are available
APAR status
Closed as program error.
Error description
When compiling an application with the -qarch=pwr7 compile option, and enabling optimization level -O2 or -O3, the generated .machine pseudo-op incorrectly reads 'pwr6' instead of 'pwr7'.
Local fix
Optimization levels -O0, -O4 and -O5 output the correct .machine tag.
Problem summary
PROBLEM DESCRIPTION: The .machine tag generated in an output object file depends on the highest processor architecture level instruction generated by the compiler, not necessarily the -qarch setting. For example, it is possible that compiling with -qarch=pwr7 may only generate POWER6-level instructions, which would cause a .machine tag of 'pwr6' to be output. An issue exists where an inline ASM or mc_func block could contain a higher level instruction than generated by the compiler, resulting in an incorrect .machine tag. USERS AFFECTED: Applications that depend on the .machine tag in an object file. Users of -qarch.
Problem conclusion
The compiler was modified to force the .machine tag to match the -qarch setting if an inline ASM or mc_func block is detected.
Temporary fix
Comments
APAR Information
APAR number
LI77058
Reported component name
XL C/C++ FOR LI
Reported component ID
5724X1400
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-10-10
Closed date
2012-10-10
Last modified date
2012-10-10
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 LI
Fixed component ID
5724X1400
Applicable component levels
RB10 PSN IV19669
UP06/09/13
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B10","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
14 October 2021