diff options
Diffstat (limited to 'meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch')
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch b/meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch new file mode 100644 index 0000000000..89a95b82fe --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | Fix runtime Valgrind failure | ||
2 | |||
3 | This patch is derived from | ||
4 | https://bugzilla.redhat.com/show_bug.cgi?id=1464211 | ||
5 | |||
6 | At runtime it will fails like this: | ||
7 | |||
8 | ARM64 front end: branch_etc | ||
9 | disInstr(arm64): unhandled instruction 0xD5380001 | ||
10 | disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0001 ==2082== | ||
11 | valgrind: Unrecognised instruction at address 0x4014e64. | ||
12 | |||
13 | This patch is a workaround by masking all HWCAP | ||
14 | |||
15 | Upstream-Status: Pending | ||
16 | |||
17 | Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | ||
18 | |||
19 | Index: valgrind-3.13.0/coregrind/m_initimg/initimg-linux.c | ||
20 | =================================================================== | ||
21 | |||
22 | --- valgrind-3.13.0.orig/coregrind/m_initimg/initimg-linux.c 2018-03-04 22:22:17.698572675 -0800 | ||
23 | +++ valgrind-3.13.0/coregrind/m_initimg/initimg-linux.c 2018-03-04 22:23:25.727815624 -0800 | ||
24 | @@ -703,6 +703,12 @@ | ||
25 | (and anything above) are not supported by Valgrind. */ | ||
26 | auxv->u.a_val &= VKI_HWCAP_S390_TE - 1; | ||
27 | } | ||
28 | +# elif defined(VGP_arm64_linux) | ||
29 | + { | ||
30 | + /* Linux 4.11 started populating this for arm64, but we | ||
31 | + currently don't support any. */ | ||
32 | + auxv->u.a_val = 0; | ||
33 | + } | ||
34 | # endif | ||
35 | break; | ||
36 | # if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux) | ||