forked from pool/glibc
Andreas Schwab
f1ca5ecb2f
- dl-debug-bindings.patch: elf: Reinstate on DL_DEBUG_BINDINGS _dl_lookup_symbol_x (bsc#1204710) OBS-URL: https://build.opensuse.org/request/show/1031471 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=637
45 lines
1.3 KiB
Diff
45 lines
1.3 KiB
Diff
From 891a7958a28eac6d4af1517dd2896fef5e4951d4 Mon Sep 17 00:00:00 2001
|
|
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
Date: Tue, 25 Oct 2022 13:19:16 -0300
|
|
Subject: [PATCH] elf: Reinstate on DL_DEBUG_BINDINGS _dl_lookup_symbol_x
|
|
|
|
The prelink removal done by 6628c742b2c16e wrongly removed the debug
|
|
support.
|
|
|
|
Checked on x86_64-linux-gnu.
|
|
---
|
|
elf/dl-lookup.c | 17 +++++++++++++++++
|
|
1 file changed, 17 insertions(+)
|
|
|
|
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
|
|
index 4c86dc694e..67fb2e31e2 100644
|
|
--- a/elf/dl-lookup.c
|
|
+++ b/elf/dl-lookup.c
|
|
@@ -854,6 +854,23 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
|
|
if (__glibc_unlikely (current_value.m->l_used == 0))
|
|
current_value.m->l_used = 1;
|
|
|
|
+ if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS))
|
|
+ {
|
|
+ const char *reference_name = undef_map->l_name;
|
|
+
|
|
+ _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'",
|
|
+ DSO_FILENAME (reference_name),
|
|
+ undef_map->l_ns,
|
|
+ DSO_FILENAME (current_value.m->l_name),
|
|
+ current_value.m->l_ns,
|
|
+ protected ? "protected" : "normal", undef_name);
|
|
+ if (version)
|
|
+ _dl_debug_printf_c (" [%s]\n", version->name);
|
|
+ else
|
|
+ _dl_debug_printf_c ("\n");
|
|
+ }
|
|
+
|
|
+
|
|
*ref = current_value.s;
|
|
return LOOKUP_VALUE (current_value.m);
|
|
}
|
|
--
|
|
2.38.1
|
|
|