diff --git a/glibc.spec b/glibc.spec index 5a988d7..0928010 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 12 +%global baserelease 13 Release: %{baserelease}%{?dist} # Licenses: @@ -299,6 +299,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. @@ -1928,6 +1940,7 @@ chmod 0444 master.filelist # a double negation of -v and [^i] so it removes all files in # sbin *but* iconvconfig. # - All the libnss files (we add back the ones we want later). +# - libc_malloc_debug.so, since it is a debugging library. # - All bench test binaries. # - The aux-cache, since it's handled specially in the files section. # - Extra gconv modules. We add the required modules later. @@ -1948,6 +1961,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 @@ -1971,7 +1987,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 \ @@ -2027,6 +2048,7 @@ grep '%{_libdir}/lib.*\.a' master.filelist \ # devel package. grep '%{_libdir}/.*\.o' < master.filelist >> devel.filelist grep '%{_libdir}/lib.*\.so' < master.filelist >> devel.filelist + # The exceptions are: # - libmemusage.so and libpcprofile.so in glibc used by utils. # - libnss_*.so which are in nss-devel. @@ -2146,6 +2168,13 @@ cat > utils.filelist <> utils.filelist +%endif + ############################################################################### # nss_db, nss_hesiod ############################################################################### @@ -2572,6 +2601,9 @@ update_gconv_modules_cache () %endif %changelog +* Wed May 15 2024 Arjun Shankar - 2.39-13 +- Move memory tracing libraries to glibc-utils + * Fri May 10 2024 Florian Weimer - 2.39-12 - Use unsigned types in / (RHEL-22226)