[oe-commits] [openembedded-core] 04/07: valgrind: Mask CPUID support in HWCAP on aarch64

git at git.openembedded.org git at git.openembedded.org
Mon Nov 5 16:03:08 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch rocko
in repository openembedded-core.

commit e6cb66399f6ba874a7954d3212157576030dda34
Author: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
AuthorDate: Mon Mar 5 15:58:02 2018 -0800

    valgrind: Mask CPUID support in HWCAP on aarch64
    
    valgrind currently does not know anything about the CPUID flag added to
    the HWCAP auxv entry in kernel 4.11+
    
    At runtime it will fails like this:
    
    ARM64 front end: branch_etc
    disInstr(arm64): unhandled instruction 0xD5380001
    disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0001 ==2082==
    valgrind: Unrecognised instruction at address 0x4014e64.
    
    This patch is a workaround by masking all HWCAP. This patch is dervied
    from https://bugzilla.redhat.com/show_bug.cgi?id=1464211
    
    (From OE-Core rev: cdeb3d530af6cec1959c986aff3d6906939c8918)
    
    Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
    Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 .../mask-CPUID-support-in-HWCAP-on-aarch64.patch   | 36 ++++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.13.0.bb  |  1 +
 2 files changed, 37 insertions(+)

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 0000000..89a95b8
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/mask-CPUID-support-in-HWCAP-on-aarch64.patch
@@ -0,0 +1,36 @@
+Fix runtime Valgrind failure
+
+This patch is derived from
+https://bugzilla.redhat.com/show_bug.cgi?id=1464211
+
+At runtime it will fails like this:
+
+ARM64 front end: branch_etc
+disInstr(arm64): unhandled instruction 0xD5380001
+disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0001 ==2082==
+valgrind: Unrecognised instruction at address 0x4014e64.
+
+This patch is a workaround by masking all HWCAP
+
+Upstream-Status: Pending
+
+Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha at xilinx.com>
+
+Index: valgrind-3.13.0/coregrind/m_initimg/initimg-linux.c
+===================================================================
+
+--- valgrind-3.13.0.orig/coregrind/m_initimg/initimg-linux.c   2018-03-04 22:22:17.698572675 -0800
++++ valgrind-3.13.0/coregrind/m_initimg/initimg-linux.c        2018-03-04 22:23:25.727815624 -0800
+@@ -703,6 +703,12 @@
+                   (and anything above) are not supported by Valgrind. */
+                auxv->u.a_val &= VKI_HWCAP_S390_TE - 1;
+             }
++#           elif defined(VGP_arm64_linux)
++            {
++               /* Linux 4.11 started populating this for arm64, but we
++                  currently don't support any. */
++               auxv->u.a_val = 0;
++            }
+ #           endif
+             break;
+ #        if defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb
index bf3cfd7..9390d30 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.13.0.bb
@@ -37,6 +37,7 @@ SRC_URI = "ftp://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
            file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \
            file://link-gz-tests.patch \
            file://ppc-headers.patch \
+           file://mask-CPUID-support-in-HWCAP-on-aarch64.patch \
            "
 SRC_URI[md5sum] = "817dd08f1e8a66336b9ff206400a5369"
 SRC_URI[sha256sum] = "d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list