Fixes are available
September 2012 Update for XL C/C++ for Linux, V12.1
April 2013 Update for XL C/C++ for Linux, V12.1
XL C/C++ for Linux Fix Pack 8 (October 2015 Update) for 12.1
December 2012 Update for XL C/C++ for Linux, V12.1
XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 5 (December 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 6 (February 2014 Update) for 12.1
XL C/C++ for Linux Fix Pack 7 (May 2014 Update) for 12.1
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
LI76990
Reported component name
XL C/C++ FOR LI
Reported component ID
5725C7300
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-08-28
Closed date
2012-08-28
Last modified date
2012-08-28
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
5725C7300
Applicable component levels
RC10 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":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
16 October 2021