APAR status
Closed as program error.
Error description
Source that makes use of inline assembly is hitting an error in the assembler due to invalid instruction syntax. === TEST CASE === extern __thread int x, *p; void mytest(void **fp) { __asm ("ori %0, 1, 0" : "=r" (*(&fp))); p = &x; } $ xlc -q64 -qtls -c tls.c Assembler: tls.s: line 76: Too few arguments 1500-067: (S) asm statement generates errors in assembler output. The problem instruction generated in the *.s assembly file is: +76 addi r0,0(r4) The parentheses syntax is invalid. It should instead use a ','.
Local fix
N/A
Problem summary
PROBLEM DESCRIPTION: Assembly output from the compiler is using incorrect operand syntax. USERS AFFECTED: Those compiling source code that contains inline assembly and thread local storage, and are outputting to assembly code.
Problem conclusion
An issue was corrected with the syntax type the compiler uses to output to assembly code. The problem is now fixed.
Temporary fix
Comments
APAR Information
APAR number
LI76367
Reported component name
XL C/C++ RHEL5
Reported component ID
5724S7310
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-08-17
Closed date
2011-08-17
Last modified date
2011-08-17
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++ RHEL5
Fixed component ID
5724S7310
Applicable component levels
R900 PSN IZ92278
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
17 August 2011