about summary refs log tree commit diff
path: root/manual
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2024-01-24 09:34:15 +0100
committerFlorian Weimer <fweimer@redhat.com>2024-01-24 09:34:15 +0100
commit486452affbac684db739b7fcca1e84e8a7ce33d1 (patch)
tree727f4a6a62cfa2a030e4319791e395fc34046c80 /manual
parentaeb497d1feee3b50447c4b74d6934746597783ae (diff)
downloadglibc-486452affbac684db739b7fcca1e84e8a7ce33d1.tar.gz
glibc-486452affbac684db739b7fcca1e84e8a7ce33d1.tar.xz
glibc-486452affbac684db739b7fcca1e84e8a7ce33d1.zip
manual, NEWS: Document malloc side effect of dynamic TLS changes
The increased malloc subsystem usage is a side effect of
commit d2123d68275acc0f061e73d5f86ca504e0d5a344 ("elf: Fix slow tls
access after dlopen [BZ #19924]").

Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Diffstat (limited to 'manual')
-rw-r--r--manual/memory.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/manual/memory.texi b/manual/memory.texi
index 258fdbd3a0..fb875f4c3c 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -1815,6 +1815,14 @@ using shared object dependencies or @code{LD_PRELOAD}.  For static
 linking, the @code{malloc} replacement library must be linked in before
 linking against @code{libc.a} (explicitly or implicitly).
 
+Care must be taken not to use functionality from @theglibc{} that uses
+@code{malloc} internally.  For example, the @code{fopen},
+@code{opendir}, @code{dlopen}, and @code{pthread_setspecific} functions
+currently use the @code{malloc} subsystem internally.  If the
+replacement @code{malloc} or its dependencies use thread-local storage
+(TLS), it must use the initial-exec TLS model, and not one of the
+dynamic TLS variants.
+
 @strong{Note:} Failure to provide a complete set of replacement
 functions (that is, all the functions used by the application,
 @theglibc{}, and other linked-in libraries) can lead to static linking