IBM Support

OA68247: NEW FUNCTION - Binder TLS support for new Open XL compiler

A fix is available

Subscribe

You can track all active APARs for this component.

 

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
    

Publications Referenced
SA380675xx    

Fix information

  • Fixed component name

    PROGRAM MANAGEM

  • Fixed component ID

    5695PMB01

Applicable component levels

  • R7E0 PSY UJ98024

       UP25/09/24 P F509  

  • R7F0 PSY UJ98023

       UP25/09/24 P F509  

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