From 16d03b87304e2bcb01d97a560caf80ecd1d5afda Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Wed, 22 Aug 2018 13:43:05 +0000 Subject: Port the latest version of valgrind Some issues appear with the current version of valgrind on aarch64. (valgrind exits due to an unhandled instruction) An update of valgrind solves this problem. I guess other platform need a update on valgrind too, so this port is not gen3 exclusive. This port uses the yocto recipes(poky:7e7ee662f5dea4d090293045f7498093322802cc): * with some fix on the patch. * remove patch already merged in valgrind git. Bug-AGL: SPEC-1677 Change-Id: Ibf467bee03487252f24ef046b9fe4e4ff6d389da Signed-off-by: Ronan Le Martret --- ...-make-ld-XXX.so-strlen-intercept-optional.patch | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 meta-agl-profile-core/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch (limited to 'meta-agl-profile-core/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch') diff --git a/meta-agl-profile-core/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch b/meta-agl-profile-core/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch new file mode 100644 index 000000000..d04297dca --- /dev/null +++ b/meta-agl-profile-core/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch @@ -0,0 +1,45 @@ +From 005bd11809a1ce65e9f2c28e884354a4741650b9 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Tue, 13 Dec 2016 11:29:55 +0800 +Subject: [PATCH] make ld-XXX.so strlen intercept optional + +Hack: Depending on how glibc was compiled (e.g. optimised for size or +built with _FORTIFY_SOURCE enabled) the strlen symbol might not be +found in ld-XXX.so. Therefore although we should still try to +intercept it, don't make it mandatory to do so. + +Upstream-Status: Inappropriate + +Signed-off-by: Andre McCurdy +Signed-off-by: Jackie Huang +--- + coregrind/m_redir.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c +index ff35009..d7d6816 100644 +--- a/coregrind/m_redir.c ++++ b/coregrind/m_redir.c +@@ -1275,7 +1275,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt, + spec->to_addr = to_addr; + spec->isWrap = False; + spec->isGlobal = False; +- spec->mandatory = mandatory; ++ ++ /* Hack: Depending on how glibc was compiled (e.g. optimised for size or ++ built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found. ++ Therefore although we should still try to intercept it, don't make it ++ mandatory to do so. We over-ride "mandatory" here to avoid the need to ++ patch the many different architecture specific callers to ++ add_hardwired_spec(). */ ++ if (0==VG_(strcmp)("strlen", fnpatt)) ++ spec->mandatory = NULL; ++ else ++ spec->mandatory = mandatory; ++ + /* VARIABLE PARTS */ + spec->mark = False; /* not significant */ + spec->done = False; /* not significant */ +-- +1.9.1 + -- cgit 1.2.3-korg