diff options
author | Carlos O'Donell <carlos@redhat.com> | 2014-02-25 13:00:36 -0500 |
---|---|---|
committer | Carlos O'Donell <carlos@redhat.com> | 2014-02-25 13:18:15 -0500 |
commit | d050367659e04685a0eab910e86ea6829a8d24f9 (patch) | |
tree | eb094a22fb28449c7723b9463c388505ca31a5a3 /sysdeps/generic | |
parent | 4cbf380ce948ca15a965a78f0c1a092cf5956792 (diff) | |
download | glibc-d050367659e04685a0eab910e86ea6829a8d24f9.tar.gz glibc-d050367659e04685a0eab910e86ea6829a8d24f9.tar.xz glibc-d050367659e04685a0eab910e86ea6829a8d24f9.zip |
BZ #16613: Support TLS in audit libraries.
This commit fixes a bug where the dynamic loader would crash when loading audit libraries, via LD_AUDIT, where those libraries used TLS. The dynamic loader was not considering that the audit libraries would use TLS and failed to bump the TLS generation counter leaving TLS usage inconsistent after loading the audit libraries. https://sourceware.org/ml/libc-alpha/2014-02/msg00569.html
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index ffeb093887..65cd709fef 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -957,6 +957,9 @@ extern void _dl_sysdep_start_cleanup (void) /* Determine next available module ID. */ extern size_t _dl_next_tls_modid (void) internal_function attribute_hidden; +/* Count the modules with TLS segments. */ +extern size_t _dl_count_modids (void) internal_function attribute_hidden; + /* Calculate offset of the TLS blocks in the static TLS block. */ extern void _dl_determine_tlsoffset (void) internal_function attribute_hidden; |