File 0001-arm64-Mismatch-detected-between-RDMA-and-atomics-fea.patch of Package valgrind.26850

From 13427e2ae745f9c5a665174b245d6dcebcf159d9 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 11 Feb 2022 17:50:47 +0100
Subject: [PATCH] arm64: Mismatch detected between RDMA and atomics features

check_hwcaps contains code that tries to enforce Arm architecture's
rules for the support of features (FEAT_) on v8.1. Specifically for
v8.1 FEAT_RDM and FEAT_LSE (named FEAT_ATOMICS in Valgrind) are
mandatory.

But an v8.x implementation can implement any of the v8.{x+1}
features, or not, as it chooses. Also under QEMU, which tends
to implement features on an "as-demanded" basis, you sometimes
end up with an odd combination of features, which does not
strictly comply with the architecture.

So ignore the "v8.x" architecture levels, and look only only at
"is feature X present or not". Unless the features are really not
independent.

https://bugs.kde.org/show_bug.cgi?id=449494
---
 VEX/priv/main_main.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/VEX/priv/main_main.c b/VEX/priv/main_main.c
index 1253cf588..482047c7a 100644
--- a/VEX/priv/main_main.c
+++ b/VEX/priv/main_main.c
@@ -2163,11 +2163,6 @@ static void check_hwcaps ( VexArch arch, UInt hwcaps )
          if (have_fp16 != have_vfp16)
             invalid_hwcaps(arch, hwcaps,
                     "Mismatch detected between scalar and vector FP16 features.\n");
-         Bool have_rdm = ((hwcaps & VEX_HWCAPS_ARM64_RDM) != 0);
-         Bool have_atomics = ((hwcaps & VEX_HWCAPS_ARM64_ATOMICS) != 0);
-         if (have_rdm != have_atomics)
-            invalid_hwcaps(arch, hwcaps,
-                    "Mismatch detected between RDMA and atomics features.\n");
          return;
       }
 
-- 
2.38.0

openSUSE Build Service is sponsored by