From e9d072eb64a251e09a121122941605f4a22d170a Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Wed, 15 May 2024 12:57:49 +0200 Subject: [PATCH] Move memory tracing libs to appropriate sub-packages Commit 2d5af83031ed moved libc_malloc_debug.so.0 to glibc-utils, but this made it impossible to install the 32-bit version of the library on x86_64. libmemusage.so is a similar tracing library that is currently shipped in glibc but should also (with the exception of i686) be moved to glibc-utils. This commit fixes that by: 1. Moving libc_malloc_debug.so.0 back to glibc on i686. 2. Moving libmemusage.so to glibc-utils, again, except on i686. --- glibc.spec | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/glibc.spec b/glibc.spec index 4c456eb..175e528 100644 --- a/glibc.spec +++ b/glibc.spec @@ -170,7 +170,7 @@ Version: %{glibcversion} # - It allows using the Release number without the %%dist tag in the dependency # generator to make the generated requires interchangeable between Rawhide # and ELN (.elnYY < .fcXX). -%global baserelease 19 +%global baserelease 20 Release: %{baserelease}%{?dist} # Licenses: @@ -307,6 +307,18 @@ rpm.define("__debug_install_post bash " .. wrapper %global _no_recompute_build_ids 1 %undefine _unique_build_ids +%ifarch %{ix86} +# The memory tracing tools (like mtrace, memusage) in glibc-utils only work +# when the corresponding memory tracing libraries are preloaded. So we ship +# memory allocation tracing/checking libraries in glibc-utils, except on +# i686 where we need to ship them in glibc.i686. This is because +# glibc-utils.x86_64 will contain only the 64-bit version of these +# libraries. +%global glibc_ship_tracelibs_in_utils 0 +%else +%global glibc_ship_tracelibs_in_utils 1 +%endif + ############################################################################## # Patches: # - See each individual patch file for origin and upstream status. @@ -1902,7 +1914,9 @@ cat master.filelist \ -e '/var/db/Makefile' \ -e '/libnss_.*\.so[0-9.]*$' \ -e '/libnsl' \ +%if %{glibc_ship_tracelibs_in_utils} -e 'libc_malloc_debug\.so' \ +%endif -e 'glibc-benchtests' \ -e 'aux-cache' \ %ifarch x86_64 @@ -1926,7 +1940,12 @@ for module in compat files dns; do %endif >> glibc.filelist done -grep -e "libmemusage.so" -e "libpcprofile.so" master.filelist \ +grep \ +%if ! %{glibc_ship_tracelibs_in_utils} + -e "libmemusage.so" \ +%endif + -e "libpcprofile.so" \ + master.filelist \ %ifarch x86_64 %dnl Exclude 32-bit libraries built for glibc32. | grep -v -e /lib/lib \ @@ -2102,9 +2121,12 @@ cat > utils.filelist <> utils.filelist +%if %{glibc_ship_tracelibs_in_utils} +grep \ + -e '%{_lib}/libc_malloc_debug\.so' \ + -e '%{_lib}/libmemusage.so' \ + < master.filelist >> utils.filelist +%endif ############################################################################### # nss_db, nss_hesiod @@ -2532,6 +2554,10 @@ update_gconv_modules_cache () %endif %changelog +* Wed May 15 2024 Arjun Shankar - 2.39.9000-20 +- i686: Move libc_malloc_debug.so.0 back to glibc +- Other arches: Move libmemusage.so to glibc-utils + * Tue May 14 2024 Arjun Shankar - 2.39.9000-19 - Move libc_malloc_debug.so.0 from glibc to glibc-utils