Fixes are available
APAR status
Closed as program error.
Error description
When compiling code that includes thread local storage (TLS) and inline assembly statements, the compiler is encountering an internal error. ---------------------------- Assembler: tls.s: line 76: Too few arguments 1500-067:(S) asm statement generates errors in assembler output. ---------------------------- OR ---------------------------- Assembler: tls.s: line 103: 1252-023 The symbol T.9.foo is not defined. tls.s: line 103: 1252-099 The specified displacement is not valid. The instruction displacement must be relocatable, absolute, or external. ---------------------------- OR ---------------------------- Assembler: tls.s: line 106: 1252-023 The symbol x is not defined. tls.s: line 106: 1252-040 The specified expression is not valid. Make sure that all symbols are defined. Check the rules on symbols used in an arithmetic expression concerning relocation. ---------------------------- This is due to the AIX assembler not supporting thread local storage in the past. Support for TLS was added to the assembler via the following AIX APARs: APAR_aix_53Q = IZ81338 5.3 TL9 APAR_aix_53S = IZ81339 5.3 TL10 APAR_aix_53V = IZ81340 5.3 TL11 APAR_aix_53X = IZ81341 5.3 TL12 APAR_aix_61D = IZ81343 6.1 TL2 APAR_aix_61F = IZ81344 6.1 TL3 APAR_aix_61H = IZ81346 6.1 TL4 APAR_aix_61J = IZ81347 6.1 TL5 APAR_aix_61L = IZ69955 6.1 TL6 (AIX 7.1 base-level OS already contains the feature) One of these AIX APARs is required in conjunction with this compiler APAR to add support for mixed TLS/inline ASM code.
Local fix
Split thread local storage and inline assembly into separate compilation units (i.e. separate source files)
Problem summary
PROBLEM DESCRIPTION: Thread local storage was not supported in assembler source files. USERS AFFECTED: Customers using the V9.0 and V10.1 compilers wishing to use thread local storage within the same compilation unit as inline assembler statements.
Problem conclusion
Thread local storage support in assembler source was added to the AIX assembler, and the compiler was updated to support this functionality.
Temporary fix
Comments
APAR Information
APAR number
LI76185
Reported component name
XL C/C++ RHEL52
Reported component ID
5724U8310
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-06-10
Closed date
2011-06-10
Last modified date
2011-06-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++ RHEL52
Fixed component ID
5724U8310
Applicable component levels
RA10 PSN IZ91054
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
16 October 2021