diff --git a/glibc-upstream-amx-detection.patch b/glibc-upstream-amx-detection.patch new file mode 100644 index 0000000..c2869d2 --- /dev/null +++ b/glibc-upstream-amx-detection.patch @@ -0,0 +1,26 @@ +commit 7fc9152e831fb24091c0ceabdcecb9b07dd29dd6 +Author: H.J. Lu +Date: Wed Apr 21 18:40:08 2021 -0700 + + x86: tst-cpu-features-supports.c: Update AMX check + + Pass "amx-bf16", "amx-int8" and "amx-tile", instead of "amx_bf16", + "amx_int8" and "amx_tile", to __builtin_cpu_supports for GCC 11. + +diff --git a/sysdeps/x86/tst-cpu-features-supports.c b/sysdeps/x86/tst-cpu-features-supports.c +index ce78a7d8bcce75a4..a2cabc90beeb9530 100644 +--- a/sysdeps/x86/tst-cpu-features-supports.c ++++ b/sysdeps/x86/tst-cpu-features-supports.c +@@ -59,9 +59,9 @@ do_test (int argc, char **argv) + fails += CHECK_SUPPORTS (aes, AES); + #endif + #if __GNUC_PREREQ (11, 1) +- fails += CHECK_SUPPORTS (amx_bf16, AMX_BF16); +- fails += CHECK_SUPPORTS (amx_int8, AMX_INT8); +- fails += CHECK_SUPPORTS (amx_tile, AMX_TILE); ++ fails += CHECK_SUPPORTS (amx-bf16, AMX_BF16); ++ fails += CHECK_SUPPORTS (amx-int8, AMX_INT8); ++ fails += CHECK_SUPPORTS (amx-tile, AMX_TILE); + #endif + fails += CHECK_SUPPORTS (avx, AVX); + fails += CHECK_SUPPORTS (avx2, AVX2); diff --git a/glibc-upstream-malloc-test-hang.patch b/glibc-upstream-malloc-test-hang.patch new file mode 100644 index 0000000..db691ac --- /dev/null +++ b/glibc-upstream-malloc-test-hang.patch @@ -0,0 +1,31 @@ +commit 0a282de11b87fb4ad015c0cd10158555999705f9 +Author: Arjun Shankar +Date: Wed Apr 7 00:30:11 2021 +0200 + + malloc: Run tst-malloc-stats-cancellation via test-driver.c + + This allows the test to time out in case it hangs. + + Reviewed-by: Carlos O'Donell + +diff --git a/malloc/tst-malloc-stats-cancellation.c b/malloc/tst-malloc-stats-cancellation.c +index 9a8f475830b16af2..725cad6498f3cdf8 100644 +--- a/malloc/tst-malloc-stats-cancellation.c ++++ b/malloc/tst-malloc-stats-cancellation.c +@@ -91,8 +91,8 @@ buffer_threadproc (void *argp) + } + + +-int +-main (void) ++static int ++do_test (void) + { + int result = 0, err, real_stderr_fd, bufpipe[2]; + pthread_t t_thr, b_thr; +@@ -214,3 +214,5 @@ main (void) + } + return result; + } ++ ++#include diff --git a/glibc.spec b/glibc.spec index 0ece4ac..ab3139a 100644 --- a/glibc.spec +++ b/glibc.spec @@ -27,8 +27,8 @@ %bcond_without benchtests # Default: Not bootstrapping. %bcond_with bootstrap -# Default: Disable -Werror due to GCC PR98512. -%bcond_with werror +# Default: Enable using -Werror +%bcond_without werror # Default: Always build documentation. %bcond_without docs @@ -65,6 +65,14 @@ %define buildpower9 0 %endif +# The annobin annotations cause binutils to produce broken ARM EABI +# unwinding information. Symptom is a hang/test failure for +# malloc/tst-malloc-stats-cancellation. See +# . +%ifarch armv7hl +%undefine _annotated_build +%endif + ############################################################################## # Any architecture/kernel combination that supports running 32-bit and 64-bit # code in userspace is considered a biarch arch. @@ -96,7 +104,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 3%{?dist} +Release: 4%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -154,6 +162,8 @@ Patch23: glibc-python3.patch Patch29: glibc-fedora-nsswitch.patch Patch30: glibc-deprecated-selinux-makedb.patch Patch31: glibc-deprecated-selinux-nscd.patch +Patch32: glibc-upstream-amx-detection.patch +Patch33: glibc-upstream-malloc-test-hang.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2300,6 +2310,18 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Tue May 4 2021 Florian Weimer - 2.33.9000-4 +- Various changes to get glibc building again, using selected upstream + backports. +- Re-enable -Werror by default. +- This release introduces __libc_start_main@@GLIBC_2.34, so binaries + are not compatible with glibc 2.33. Building binaries against this + glibc version is not recommended because of the partial libpthread + transition. +- glibc-upstream-amx-detection.patch: Fix build failure after GCC 11.1 update. +- glibc-upstream-malloc-test-hang.patch: Avoid test hang due to + annobin/binutils bug (#1951492) + * Wed Mar 03 2021 Arjun Shankar - 2.33.9000-3 - Drop glibc-rh819430.patch; fixed upstream. - Auto-sync with upstream branch master,