diff options
author | Florian Weimer <fweimer@redhat.com> | 2025-07-04 21:46:05 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2025-07-05 20:15:12 +0200 |
commit | 7278d11f3a0cd528188c719bab75575b0aea2c6e (patch) | |
tree | 52ac362b02affa57838c2ac590c2a705cab1c359 /sysdeps/generic | |
parent | 21cbe4a58858441b3d6d459ec98cf9bd8f54af95 (diff) | |
download | glibc-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.h | 2 |
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; |