summary refs log tree commit diff stats
path: root/results/classifier/deepseek-1/output/hypervisor/1926044
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/deepseek-1/output/hypervisor/1926044')
-rw-r--r--results/classifier/deepseek-1/output/hypervisor/1926044121
1 files changed, 121 insertions, 0 deletions
diff --git a/results/classifier/deepseek-1/output/hypervisor/1926044 b/results/classifier/deepseek-1/output/hypervisor/1926044
new file mode 100644
index 000000000..cc506a429
--- /dev/null
+++ b/results/classifier/deepseek-1/output/hypervisor/1926044
@@ -0,0 +1,121 @@
+
+QEMU-user doesn't report HWCAP2_MTE
+
+Reproducible on ffa090bc56e73e287a63261e70ac02c0970be61a
+
+Host Debian 5.10.24 x86_64 GNU
+
+Configured with "configure --disable-system --enable-linux-user --static"
+
+This one works and prints "OK" as expected:
+clang tests/tcg/aarch64/mte-3.c -target aarch64-linux-gnu  -fsanitize=memtag -march=armv8+memtag
+qemu-aarch64 --cpu max -L /usr/aarch64-linux-gnu ./a.out && echo OK
+
+
+This one fails and print "0":
+cat mytest.c
+#include <stdio.h>
+#include <sys/auxv.h>
+
+#ifndef HWCAP2_MTE
+#define HWCAP2_MTE (1 << 18)
+#endif
+
+int main(int ac, char **av)
+{
+    printf("%d\n", (int)(getauxval(AT_HWCAP2) & HWCAP2_MTE));
+}
+
+
+clang mytest.c -target aarch64-linux-gnu  -fsanitize=memtag -march=armv8+memtag
+qemu-aarch64 --cpu max -L /usr/aarch64-linux-gnu ./a.out
+
+Actually if we make it like this:
+
+#include <stdio.h>
+#include <sys/auxv.h>
+
+int main(int ac, char **av)
+{
+    for (int i = 0; i < 32; ++i)
+        if ((int)(getauxval(AT_HWCAP2) & (1 << i)))
+            printf("%d\n", i);
+}
+
+
+clang mytest.c -target aarch64-linux-gnu -fsanitize=memtag -march=armv8+memtag
+qemu-aarch64 --cpu max -L /usr/aarch64-linux-gnu ./a.out
+
+I see only: HWCAP_FP HWCAP_CRC32 HWCAP_ATOMICS
+So no HWCAP2_BTI as well.
+
+Sorry, 0 7 8 should be "HWCAP2_DCPODP HWCAP2_FLAGM2 HWCAP2_FRINT"
+
+Yep, there's a whole bunch that have been missed.
+
+https://<email address hidden>/
+
+This has missed 6.0, but should be acceptable to roll into 6.0.1.
+
+Thanks for the quick fix!
+
+On Tue, Apr 27, 2021 at 2:55 PM Richard Henderson <
+<email address hidden>> wrote:
+
+>
+> https://<email address hidden>/
+>
+> This has missed 6.0, but should be acceptable to roll into 6.0.1.
+>
+> --
+> You received this bug notification because you are subscribed to the bug
+> report.
+> https://bugs.launchpad.net/bugs/1926044
+>
+> Title:
+>   QEMU-user doesn't report HWCAP2_MTE
+>
+> Status in QEMU:
+>   In Progress
+>
+> Bug description:
+>   Reproducible on ffa090bc56e73e287a63261e70ac02c0970be61a
+>
+>   Host Debian 5.10.24 x86_64 GNU
+>
+>   Configured with "configure --disable-system --enable-linux-user
+>   --static"
+>
+>   This one works and prints "OK" as expected:
+>   clang tests/tcg/aarch64/mte-3.c -target aarch64-linux-gnu
+> -fsanitize=memtag -march=armv8+memtag
+>   qemu-aarch64 --cpu max -L /usr/aarch64-linux-gnu ./a.out && echo OK
+>
+>
+>   This one fails and print "0":
+>   cat mytest.c
+>   #include <stdio.h>
+>   #include <sys/auxv.h>
+>
+>   #ifndef HWCAP2_MTE
+>   #define HWCAP2_MTE (1 << 18)
+>   #endif
+>
+>   int main(int ac, char **av)
+>   {
+>       printf("%d\n", (int)(getauxval(AT_HWCAP2) & HWCAP2_MTE));
+>   }
+>
+>
+>   clang mytest.c -target aarch64-linux-gnu  -fsanitize=memtag
+> -march=armv8+memtag
+>   qemu-aarch64 --cpu max -L /usr/aarch64-linux-gnu ./a.out
+>
+> To manage notifications about this bug go to:
+> https://bugs.launchpad.net/qemu/+bug/1926044/+subscriptions
+>
+
+
+Patch has been merged:
+https://gitlab.com/qemu-project/qemu/-/commit/68948d18224b93361e28
+