glibc/glibc-RHEL-47403-11.patch
Frédéric Bérat 72524e00c3 Prevented ld.so from asserting and crashing during audited library loads.
- Backport: Extend struct r_debug to support multiple namespaces [BZ
  #15971]
- Backport: elf: Include <sysdep.h> in elf/dl-debug-symbols.S
- Backport: Minor: don't call _dl_debug_update (which can have side
  effects) inside assert
- Backport: elf: Run constructors on cyclic recursive dlopen (bug
  31986)
- Backport: elf: Signal LA_ACT_CONSISTENT to auditors after
  RT_CONSISTENT switch
- Backport: elf: Signal RT_CONSISTENT after relocation processing in
  dlopen (bug 31986)
- Backport: Revert "elf: Run constructors on cyclic recursive dlopen
  (bug 31986)"
- Backport: elf: Test dlopen (NULL, RTLD_LAZY) from an ELF constructor
- Backport: elf: Fix map_complete Systemtap probe in dl_open_worker
- Backport: elf: Introduce separate _r_debug_array variable
- Add downstream patch to keep the ABI stable

Resolves: RHEL-47403
2025-07-08 17:06:56 +02:00

18 lines
633 B
Diff

Downstream patch to keep ABI stable.
Bring back a dummy `struct r_debug` member in `GL (dl_ns)`, to preserve
`_rtld_global` layout.
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index e09edb01da3b5b90..3d9b90a22bfa6a7d 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -375,6 +375,8 @@ struct rtld_global
size_t n_elements;
void (*free) (void *);
} _ns_unique_sym_table;
+ /* Dummy structure to keep the ABI stable. */
+ struct r_debug _ns_debug_unused;
} _dl_ns[DL_NNS];
/* One higher than index of last used namespace. */
EXTERN size_t _dl_nns;