diff options
Diffstat (limited to 'results/classifier/deepseek-1/output/hypervisor/1926044')
| -rw-r--r-- | results/classifier/deepseek-1/output/hypervisor/1926044 | 121 |
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 + |