[PATCH] elf: Build dl-tls.o with early startup symbol redirections

Florian Weimer fweimer@redhat.com
Sun Feb 2 15:22:23 GMT 2025


This is required when building for powerpc64le POWER8 with GCC 8
at least.

Fixes commit cbd9fd236981717d3d4ee942986ea912e9707c32 ("Consolidate
TLS block allocation for static binaries with ld.so").

---
 csu/libc-tls.c | 1 +
 elf/dl-tls.c   | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/csu/libc-tls.c b/csu/libc-tls.c
index 07c37f3af9..0da39b72b4 100644
--- a/csu/libc-tls.c
+++ b/csu/libc-tls.c
@@ -30,6 +30,7 @@
 #include <dl-extra_tls.h>
 #include <array_length.h>
 #include <elf/dl-tls_block_align.h>
+#include <dl-symbol-redir-ifunc.h>
 
 #ifdef SHARED
  #error makefile bug, this file is for static only
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index a4a826e6a4..5fd435f18b 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -39,6 +39,12 @@
 
 #include <dl-extra_tls.h>
 
+/* This code is used during early startup when statically linked,
+   via __libc_setup_tls in csu/libc-tls.c.  */
+#ifndef SHARED
+# include <dl-symbol-redir-ifunc.h>
+#endif
+
 /* Surplus static TLS, GLRO(dl_tls_static_surplus), is used for
 
    - IE TLS in libc.so for all dlmopen namespaces except in the initial



More information about the Libc-alpha mailing list