aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2025-07-04 21:46:05 +0200
committerFlorian Weimer <fweimer@redhat.com>2025-07-05 20:15:12 +0200
commit7278d11f3a0cd528188c719bab75575b0aea2c6e (patch)
tree52ac362b02affa57838c2ac590c2a705cab1c359 /sysdeps/generic
parent21cbe4a58858441b3d6d459ec98cf9bd8f54af95 (diff)
downloadglibc-7278d11f3a0cd528188c719bab75575b0aea2c6e.zip
glibc-7278d11f3a0cd528188c719bab75575b0aea2c6e.tar.gz
glibc-7278d11f3a0cd528188c719bab75575b0aea2c6e.tar.bz2
elf: Introduce separate _r_debug_array variable
It replaces the ns_debug member of the namespaces. Previously, the base namespace had an unused ns_debug member. This change also fixes a concurrency issue: Now _dl_debug_initialize only updates r_next of the previous namespace's r_debug after the new r_debug is initialized, so that only the initialized version is observed. (Client code accessing _r_debug will benefit from load dependency tracking in CPUs even without explicit barriers.) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/ldsodefs.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index fc4a3de..528c80e 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -368,8 +368,6 @@ struct rtld_global
size_t n_elements;
void (*free) (void *);
} _ns_unique_sym_table;
- /* Keep track of changes to each namespace' list. */
- struct r_debug_extended _ns_debug;
} _dl_ns[DL_NNS];
/* One higher than index of last used namespace. */
EXTERN size_t _dl_nns;