diff --git a/glibc.spec b/glibc.spec index 1a8d214..a193dd9 100644 --- a/glibc.spec +++ b/glibc.spec @@ -159,7 +159,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 6 +%global baserelease 7 Release: %{baserelease}%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for @@ -1192,7 +1192,16 @@ build() --disable-nscd || { cat config.log; false; } - %make_build -r %{glibc_make_flags} + # We enable DT_GNU_HASH and DT_HASH for ld.so and DSOs to improve + # compatibility with applications that expect DT_HASH e.g. Epic Games + # Easy Anti-Cheat. This is temporary as applications move to + # supporting only DT_GNU_HASH. This was initially enabled in Fedora + # 37. We must use 'env' because it is the only way to pass, via the + # environment, two variables that set the initial Makefile values for + # LDFLAGS used to build shared objects and the dynamic loader. + env LDFLAGS.so="-Wl,--hash-style=both" \ + LDFLAGS-rtld="-Wl,--hash-style=both" \ + %make_build -r %{glibc_make_flags} popd } @@ -2185,6 +2194,9 @@ update_gconv_modules_cache () %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Mon Oct 17 2022 Carlos O'Donell - 2.36-7 +- Enable ELF DT_HASH for shared objects and the dynamic loader (#2129358) + * Fri Oct 07 2022 Arjun Shankar - 2.36-6 - Auto-sync with upstream branch release/2.36/master, commit 2bd815d8347851212b9a91dbdca8053f4dbdac87: