summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-12-23 14:53:38 -0800
committerArmin Kuster <akuster808@gmail.com>2020-03-10 19:15:57 -0700
commit350496c3c0b80835cb5311aa6dbc91e4ee7b5935 (patch)
treec3ea794e80481439b41e56595627f073b4ffa98e
parent29a1d9bed5bf7ed024870a0323f9afdf88346e4d (diff)
downloadopenembedded-core-contrib-350496c3c0b80835cb5311aa6dbc91e4ee7b5935.tar.gz
valgrind: Fix build with -fno-common
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 14f14eccf176539493fbfe710b66704feb7710da) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch19
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.15.0.bb1
2 files changed, 20 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
new file mode 100644
index 0000000000..eea671da0a
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
@@ -0,0 +1,19 @@
+s390x_vec_op_t is not needed anywhere, only elements of enum are accessed
+removing it ensures that valgrind can be built with -fno-common option
+
+Fixes
+ld: ../../VEX/libvex-amd64-linux.a(libvex_amd64_linux_a-guest_s390_helpers.o):/usr/src/debug/valgrind/3.15.0-r0/build/VEX/../../valgrind-3.15.0/VEX/priv/guest_s390_defs.h:289: multiple definition of `s390x_vec_op_t'; ../../VEX/libvexmultiarch-amd64-linux.a(libvexmultiarch_amd64_linux_a-multiarch_main_main.o):/usr/src/debug/valgrind/3.15.0-r0/build/VEX/../../valgrind-3.15.0/VEX/priv/guest_s390_defs.h:289: first defined here
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/VEX/priv/guest_s390_defs.h
++++ b/VEX/priv/guest_s390_defs.h
+@@ -286,7 +286,7 @@ enum {
+ S390_VEC_OP_VFCHE = 18,
+ S390_VEC_OP_VFTCI = 19,
+ S390_VEC_OP_LAST = 20 // supposed to be the last element in enum
+-} s390x_vec_op_t;
++};
+
+ /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one
+ ULong variable.
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index 63f972945d..aedaab27b3 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -40,6 +40,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \
file://0002-valgrind-adjust-std_list-expected-output.patch \
file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
+ file://s390x_vec_op_t.patch \
"
SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"