From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A37C615808A for ; Wed, 30 Jul 2025 22:35:27 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 87EE0340D1B for ; Wed, 30 Jul 2025 22:35:27 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 86A98110377; Wed, 30 Jul 2025 22:35:26 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 7C30D110377 for ; Wed, 30 Jul 2025 22:35:26 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id F3979340D0A for ; Wed, 30 Jul 2025 22:35:25 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 62536318B for ; Wed, 30 Jul 2025 22:35:24 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1753914904.86b8df0c6eb87e1351819442ba5caaab1ecd11a1.sam@gentoo> Subject: [gentoo-commits] proj/gcc-patches:master commit in: 16.0.0/gentoo/ X-VCS-Repository: proj/gcc-patches X-VCS-Files: 16.0.0/gentoo/86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch 16.0.0/gentoo/87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch 16.0.0/gentoo/88_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch 16.0.0/gentoo/README.history X-VCS-Directories: 16.0.0/gentoo/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 86b8df0c6eb87e1351819442ba5caaab1ecd11a1 X-VCS-Branch: master Date: Wed, 30 Jul 2025 22:35:24 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4b3069f0-7b47-4bc3-aa8d-e08e9ebe0440 X-Archives-Hash: 7185dad0eed2ecef427074b16ec6f4af commit: 86b8df0c6eb87e1351819442ba5caaab1ecd11a1 Author: Sam James gentoo org> AuthorDate: Wed Jul 30 22:35:04 2025 +0000 Commit: Sam James gentoo org> CommitDate: Wed Jul 30 22:35:04 2025 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=86b8df0c 16.0.0: drop upstreamed patches Signed-off-by: Sam James gentoo.org> ...sufficient-alignment-requirement-for-spec.patch | 164 --------------------- ...ssing-skip-vector-check-for-peeling-with-.patch | 144 ------------------ ...ommon-Remove-reference-to-obsolete-termio.patch | 74 ---------- 16.0.0/gentoo/README.history | 7 +- 4 files changed, 4 insertions(+), 385 deletions(-) diff --git a/16.0.0/gentoo/86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch b/16.0.0/gentoo/86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch deleted file mode 100644 index f05e749..0000000 --- a/16.0.0/gentoo/86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch +++ /dev/null @@ -1,164 +0,0 @@ -https://bugs.gentoo.org/959698 -https://inbox.sourceware.org/gcc-patches/DB3PR08MB89626FA52FEA5FB7ACE33B19A425A@DB3PR08MB8962.eurprd08.prod.outlook.com/ - -From f91a62751e8198e6f02c21dffa35ac803b46d048 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Pengfei Li -Date: Tue, 29 Jul 2025 14:58:18 +0000 -Subject: [PATCH 1/2] vect: Fix insufficient alignment requirement for - speculative loads [PR121190] - -This patch fixes a segmentation fault issue that can occur in vectorized -loops with an early break. When GCC vectorizes such loops, it may insert -a versioning check to ensure that data references (DRs) with speculative -loads are aligned. The check normally requires DRs to be aligned to the -vector mode size, which prevents generated vector load instructions from -crossing page boundaries. - -However, this is not sufficient when a single scalar load is vectorized -into multiple loads within the same iteration. In such cases, even if -none of the vector loads crosses page boundaries, subsequent loads after -the first one may still access memory beyond current valid page. - -Consider the following loop as an example: - - while (i < MAX_COMPARE) { - if (*(p + i) != *(q + i)) - return i; - i++; - } - -When compiled with "-O3 -march=znver2" on x86, the vectorized loop may -include instructions like: - - vmovdqa (%rcx,%rax), %ymm0 - vmovdqa 32(%rcx,%rax), %ymm1 - vpcmpeqq (%rdx,%rax), %ymm0, %ymm0 - vpcmpeqq 32(%rdx,%rax), %ymm1, %ymm1 - -Note two speculative vector loads are generated for each DR (p and q). -The first vmovdqa and vpcmpeqq are safe due to the vector size (32-byte) -alignment, but the following ones (at offset 32) may not be safe because -they could read from the beginning of the next memory page, potentially -leading to segmentation faults. - -To avoid the issue, this patch increases the alignment requirement to -DR_TARGET_ALIGNMENT. It ensures all vector loads in the same vector -iteration access memory within the same page. - -This patch is bootstrapped and regression-tested on x86_64-linux-gnu, -arm-linux-gnueabihf and aarch64-linux-gnu. - - PR tree-optimization/121190 - -gcc/ChangeLog: - - * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): - Increase alignment requirement for speculative loads. - -gcc/testsuite/ChangeLog: - -* gcc.dg/vect/vect-early-break_52.c: Update an unsafe test. - * gcc.dg/vect/vect-early-break_137.c-pr121190: New test. ---- - .../vect/vect-early-break_137-pr121190.c | 62 +++++++++++++++++++ - .../gcc.dg/vect/vect-early-break_52.c | 2 +- - gcc/tree-vect-data-refs.cc | 3 +- - 3 files changed, 65 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/gcc.dg/vect/vect-early-break_137-pr121190.c - -diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_137-pr121190.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_137-pr121190.c -new file mode 100644 -index 000000000000..e6b071c411cf ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_137-pr121190.c -@@ -0,0 +1,62 @@ -+/* PR tree-optimization/121190 */ -+/* { dg-options "-O3" } */ -+/* { dg-additional-options "-march=znver2" { target x86_64-*-* i?86-*-* } } */ -+/* { dg-require-effective-target mmap } */ -+/* { dg-require-effective-target vect_early_break } */ -+ -+#include -+#include -+#include -+#include -+#include -+#include "tree-vect.h" -+ -+#define MAX_COMPARE 5000 -+ -+__attribute__((noipa)) -+int diff (uint64_t *restrict p, uint64_t *restrict q) -+{ -+ int i = 0; -+ while (i < MAX_COMPARE) { -+ if (*(p + i) != *(q + i)) -+ return i; -+ i++; -+ } -+ return -1; -+} -+ -+int main () -+{ -+ check_vect (); -+ -+ long pgsz = sysconf (_SC_PAGESIZE); -+ if (pgsz == -1) { -+ fprintf (stderr, "sysconf failed\n"); -+ return 0; -+ } -+ -+ /* Allocate 2 consecutive pages of memory and let p1 and p2 point to the -+ beginning of each. */ -+ void *mem = mmap (NULL, pgsz * 2, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); -+ if (mem == MAP_FAILED) { -+ fprintf (stderr, "mmap failed\n"); -+ return 0; -+ } -+ uint64_t *p1 = (uint64_t *) mem; -+ uint64_t *p2 = (uint64_t *) mem + pgsz / sizeof (uint64_t); -+ -+ /* Fill the first page with zeros, except for its last 64 bits. */ -+ memset (p1, 0, pgsz); -+ *(p2 - 1) = -1; -+ -+ /* Make the 2nd page not accessable. */ -+ mprotect (p2, pgsz, PROT_NONE); -+ -+ /* Calls to diff should not read the 2nd page. */ -+ for (int i = 1; i <= 20; i++) { -+ if (diff (p2 - i, p1) != i - 1) -+ __builtin_abort (); -+ } -+} -+ -diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_52.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_52.c -index 86a632f2a822..6abfcd6580e4 100644 ---- a/gcc/testsuite/gcc.dg/vect/vect-early-break_52.c -+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_52.c -@@ -18,4 +18,4 @@ int main1 (short X) - } - } - --/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { target { ! "x86_64-*-* i?86-*-*" } } } } */ -+/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { target { ! "x86_64-*-* i?86-*-* arm*-*-*" } } } } */ -diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc -index e7919b73c258..66217c54b050 100644 ---- a/gcc/tree-vect-data-refs.cc -+++ b/gcc/tree-vect-data-refs.cc -@@ -2969,7 +2969,8 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo) - VF is a power of two. We could relax this if we added - a way of enforcing a power-of-two size. */ - unsigned HOST_WIDE_INT size; -- if (!GET_MODE_SIZE (TYPE_MODE (vectype)).is_constant (&size)) -+ if (!LOOP_VINFO_VECT_FACTOR (loop_vinfo).is_constant () -+ || !DR_TARGET_ALIGNMENT (dr_info).is_constant (&size)) - { - do_versioning = false; - break; --- -2.50.1 - diff --git a/16.0.0/gentoo/87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch b/16.0.0/gentoo/87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch deleted file mode 100644 index c472d5d..0000000 --- a/16.0.0/gentoo/87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch +++ /dev/null @@ -1,144 +0,0 @@ -https://bugs.gentoo.org/959698 -https://inbox.sourceware.org/gcc-patches/DB3PR08MB8962138B27178069736147E5A425A@DB3PR08MB8962.eurprd08.prod.outlook.com/ - -From 652f42c43949e64961721b7c78758030a8b9b1e0 Mon Sep 17 00:00:00 2001 -Message-ID: <652f42c43949e64961721b7c78758030a8b9b1e0.1753836047.git.sam@gentoo.org> -In-Reply-To: -References: -From: Pengfei Li -Date: Tue, 29 Jul 2025 14:53:46 +0000 -Subject: [PATCH 2/2] vect: Add missing skip-vector check for peeling with - versioning [PR121020] - -This fixes a miscompilation issue introduced by the enablement of -combined loop peeling and versioning. A test case that reproduces the -issue is included in the patch. - -When performing loop peeling, GCC usually inserts a skip-vector check. -This ensures that after peeling, there are enough remaining iterations -to enter the main vectorized loop. Previously, the check was omitted if -loop versioning for alignment was applied. It was safe before because -versioning and peeling for alignment were mutually exclusive. - -However, with combined peeling and versioning enabled, this is not safe -any more. A loop may be peeled and versioned at the same time. Without -the skip-vector check, the main vectorized loop can be entered even if -its iteration count is zero. This can cause the loop running many more -iterations than needed, resulting in incorrect results. - -To fix this, the patch updates the condition of omitting the skip-vector -check to when versioning is performed alone without peeling. - -This patch is bootstrapped and regression-tested on x86_64-linux-gnu, -arm-linux-gnueabihf and aarch64-linux-gnu. - - PR tree-optimization/121020 - -gcc/ChangeLog: - - * tree-vect-loop-manip.cc (vect_do_peeling): Update the - condition of omitting the skip-vector check. - * tree-vectorizer.h (LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING): - Add a helper macro. - -gcc/testsuite/ChangeLog: - -* gcc.dg/vect/vect-early-break_138-pr121020.c: New test. ---- - .../vect/vect-early-break_138-pr121020.c | 54 +++++++++++++++++++ - gcc/tree-vect-loop-manip.cc | 2 +- - gcc/tree-vectorizer.h | 4 ++ - 3 files changed, 59 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.dg/vect/vect-early-break_138-pr121020.c - -diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_138-pr121020.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_138-pr121020.c -new file mode 100644 -index 000000000000..8cb62bf5bc93 ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_138-pr121020.c -@@ -0,0 +1,54 @@ -+/* PR tree-optimization/121020 */ -+/* { dg-options "-O3 --vect-cost-model=unlimited" } */ -+/* { dg-additional-options "-march=znver2" { target x86_64-*-* i?86-*-* } } */ -+/* { dg-require-effective-target mmap } */ -+/* { dg-require-effective-target vect_early_break } */ -+ -+#include -+#include -+#include -+#include -+#include "tree-vect.h" -+ -+__attribute__((noipa)) -+bool equal (uint64_t *restrict p, uint64_t *restrict q, int length) -+{ -+ for (int i = 0; i < length; i++) { -+ if (*(p + i) != *(q + i)) -+ return false; -+ } -+ return true; -+} -+ -+int main () -+{ -+ check_vect (); -+ -+ long pgsz = sysconf (_SC_PAGESIZE); -+ if (pgsz == -1) { -+ fprintf (stderr, "sysconf failed\n"); -+ return 0; -+ } -+ -+ /* Allocate a whole page of memory. */ -+ void *mem = mmap (NULL, pgsz, PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); -+ if (mem == MAP_FAILED) { -+ fprintf (stderr, "mmap failed\n"); -+ return 0; -+ } -+ uint64_t *p1 = (uint64_t *) mem; -+ uint64_t *p2 = (uint64_t *) mem + 32; -+ -+ /* The first 16 elements pointed to by p1 and p2 are the same. */ -+ for (int i = 0; i < 32; i++) { -+ *(p1 + i) = 0; -+ *(p2 + i) = (i < 16 ? 0 : -1); -+ } -+ -+ /* All calls to equal should return true. */ -+ for (int len = 0; len < 16; len++) { -+ if (!equal (p1 + 1, p2 + 1, len)) -+ __builtin_abort(); -+ } -+} -diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc -index 2d01a4b0ed1c..7fcbc1ad2eb8 100644 ---- a/gcc/tree-vect-loop-manip.cc -+++ b/gcc/tree-vect-loop-manip.cc -@@ -3295,7 +3295,7 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1, - bool skip_vector = (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo) - ? maybe_lt (LOOP_VINFO_INT_NITERS (loop_vinfo), - bound_prolog + bound_epilog) -- : (!LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo) -+ : (!LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING (loop_vinfo) - || vect_epilogues)); - - /* Epilog loop must be executed if the number of iterations for epilog -diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h -index 203e5ad964a6..e19002794324 100644 ---- a/gcc/tree-vectorizer.h -+++ b/gcc/tree-vectorizer.h -@@ -1197,6 +1197,10 @@ public: - || LOOP_REQUIRES_VERSIONING_FOR_NITERS (L) \ - || LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND (L)) - -+#define LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING(L) \ -+ ((L)->may_misalign_stmts.length () > 0 \ -+ && !LOOP_VINFO_ALLOW_MUTUAL_ALIGNMENT (L)) -+ - #define LOOP_VINFO_NITERS_KNOWN_P(L) \ - (tree_fits_shwi_p ((L)->num_iters) && tree_to_shwi ((L)->num_iters) > 0) - --- -2.50.1 - diff --git a/16.0.0/gentoo/88_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch b/16.0.0/gentoo/88_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch deleted file mode 100644 index eece80d..0000000 --- a/16.0.0/gentoo/88_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 50cff2194bcb8321414437169d443bf48695972c Mon Sep 17 00:00:00 2001 -Message-ID: <50cff2194bcb8321414437169d443bf48695972c.1753469285.git.sam@gentoo.org> -From: Sam James -Date: Fri, 25 Jul 2025 19:45:18 +0100 -Subject: [PATCH] [sanitizer_common] Remove reference to obsolete termio ioctls - (#138822) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Cherry picked from LLVM commit c99b1bcd505064f2e086e6b1034ce0b0c91ea5b9. - -The termio ioctls are no longer used after commit 59978b21ad9c -("[sanitizer_common] Remove interceptors for deprecated struct termio -(#137403)"), remove them. Fixes this build error: - -../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:765:27: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’ - 765 | unsigned IOCTL_TCGETA = TCGETA; - | ^~~~~~ -../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:769:27: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’ - 769 | unsigned IOCTL_TCSETA = TCSETA; - | ^~~~~~ -../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:770:28: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’ - 770 | unsigned IOCTL_TCSETAF = TCSETAF; - | ^~~~~~~ -../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:771:28: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’ - 771 | unsigned IOCTL_TCSETAW = TCSETAW; - | ^~~~~~~ ---- - .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 4 ---- - .../sanitizer_common/sanitizer_platform_limits_posix.h | 4 ---- - 2 files changed, 8 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -index 490e75fe8f65..9856ac3c3ec4 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -762,13 +762,9 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - unsigned IOCTL_SOUND_PCM_WRITE_FILTER = SOUND_PCM_WRITE_FILTER; - #endif // SOUND_VERSION - unsigned IOCTL_TCFLSH = TCFLSH; -- unsigned IOCTL_TCGETA = TCGETA; - unsigned IOCTL_TCGETS = TCGETS; - unsigned IOCTL_TCSBRK = TCSBRK; - unsigned IOCTL_TCSBRKP = TCSBRKP; -- unsigned IOCTL_TCSETA = TCSETA; -- unsigned IOCTL_TCSETAF = TCSETAF; -- unsigned IOCTL_TCSETAW = TCSETAW; - unsigned IOCTL_TCSETS = TCSETS; - unsigned IOCTL_TCSETSF = TCSETSF; - unsigned IOCTL_TCSETSW = TCSETSW; -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index a80df656826e..cfac4903b76b 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -1274,13 +1274,9 @@ extern unsigned IOCTL_SNDCTL_COPR_SENDMSG; - extern unsigned IOCTL_SNDCTL_COPR_WCODE; - extern unsigned IOCTL_SNDCTL_COPR_WDATA; - extern unsigned IOCTL_TCFLSH; --extern unsigned IOCTL_TCGETA; - extern unsigned IOCTL_TCGETS; - extern unsigned IOCTL_TCSBRK; - extern unsigned IOCTL_TCSBRKP; --extern unsigned IOCTL_TCSETA; --extern unsigned IOCTL_TCSETAF; --extern unsigned IOCTL_TCSETAW; - extern unsigned IOCTL_TCSETS; - extern unsigned IOCTL_TCSETSF; - extern unsigned IOCTL_TCSETSW; - -base-commit: ba5a6787374dea3e90f09771134d16b9f6d2714e --- -2.50.1 - diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history index c0dd40f..c130b16 100644 --- a/16.0.0/gentoo/README.history +++ b/16.0.0/gentoo/README.history @@ -1,7 +1,8 @@ -9 ???? +9 ??? - U 86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch - U 87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch + - 86_all_PR121190-vect-Fix-insufficient-alignment-requirement-for-spec.patch + - 87_all_PR121020-vect-Add-missing-skip-vector-check-for-peeling-with-.patch + - 88_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch 8 30 July 2025