From 221093e850fbc3c154e9069f1958384b59ba3f70 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 28 Oct 2016 17:41:18 +0300 Subject: valgrind: update to 3.12.0 Remove backported gcc5-port.patch Remove 11_mips-link-tool.patch as there is nothing in the target file (or the entire source tree) that resembles anything contained in the patch. Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- .../valgrind/valgrind/11_mips-link-tool.patch | 37 ------- .../valgrind/valgrind/gcc5-port.patch | 64 ----------- meta/recipes-devtools/valgrind/valgrind_3.11.0.bb | 123 --------------------- meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 121 ++++++++++++++++++++ 4 files changed, 121 insertions(+), 224 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb create mode 100644 meta/recipes-devtools/valgrind/valgrind_3.12.0.bb (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch b/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch deleted file mode 100644 index ecb33b8cb3..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch +++ /dev/null @@ -1,37 +0,0 @@ -Debian fix for MIPS: mmap(0x400000, 32768) failed in UME with error 22 (Invalid argument) - - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777704 - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy - - -Description: Disable the MIPS linker workarounds when using -Ttext-section -Origin: vendor -Bug-Debian: http://bugs.debian.org/777704 -Author: James Cowgill -Last-Update: 2015-04-25 - ---- a/coregrind/link_tool_exe_linux.in -+++ b/coregrind/link_tool_exe_linux.in -@@ -76,12 +76,13 @@ - my $arch = substr($x, 0, index($x, "'")); - - my $extra_args; --if (($arch eq 'mips') || ($arch eq 'mipsel') -- || ($arch eq 'mipsisa32r2el')) { -- $extra_args = "-static -Wl,--section-start=.reginfo=$ala"; --} elsif (($arch eq 'mips64') || ($arch eq 'mips64el') || -- ($arch eq 'mipsisa64el')) { -- $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala"; -+if ($arch =~ /^mips/ && "@FLAG_T_TEXT@" eq '-Ttext') { -+ # We only need to use the special mips options when using -Ttext -+ if ($arch =~ /^mips(64|isa64)/) { -+ $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala"; -+ } else { -+ $extra_args = "-static -Wl,--section-start=.reginfo=$ala"; -+ } - } else { - $extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala"; - } diff --git a/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch b/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch deleted file mode 100644 index 76bc821872..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch +++ /dev/null @@ -1,64 +0,0 @@ -backport fix from upstream to fix build errors with gcc 6 - -http://valgrind.10908.n7.nabble.com/Valgrind-r15773-in-trunk-configure-ac-drd-tests-std-thread-cpp-drd-tests-std-thread2-cpp-td56109.html - -../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:3: error: '_Impl_base' is not a member of 'std::thread' - std::thread::_Impl_base* __t = static_cast(__p); - ^~~ -../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:28: error: '__t' was not declared in this scope - std::thread::_Impl_base* __t = static_cast(__p); - ^~~ -../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:59: error: '_Impl_base' in 'class std::thread' does not name a type - std::thread::_Impl_base* __t = static_cast(__p); - ^~~~~~~~~~ - -Signed-off-by: Khem Raj -Upstream-Status: Backport - -Index: configure.ac -=================================================================== ---- a/configure.ac (revision 15772) -+++ b/configure.ac (revision 15773) -@@ -160,7 +160,7 @@ - icc-1[[3-9]].*) - AC_MSG_RESULT([ok (ICC version ${gcc_version})]) - ;; -- notclang-[[3-9]].*|notclang-[[1-9][0-9]]*) -+ notclang-[[3-9]]|notclang-[[3-9]].*|notclang-[[1-9][0-9]]*) - AC_MSG_RESULT([ok (${gcc_version})]) - ;; - clang-2.9|clang-[[3-9]].*|clang-[[1-9][0-9]]*) -Index: drd/tests/std_thread2.cpp -=================================================================== ---- a/drd/tests/std_thread2.cpp (revision 15772) -+++ b/drd/tests/std_thread2.cpp (revision 15773) -@@ -26,6 +26,7 @@ - return 0; - } - -+#if defined(__GNUC__) && __GNUC__ -0 < 6 - // - // From libstdc++-v3/src/c++11/thread.cc - // -@@ -70,3 +71,4 @@ - } - } - } -+#endif -Index: drd/tests/std_thread.cpp -=================================================================== ---- a/drd/tests/std_thread.cpp (revision 15772) -+++ b/drd/tests/std_thread.cpp (revision 15773) -@@ -21,6 +21,7 @@ - return 0; - } - -+#if defined(__GNUC__) && __GNUC__ -0 < 6 - // - // From libstdc++-v3/src/c++11/thread.cc - // -@@ -65,3 +66,4 @@ - } - } - } -+#endif diff --git a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb deleted file mode 100644 index 42fd27f537..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb +++ /dev/null @@ -1,123 +0,0 @@ -SUMMARY = "Valgrind memory debugger and instrumentation framework" -HOMEPAGE = "http://valgrind.org/" -BUGTRACKER = "http://valgrind.org/support/bug_reports.html" -LICENSE = "GPLv2 & GPLv2+ & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \ - file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \ - file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" - -X11DEPENDS = "virtual/libx11" -DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ - " - -SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ - file://fixed-perl-path.patch \ - file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ - file://run-ptest \ - file://11_mips-link-tool.patch \ - file://0002-remove-rpath.patch \ - file://0004-Fix-out-of-tree-builds.patch \ - file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ - 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://gcc5-port.patch \ -" -SRC_URI_append_libc-musl = "\ - file://0001-fix-build-for-musl-targets.patch \ -" -SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129" -SRC_URI[sha256sum] = "6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42" - -COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' - -# valgrind supports armv7 and above -COMPATIBLE_HOST_armv4 = 'null' -COMPATIBLE_HOST_armv5 = 'null' -COMPATIBLE_HOST_armv6 = 'null' - -# valgrind doesn't like mips soft float -COMPATIBLE_HOST_mips = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" -COMPATIBLE_HOST_mipsel = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" - -inherit autotools ptest - -EXTRA_OECONF = "--enable-tls --without-mpicc" -EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS', True) != '32']}" - -# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option -EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}" - -EXTRA_OEMAKE = "-w" - -# valgrind likes to control its own optimisation flags. It generally defaults -# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags -# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it -# which fixes build path issue in DWARF. -SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}" - -CFLAGS_append_libc-uclibc = " -D__UCLIBC__ " - -do_install_append () { - install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ -} - -RDEPENDS_${PN} += "perl" - -# valgrind needs debug information for ld.so at runtime in order to -# redirect functions like strlen. -RRECOMMENDS_${PN} += "${TCLIBC}-dbg" - -RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" - -# One of the tests contains a bogus interpreter path on purpose. -# Skip file dependency check -SKIP_FILEDEPS_${PN}-ptest = '1' - -do_compile_ptest() { - oe_runmake check -} - -do_install_ptest() { - chmod +x ${B}/tests/vg_regtest - - # The test application binaries are not automatically installed. - # Grab them from the build directory. - # - # The regression tests require scripts and data files that are not - # copied to the build directory. They must be copied from the - # source directory. - saved_dir=$PWD - for parent_dir in ${S} ${B} ; do - cd $parent_dir - - # exclude shell or the package won't install - rm -rf none/tests/shell* 2>/dev/null - - subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests" - - # Get the vg test scripts, filters, and expected files - for dir in $subdirs ; do - find $dir | cpio -pvdu ${D}${PTEST_PATH} - done - cd $saved_dir - done - - # clean out build artifacts before building the rpm - find ${D}${PTEST_PATH} \ - \( -name "Makefile*" \ - -o -name "*.o" \ - -o -name "*.c" \ - -o -name "*.S" \ - -o -name "*.h" \) \ - -exec rm {} \; - - # needed by massif tests - cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print - - # handle multilib - sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest -} diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb new file mode 100644 index 0000000000..a1138804ce --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -0,0 +1,121 @@ +SUMMARY = "Valgrind memory debugger and instrumentation framework" +HOMEPAGE = "http://valgrind.org/" +BUGTRACKER = "http://valgrind.org/support/bug_reports.html" +LICENSE = "GPLv2 & GPLv2+ & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \ + file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \ + file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" + +X11DEPENDS = "virtual/libx11" +DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ + " + +SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ + file://fixed-perl-path.patch \ + file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ + file://run-ptest \ + file://0002-remove-rpath.patch \ + file://0004-Fix-out-of-tree-builds.patch \ + file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ + 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 \ +" +SRC_URI_append_libc-musl = "\ + file://0001-fix-build-for-musl-targets.patch \ +" +SRC_URI[md5sum] = "6eb03c0c10ea917013a7622e483d61bb" +SRC_URI[sha256sum] = "67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1" + +COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' + +# valgrind supports armv7 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' +COMPATIBLE_HOST_armv6 = 'null' + +# valgrind doesn't like mips soft float +COMPATIBLE_HOST_mips = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" +COMPATIBLE_HOST_mipsel = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}" + +inherit autotools ptest + +EXTRA_OECONF = "--enable-tls --without-mpicc" +EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS', True) != '32']}" + +# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option +EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}" + +EXTRA_OEMAKE = "-w" + +# valgrind likes to control its own optimisation flags. It generally defaults +# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags +# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it +# which fixes build path issue in DWARF. +SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}" + +CFLAGS_append_libc-uclibc = " -D__UCLIBC__ " + +do_install_append () { + install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ +} + +RDEPENDS_${PN} += "perl" + +# valgrind needs debug information for ld.so at runtime in order to +# redirect functions like strlen. +RRECOMMENDS_${PN} += "${TCLIBC}-dbg" + +RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" + +# One of the tests contains a bogus interpreter path on purpose. +# Skip file dependency check +SKIP_FILEDEPS_${PN}-ptest = '1' + +do_compile_ptest() { + oe_runmake check +} + +do_install_ptest() { + chmod +x ${B}/tests/vg_regtest + + # The test application binaries are not automatically installed. + # Grab them from the build directory. + # + # The regression tests require scripts and data files that are not + # copied to the build directory. They must be copied from the + # source directory. + saved_dir=$PWD + for parent_dir in ${S} ${B} ; do + cd $parent_dir + + # exclude shell or the package won't install + rm -rf none/tests/shell* 2>/dev/null + + subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests" + + # Get the vg test scripts, filters, and expected files + for dir in $subdirs ; do + find $dir | cpio -pvdu ${D}${PTEST_PATH} + done + cd $saved_dir + done + + # clean out build artifacts before building the rpm + find ${D}${PTEST_PATH} \ + \( -name "Makefile*" \ + -o -name "*.o" \ + -o -name "*.c" \ + -o -name "*.S" \ + -o -name "*.h" \) \ + -exec rm {} \; + + # needed by massif tests + cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print + + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest +} -- cgit 1.2.3-korg