A fix is available
APAR status
Closed as new function.
Error description
NEW FUNCTION
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Those building thread local storage (TLS) * * enabled C/C++ programs with the later IBM * * Open XL compiler. * **************************************************************** * PROBLEM DESCRIPTION: The binder needs to prevent users from * * linking TLS enabled C/C++ object * * modules compiled by earlier Open XL * * compiler with TLS enabled C/C++ object * * modules compiled by later Open XL * * compiler. * **************************************************************** Mixed levels of TLS support is not allowed by z/OS Language Environment. The binder added logic to prevent users from linking programs with mixed levels of TLS support.
Problem conclusion
Temporary fix
Comments
The following documentation will be changed as follows. SA38-0675-60 z/OS 3.1.0 MVS System Messages Volume 8 (IEF-IGD) add: IEW2442E EARLIER TLS SUPPORT AND LATER TLS SUPPORT ARE BOTH PRESENT IN THE MODULE. Explanation z/OS Language Environment does not support the presence of defined classes C_TLSINFO (earlier TLS support) and C_TLSINFO2 (later TLS support) in the same program object. System action Binder processing continues but the resulting module will be marked not-executable (by default). User response The problem is caused by a mix of object modules with the earlier TLS support and object modules with the later TLS support. If you see this message, the module has mixed level of TLS support. Object modules that use thread local storage need to use the same level of the compiler. Modules with the earlier TLS support are referencing symbol @@TLS@MODULEID. Modules with the later TLS support are referencing symbol @@TLS@MOD@ID. For this invocation of the binder, you can discover all the the sections in your module that use the earlier TLS support using binder option SYMTRACE as follows: ibm-clang64 -Wl,-bSYMTRACE='@@TLS@MODULEID' -Wl,-bMSGLEVEL=0 a.o b.o c.o If a file has earlier TLS support, the binder will issue message IEW2418I or IEW2417I identifying the sections that reference @@TLS@MODULEID. The source code that defines these sections is what you need to recompile. For example: IEW2418I A619 SYMTRACE: SYMBOL @@TLS@MODULEID IS REFERENCED IN SECTION mysect IN MEMBER *NULL* IN THE UNIX FILE ./a.o. NAME SPACE = 3 So the corresponding source code will need to be recompiled. To see what level is used by the Open XL C/C++ compiler, please refer to IBM Open XL C/C++ for z/OS documentation. Source Binder Module IEWBBIND
APAR Information
APAR number
OA68247
Reported component name
PROGRAM MANAGEM
Reported component ID
5695PMB01
Reported release
7E0
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2025-07-21
Closed date
2025-09-11
Last modified date
2025-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UJ98023 UJ98024
Modules/Macros
IEWBBIND IEWBPMMB
| SA380675xx |
Fix information
Fixed component name
PROGRAM MANAGEM
Fixed component ID
5695PMB01
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU011","label":"Systems - zSystems software"},"Product":{"code":"SG19N"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"7E0"}]
Document Information
Modified date:
02 October 2025