• R
    unify static and dynamic linked implementations of thread-local storage · d56460c9
    Rich Felker 提交于
    this both allows removal of some of the main remaining uses of the
    SHARED macro and clears one obstacle to static-linked dlopen support,
    which may be added at some point in the future.
    
    specialized single-TLS-module versions of __copy_tls and __reset_tls
    are removed and replaced with code adapted from their dynamic-linked
    versions, capable of operating on a whole chain of TLS modules, and
    use of the dynamic linker's DSO chain (which contains large struct dso
    objects) by these functions is replaced with a new chain of struct
    tls_module objects containing only the information needed for
    implementing TLS. this may also yield some performance benefit
    initializing TLS for a new thread when a large number of modules
    without TLS have been loaded, since since there is no need to walk
    structures for modules without TLS.
    d56460c9
__init_tls.c 3.0 KB