diff --git a/dl-debug-bindings.patch b/dl-debug-bindings.patch new file mode 100644 index 0000000..291e130 --- /dev/null +++ b/dl-debug-bindings.patch @@ -0,0 +1,44 @@ +From 891a7958a28eac6d4af1517dd2896fef5e4951d4 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +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 + diff --git a/glibc.changes b/glibc.changes index 7fe8392..a004f99 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Oct 26 14:07:48 UTC 2022 - Andreas Schwab + +- dl-debug-bindings.patch: elf: Reinstate on DL_DEBUG_BINDINGS + _dl_lookup_symbol_x (bsc#1204710) + ------------------------------------------------------------------- Wed Oct 5 07:53:24 UTC 2022 - Andreas Schwab diff --git a/glibc.spec b/glibc.spec index a503701..1f8d8e8 100644 --- a/glibc.spec +++ b/glibc.spec @@ -21,7 +21,6 @@ %bcond_with fast_build %bcond_with snapshot -%define build_snapshot %{with snapshot} %bcond_with ringdisabled %define flavor @BUILD_FLAVOR@%{nil} @@ -140,7 +139,7 @@ License: GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.1-or-later WIT Group: System/Libraries Version: 2.36 Release: 0 -%if !%{build_snapshot} +%if %{without snapshot} %define git_id c804cd1c00 %define libversion %version %else @@ -150,7 +149,7 @@ Release: 0 URL: https://www.gnu.org/software/libc/libc.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: https://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz -%if !%{build_snapshot} +%if %{without snapshot} Source1: https://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig %endif Source2: http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring @@ -306,6 +305,8 @@ Patch1010: get-nscd-addresses.patch Patch1011: x86-64-avx2-string-functions.patch # PATCH-FIX-UPSTREAM nscd: Drop local address tuple variable (BZ #29607) Patch1012: nscd-aicache.patch +# PATCH-FIX-UPSTREAM elf: Reinstate on DL_DEBUG_BINDINGS _dl_lookup_symbol_x +Patch1013: dl-debug-bindings.patch ### # Patches awaiting upstream approval @@ -529,7 +530,7 @@ library in a cross compilation setting. %patch304 -p1 %patch306 -p1 -%if !%{build_snapshot} +%if %{without snapshot} %patch1000 -p1 %patch1001 -p1 %patch1002 -p1 @@ -543,6 +544,7 @@ library in a cross compilation setting. %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 %endif %patch2000 -p1