[gnome-continuous-yocto/gnomeostree-3.28-rocko: 3780/8267] valgrind: make ld-XXX.so strlen intercept optional
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 3780/8267] valgrind: make ld-XXX.so strlen intercept optional
- Date: Sun, 17 Dec 2017 01:06:49 +0000 (UTC)
commit d5e67725ac11e3296cad104470931ffa16824b90
Author: Jackie Huang <jackie huang windriver com>
Date: Wed Dec 14 10:26:13 2016 +0800
valgrind: 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.
(From OE-Core rev: 84ec50e587e7464b260b1b189659b93b6dab0ef6)
Signed-off-by: Jackie Huang <jackie huang windriver com>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
...-make-ld-XXX.so-strlen-intercept-optional.patch | 45 ++++++++++++++++++++
meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 1 +
2 files changed, 46 insertions(+), 0 deletions(-)
---
diff --git a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
new file mode 100644
index 0000000..d04297d
--- /dev/null
+++ b/meta/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 <armccurdy gmail com>
+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 <armccurdy gmail com>
+Signed-off-by: Jackie Huang <jackie huang windriver com>
+---
+ 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
+
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb
b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb
index 637b723..9b28d37 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb
@@ -22,6 +22,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
file://avoid-neon-for-targets-which-don-t-support-it.patch \
+ file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \
"
SRC_URI_append_libc-musl = "\
file://0001-fix-build-for-musl-targets.patch \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]