The package rpms/libxcrypt.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/libxcrypt.git/commit/?id=b21d71876c8....
Change: -%ifarch ppc64 ppc64le
Thanks.
Full change: ============
commit 792e878ff2f9dca836cafe326d73d6259244825b Author: Björn Esser besser82@fedoraproject.org Date: Wed Nov 27 13:14:24 2024 +0100
Update patch for MT-Safeness in crypt and crypt_gensalt
diff --git a/libxcrypt-Make-crypt-and-crypt_gensalt-use-thread-local-output.patch b/libxcrypt-Make-crypt-and-crypt_gensalt-use-thread-local-output.patch index 39fb43c..9e296ca 100644 --- a/libxcrypt-Make-crypt-and-crypt_gensalt-use-thread-local-output.patch +++ b/libxcrypt-Make-crypt-and-crypt_gensalt-use-thread-local-output.patch @@ -1,4 +1,4 @@ -From 644d8de7bb76ff20181a9acc0794c4b80ef6a4b8 Mon Sep 17 00:00:00 2001 +From c18fdaf9042ddb92f76108531fcc37b5475996c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= besser82@fedoraproject.org Date: Sun, 3 Nov 2024 13:32:24 +0100 Subject: [PATCH] Make crypt and crypt_gensalt use thread-local output @@ -31,10 +31,10 @@ for each invocation of the crypt function. doc/crypt.3 | 16 +- doc/crypt_gensalt.3 | 20 +- lib/crypt-gensalt-static.c | 3 +- - lib/crypt-port.h | 17 + + lib/crypt-port.h | 23 ++ lib/crypt-static.c | 16 +- test/crypt-multithread.c | 191 ++++++++++ - 12 files changed, 888 insertions(+), 14 deletions(-) + 12 files changed, 894 insertions(+), 14 deletions(-) create mode 100644 build-aux/m4/ax_pthread.m4 create mode 100644 build-aux/m4/ax_tls.m4 create mode 100644 test/crypt-multithread.c @@ -104,7 +104,7 @@ index 5c07059..143c437 100644 test_preferred_method_LDADD = $(COMMON_TEST_OBJECTS) test_special_char_salt_LDADD = $(COMMON_TEST_OBJECTS) diff --git a/build-aux/m4/ax_gcc_func_attribute.m4 b/build-aux/m4/ax_gcc_func_attribute.m4 -index 8ba25ee..a3cb163 100644 +index 8ba25ee..d9bde93 100644 --- a/build-aux/m4/ax_gcc_func_attribute.m4 +++ b/build-aux/m4/ax_gcc_func_attribute.m4 @@ -57,6 +57,7 @@ @@ -120,10 +120,10 @@ index 8ba25ee..a3cb163 100644 int foo(void *p, ...) __attribute__(($1(1))); ], + [tls_model], [ -+ int foo_gdyn( void ) {static __thread __attribute__(($1("global-dynamic"))) int a = 1; --a; return a;}; -+ int foo_ldyn( void ) {static __thread __attribute__(($1("local-dynamic"))) int a = 1; --a; return a;}; -+ int foo_inex( void ) {static __thread __attribute__(($1("initial-exec"))) int a = 1; --a; return a;}; -+ int foo_loex( void ) {static __thread __attribute__(($1("local-exec"))) int a = 1; --a; return a;}; ++ int foo_ld( void ) { static __thread __attribute__(($1("local-dynamic"))) int i; return i; }; ++ int foo_gd( void ) { static __thread __attribute__(($1("global-dynamic"))) int i; return i; }; ++ int foo_le( void ) { static __thread __attribute__(($1("local-exec"))) int i; return i; }; ++ int foo_ie( void ) { static __thread __attribute__(($1("initial-exec"))) int i; return i; }; + ], [returns_nonnull], [ void *foo( void ) __attribute__(($1)); @@ -887,10 +887,10 @@ index f1919ee..cfadac3 100644 return crypt_gensalt_rn (prefix, count, rbytes, nrbytes, output, sizeof (output)); diff --git a/lib/crypt-port.h b/lib/crypt-port.h -index a707939..9603a5a 100644 +index a707939..5338120 100644 --- a/lib/crypt-port.h +++ b/lib/crypt-port.h -@@ -73,6 +73,23 @@ +@@ -73,6 +73,29 @@ #define __THROW /* nothing */ #endif
@@ -904,11 +904,17 @@ index a707939..9603a5a 100644 +#endif + +#ifdef HAVE_FUNC_ATTRIBUTE_TLS_MODEL ++/* Models for use in DSO. */ +#define TLS_LD TLS __attribute ((tls_model ("local-dynamic"))) +#define TLS_GD TLS __attribute ((tls_model ("global-dynamic"))) ++/* Models for executables, like tests. */ ++#define TLS_LE TLS __attribute ((tls_model ("local-exec"))) ++#define TLS_IE TLS __attribute ((tls_model ("initial-exec"))) +#else +#define TLS_LD TLS +#define TLS_GD TLS ++#define TLS_LE TLS ++#define TLS_IE TLS +#endif + /* Suppression of unused-argument warnings. */ @@ -1151,5 +1157,5 @@ index 0000000..e6f7c01 + +#endif -- -2.47.0 +2.47.1
diff --git a/libxcrypt.spec b/libxcrypt.spec index 216998c..de68008 100644 --- a/libxcrypt.spec +++ b/libxcrypt.spec @@ -592,6 +592,7 @@ done %changelog * Wed Nov 27 2024 Björn Esser besser82@fedoraproject.org - 4.4.36-11 - Drop -Wl,--no-tls-get-addr-optimize, as binutils are fixed now +- Update patch for MT-Safeness in crypt and crypt_gensalt
* Fri Nov 08 2024 Björn Esser besser82@fedoraproject.org - 4.4.36-10 - Build with -Wl,--no-tls-get-addr-optimize on ppc64(le)
commit b21d71876c8994ad47e596c21d5e93aa5bb1aeeb Author: Björn Esser besser82@fedoraproject.org Date: Wed Nov 27 13:13:36 2024 +0100
Drop -Wl,--no-tls-get-addr-optimize, as binutils are fixed now
diff --git a/libxcrypt.spec b/libxcrypt.spec index 0aeb385..216998c 100644 --- a/libxcrypt.spec +++ b/libxcrypt.spec @@ -168,7 +168,7 @@ fi \
Name: libxcrypt Version: 4.4.36 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Extended crypt library for descrypt, md5crypt, bcrypt, and others
# For explicit license breakdown, see the @@ -396,12 +396,6 @@ EOF %build mkdir -p %{_vpath_builddir}
-# Needed on ppc64le. See: -# https://bugzilla.redhat.com/show_bug.cgi?id=2324491 -%ifarch ppc64 ppc64le -export LDFLAGS="%{__global_ldflags} -Wl,--no-tls-get-addr-optimize" -%endif - # Build the default system library. pushd %{_vpath_builddir} %configure \ @@ -450,12 +444,6 @@ unset LT_SYS_LIBRARY_PATH # Build a library suitable for all possible tests. pushd %{_vpath_builddir}-all_possible_tests
-# Needed on ppc64le. See: -# https://bugzilla.redhat.com/show_bug.cgi?id=2324491 -%ifarch ppc64 ppc64le -export LDFLAGS="%{__global_ldflags} -Wl,--no-tls-get-addr-optimize" -%endif - # Disable arc4random_buf on purpose, so we are able # to run test/getrandom-fallback from testsuite. %configure \ @@ -602,6 +590,9 @@ done
%changelog +* Wed Nov 27 2024 Björn Esser besser82@fedoraproject.org - 4.4.36-11 +- Drop -Wl,--no-tls-get-addr-optimize, as binutils are fixed now + * Fri Nov 08 2024 Björn Esser besser82@fedoraproject.org - 4.4.36-10 - Build with -Wl,--no-tls-get-addr-optimize on ppc64(le) - Remove cludge from patch for MT-Safeness in crypt and crypt_gensalt
arch-excludes@lists.fedoraproject.org