From f18e1d2c6a13c3bd8c130f0d20ff2b62a137d84a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 22 May 2023 19:25:03 +0200 Subject: valgrind: update 3.20.0 -> 3.21.0 Drop patches merged upstream. (From OE-Core rev: 3c4d78d8a1d5eca91bee66fd815c80eb0889ce81) Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../0001-drd-tests-Include-missing-cstdint.patch | 34 --- ...m64-Define-__THROW-if-not-already-defined.patch | 32 --- ...x86-linux-seg_override.c-add-missing-incl.patch | 30 +++ ...emcheck-x86-Define-__THROW-if-not-defined.patch | 32 --- ...verride-Replace-__modify_ldt-with-syscall.patch | 68 ------ ...-vg_test-wrapper-to-support-PTEST-formats.patch | 52 ++-- .../valgrind/valgrind/fixed-perl-path.patch | 38 +-- meta/recipes-devtools/valgrind/valgrind_3.20.0.bb | 264 --------------------- meta/recipes-devtools/valgrind/valgrind_3.21.0.bb | 254 ++++++++++++++++++++ 9 files changed, 317 insertions(+), 487 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-Include-missing-cstdint.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch delete mode 100644 meta/recipes-devtools/valgrind/valgrind_3.20.0.bb create mode 100644 meta/recipes-devtools/valgrind/valgrind_3.21.0.bb (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-Include-missing-cstdint.patch b/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-Include-missing-cstdint.patch deleted file mode 100644 index fbee24a538..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-Include-missing-cstdint.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 687d9fb9e3de832379680e9d5268331011c92afa Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 26 Jan 2023 08:53:26 -0800 -Subject: [PATCH] drd/tests: Include missing - -gcc 13 moved some includes around and as a result is no longer -transitively included [1]. Explicitly include it for uint{32,64}_t. - -Fixes -tsan_thread_wrappers_pthread.h:91:9: error: 'int64_t' does not name a type - -[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes - -Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=464859] -Signed-off-by: Khem Raj ---- - drd/tests/tsan_thread_wrappers_pthread.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drd/tests/tsan_thread_wrappers_pthread.h b/drd/tests/tsan_thread_wrappers_pthread.h -index f15e6ad..4cc8062 100644 ---- a/drd/tests/tsan_thread_wrappers_pthread.h -+++ b/drd/tests/tsan_thread_wrappers_pthread.h -@@ -55,6 +55,7 @@ - #define NO_TLS - #endif - -+#include - #include - using namespace std; - --- -2.39.1 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch deleted file mode 100644 index a48d7db070..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3409dc35c15bb14c8a525239806322648e079ab1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 5 Jul 2017 17:12:43 -0700 -Subject: [PATCH 1/3] memcheck/arm64: Define __THROW if not already defined - -Helps compiling with musl where __THROW is not available - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - memcheck/tests/arm64-linux/scalar.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/memcheck/tests/arm64-linux/scalar.h b/memcheck/tests/arm64-linux/scalar.h -index 9008816..8ef050f 100644 ---- a/memcheck/tests/arm64-linux/scalar.h -+++ b/memcheck/tests/arm64-linux/scalar.h -@@ -12,6 +12,10 @@ - #include - #include - -+#ifndef __THROW -+#define __THROW -+#endif -+ - // Since we use vki_unistd.h, we can't include . So we have to - // declare this ourselves. - extern long int syscall (long int __sysno, ...) __THROW; --- -2.13.2 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch b/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch new file mode 100644 index 0000000000..5e36c28523 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch @@ -0,0 +1,30 @@ +From 978d9ed7f857f2cdcd2a8632f3c2feb56b99c825 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 8 May 2023 11:56:35 +0200 +Subject: [PATCH] none/tests/x86-linux/seg_override.c: add missing include for + musl builds + +Otherwise SYS_modify_ldt is undefined. + +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=382034] +Signed-off-by: Alexander Kanavin + +--- + none/tests/x86-linux/seg_override.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/none/tests/x86-linux/seg_override.c b/none/tests/x86-linux/seg_override.c +index ca8fbfe..4ef4394 100644 +--- a/none/tests/x86-linux/seg_override.c ++++ b/none/tests/x86-linux/seg_override.c +@@ -3,6 +3,10 @@ + #include + #include + #include "../../../config.h" ++#if defined(MUSL_LIBC) ++#include ++#include ++#endif + + + /* Stuff from Wine. */ diff --git a/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch b/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch deleted file mode 100644 index 5433472291..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0002-memcheck-x86-Define-__THROW-if-not-defined.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 67d199dbdcbb3feff5f8928f87725fc64c0307d7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 5 Jul 2017 17:36:42 -0700 -Subject: [PATCH 2/3] memcheck/x86: Define __THROW if not defined - -musl does not have __THROW, therefore make it null - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - memcheck/tests/x86-linux/scalar.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/memcheck/tests/x86-linux/scalar.h b/memcheck/tests/x86-linux/scalar.h -index ef28b03..52f742e 100644 ---- a/memcheck/tests/x86-linux/scalar.h -+++ b/memcheck/tests/x86-linux/scalar.h -@@ -11,6 +11,10 @@ - #include - #include - -+#ifndef __THROW -+#define __THROW -+#endif -+ - // Since we use vki_unistd.h, we can't include . So we have to - // declare this ourselves. - extern long int syscall (long int __sysno, ...) __THROW; --- -2.13.2 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch b/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch deleted file mode 100644 index fa1344c853..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch +++ /dev/null @@ -1,68 +0,0 @@ -From d103475875858ab8a2e6b53ce178bb2f63883d4c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 5 Jul 2017 17:37:56 -0700 -Subject: [PATCH 3/3] tests/seg_override: Replace __modify_ldt() with syscall() - -__modify_ldt() is specific to glibc, replacing it with syscall() -makes it more portable. - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - none/tests/x86-linux/seg_override.c | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -diff --git a/none/tests/x86-linux/seg_override.c b/none/tests/x86-linux/seg_override.c -index b7619c9..c89874b 100644 ---- a/none/tests/x86-linux/seg_override.c -+++ b/none/tests/x86-linux/seg_override.c -@@ -2,6 +2,8 @@ - #include - #include - #include -+#include -+#include - - /* Stuff from Wine. */ - -@@ -52,14 +54,11 @@ inline static unsigned int wine_ldt_get_limit( const LDT_ENTRY *ent ) - /* our copy of the ldt */ - LDT_ENTRY ldt_copy[8192]; - --/* System call to set LDT entry. */ --//extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); --extern int __modify_ldt (int, void *, size_t); -- - void print_ldt ( void ) - { - int res; -- res = __modify_ldt( 0, ldt_copy, 8192*sizeof(LDT_ENTRY) ); -+ /* System call to set LDT entry. */ -+ res = syscall(SYS_modify_ldt, 0, ldt_copy, 8192*sizeof(LDT_ENTRY) ); - printf("got %d bytes\n", res ); - perror("error is"); - } -@@ -83,9 +82,6 @@ struct modify_ldt_ldt_s - unsigned int empty:25; - }; - --/* System call to set LDT entry. */ --//extern int __modify_ldt (int, struct modify_ldt_ldt_s *, size_t); -- - void set_ldt1 ( void* base ) - { - int stat; -@@ -102,7 +98,8 @@ void set_ldt1 ( void* base ) - ldt_entry.read_exec_only = 0; - ldt_entry.limit_in_pages = 0; - ldt_entry.seg_not_present = 0; -- stat = __modify_ldt (1, &ldt_entry, sizeof (ldt_entry)); -+ /* System call to set LDT entry. */ -+ stat = syscall(SYS_modify_ldt, 1, &ldt_entry, sizeof (ldt_entry)); - printf("stat = %d\n", stat); - } - --- -2.13.2 - diff --git a/meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch b/meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch index a3637ea846..fea3b00f62 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch @@ -1,7 +1,7 @@ -From f49f27f1bc67d07440b0ac9a7d767a8ea1589bfe Mon Sep 17 00:00:00 2001 +From e244a72c6f8803550f37e81f72bbae039651013b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 15 Dec 2015 15:50:44 +0200 -Subject: [PATCH 5/5] Modify vg_test wrapper to support PTEST formats +Subject: [PATCH] Modify vg_test wrapper to support PTEST formats Change the valgrind regression test script vg_regtest to support the yocto ptest stdout reporting format. The commit adds @@ -25,11 +25,11 @@ Increase time limit to 90 s. Signed-off-by: Yi Fan Yu --- - tests/vg_regtest.in | 75 +++++++++++++++++++++++++++++++++++++++-------------- + tests/vg_regtest.in | 75 +++++++++++++++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 20 deletions(-) diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in -index a441f42..cb05b52 100755 +index ad18800..e4bd8cb 100755 --- a/tests/vg_regtest.in +++ b/tests/vg_regtest.in @@ -47,6 +47,7 @@ @@ -49,7 +49,7 @@ index a441f42..cb05b52 100755 . " Use EXTRA_REGTEST_OPTS to supply extra args for all tests\n" . "\n"; -@@ -186,6 +187,7 @@ my $outer_args; +@@ -187,6 +188,7 @@ my $run_outer_args = ""; my $valgrind_lib = "$tests_dir/.in_place"; my $keepunfiltered = 0; my $looptillfail = 0; @@ -57,7 +57,7 @@ index a441f42..cb05b52 100755 # default filter is the one named "filter_stderr" in the test's directory my $default_stderr_filter = "filter_stderr"; -@@ -244,6 +246,8 @@ sub process_command_line() +@@ -245,6 +247,8 @@ sub process_command_line() $keepunfiltered = 1; } elsif ($arg =~ /^--loop-till-fail$/) { $looptillfail = 1; @@ -66,7 +66,7 @@ index a441f42..cb05b52 100755 } else { die $usage; } -@@ -365,13 +369,28 @@ sub read_vgtest_file($) +@@ -376,13 +380,28 @@ sub read_vgtest_file($) #---------------------------------------------------------------------------- # Since most of the program time is spent in system() calls, need this to # propagate a Ctrl-C enabling us to quit. @@ -100,7 +100,7 @@ index a441f42..cb05b52 100755 # if $keepunfiltered, copies $1 to $1.unfiltered.out # renames $0 tp $1 sub filtered_rename($$) -@@ -419,23 +438,25 @@ sub do_diffs($$$$) +@@ -430,23 +449,25 @@ sub do_diffs($$$$) # A match; remove .out and any previously created .diff files. unlink("$name.$mid.out"); unlink(<$name.$mid.diff*>); @@ -128,7 +128,7 @@ index a441f42..cb05b52 100755 $vgtest =~ /^(.*)\.vgtest/; my $name = $1; my $fullname = "$dir/$name"; -@@ -454,7 +475,11 @@ sub do_one_test($$) +@@ -465,7 +486,11 @@ sub do_one_test($$) } elsif (256 == $prereq_res) { # Nb: weird Perl-ism -- exit code of '1' is seen by Perl as 256... # Prereq failed, skip. @@ -141,7 +141,7 @@ index a441f42..cb05b52 100755 return; } else { # Bad prereq; abort. -@@ -472,7 +497,7 @@ sub do_one_test($$) +@@ -483,7 +508,7 @@ sub do_one_test($$) } # If there is a progB, let's start it in background: printf("%-16s valgrind $extraopts $vgopts $prog $args (progB: $progB $argsB)\n", @@ -150,7 +150,7 @@ index a441f42..cb05b52 100755 # progB.done used to detect child has finished. See below. # Note: redirection of stdout and stderr is before $progB to allow argsB # to e.g. redirect stdoutB to stderrB -@@ -488,7 +513,8 @@ sub do_one_test($$) +@@ -499,7 +524,8 @@ sub do_one_test($$) . "touch progB.done) &"); } } else { @@ -160,7 +160,7 @@ index a441f42..cb05b52 100755 } # Collect environment variables, if any. -@@ -529,7 +555,7 @@ sub do_one_test($$) +@@ -540,7 +566,7 @@ sub do_one_test($$) # Find all the .stdout.exp files. If none, use /dev/null. my @stdout_exps = <$name.stdout.exp*>; @stdout_exps = ( "/dev/null" ) if (0 == scalar @stdout_exps); @@ -169,7 +169,7 @@ index a441f42..cb05b52 100755 # Filter stderr $stderr_filter_args = $name if (! defined $stderr_filter_args); -@@ -538,7 +564,7 @@ sub do_one_test($$) +@@ -549,7 +575,7 @@ sub do_one_test($$) # Find all the .stderr.exp files. At least one must exist. my @stderr_exps = <$name.stderr.exp*>; (0 != scalar @stderr_exps) or die "Could not find `$name.stderr.exp*'\n"; @@ -178,7 +178,7 @@ index a441f42..cb05b52 100755 if (defined $progB) { # wait for the child to be finished -@@ -562,7 +588,7 @@ sub do_one_test($$) +@@ -573,7 +599,7 @@ sub do_one_test($$) # Find all the .stdoutB.exp files. If none, use /dev/null. my @stdoutB_exps = <$name.stdoutB.exp*>; @stdoutB_exps = ( "/dev/null" ) if (0 == scalar @stdoutB_exps); @@ -187,7 +187,7 @@ index a441f42..cb05b52 100755 # Filter stderr $stderrB_filter_args = $name if (! defined $stderrB_filter_args); -@@ -571,7 +597,7 @@ sub do_one_test($$) +@@ -582,7 +608,7 @@ sub do_one_test($$) # Find all the .stderrB.exp files. At least one must exist. my @stderrB_exps = <$name.stderrB.exp*>; (0 != scalar @stderrB_exps) or die "Could not find `$name.stderrB.exp*'\n"; @@ -196,7 +196,7 @@ index a441f42..cb05b52 100755 } # Maybe do post-test check -@@ -583,7 +609,7 @@ sub do_one_test($$) +@@ -594,7 +620,7 @@ sub do_one_test($$) # Find all the .post.exp files. If none, use /dev/null. my @post_exps = <$name.post.exp*>; @post_exps = ( "/dev/null" ) if (0 == scalar @post_exps); @@ -205,7 +205,7 @@ index a441f42..cb05b52 100755 } } -@@ -592,6 +618,13 @@ sub do_one_test($$) +@@ -603,6 +629,13 @@ sub do_one_test($$) print("(cleanup operation failed: $cleanup)\n"); } @@ -219,25 +219,25 @@ index a441f42..cb05b52 100755 $num_tests_done++; } -@@ -631,7 +664,7 @@ sub test_one_dir($$) - my $found_tests = (0 != (grep { $_ =~ /\.vgtest$/ } @fs)); +@@ -643,7 +676,7 @@ sub test_one_dir($$) + my $tests_start_time = time; if ($found_tests) { - print "-- Running tests in $full_dir $dashes\n"; + print "-- Running tests in $full_dir $dashes\n" if ($yoctoptest == 0); } foreach my $f (@fs) { if (-d $f) { -@@ -641,7 +674,7 @@ sub test_one_dir($$) - } - } - if ($found_tests) { -- print "-- Finished tests in $full_dir $dashes\n"; +@@ -657,7 +690,7 @@ sub test_one_dir($$) + my $end_time = "(in $tests_cost_time sec)"; + my $end_dashes = "-" x (50 - (length $full_dir) + - (length $end_time) - 1); +- print "-- Finished tests in $full_dir $end_time $end_dashes\n"; + print "-- Finished tests in $full_dir $dashes\n" if ($yoctoptest == 0); } chdir(".."); -@@ -667,10 +700,12 @@ sub summarise_results +@@ -683,10 +716,12 @@ sub summarise_results $num_failures{"stdout"}, plural($num_failures{"stdout"}), $num_failures{"stderrB"}, plural($num_failures{"stderrB"}), $num_failures{"stdoutB"}, plural($num_failures{"stdoutB"}), @@ -253,5 +253,5 @@ index a441f42..cb05b52 100755 print "\n"; } -- -2.6.2 +2.30.2 diff --git a/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch index db6867f625..b9804e7451 100644 --- a/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch +++ b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch @@ -1,4 +1,4 @@ -From d85cc45e0ddeda68adf594dead715964cb32d0e7 Mon Sep 17 00:00:00 2001 +From beaa5b64c60d501fa9cd59fdc563e5f5bccf6882 Mon Sep 17 00:00:00 2001 From: Qing He Date: Tue, 31 Aug 2010 22:51:58 +0800 Subject: [PATCH] valgrind: fix perl scripts @@ -17,34 +17,13 @@ a better fix would need: Upstream-Status: Inappropriate [configuration] Signed-off-by: Maxin B. John + --- - cachegrind/cg_annotate.in | 2 +- - cachegrind/cg_diff.in | 2 +- - massif/ms_print.in | 2 +- - perf/vg_perf.in | 2 +- - tests/vg_regtest.in | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) + massif/ms_print.in | 2 +- + perf/vg_perf.in | 2 +- + tests/vg_regtest.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in -index fea114b..5e814fd 100644 ---- a/cachegrind/cg_annotate.in -+++ b/cachegrind/cg_annotate.in -@@ -1,4 +1,4 @@ --#! @PERL@ -+#! /usr/bin/perl - - ##--------------------------------------------------------------------## - ##--- Cachegrind's annotator. cg_annotate.in ---## -diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in -index 9d9258e..d0f0ec7 100755 ---- a/cachegrind/cg_diff.in -+++ b/cachegrind/cg_diff.in -@@ -1,4 +1,4 @@ --#! @PERL@ -+#! /usr/bin/perl - - ##--------------------------------------------------------------------## - ##--- Cachegrind's differencer. cg_diff.in ---## diff --git a/massif/ms_print.in b/massif/ms_print.in index a206ce4..df1bc31 100755 --- a/massif/ms_print.in @@ -66,7 +45,7 @@ index 90ee1d2..c585096 100644 ##--- Valgrind performance testing script vg_perf ---## ##--------------------------------------------------------------------## diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in -index 0fe6341..1b45eb7 100755 +index 7152765..ad18800 100755 --- a/tests/vg_regtest.in +++ b/tests/vg_regtest.in @@ -1,4 +1,4 @@ @@ -75,6 +54,3 @@ index 0fe6341..1b45eb7 100755 ##--------------------------------------------------------------------## ##--- Valgrind regression testing script vg_regtest ---## ##--------------------------------------------------------------------## --- -2.29.2 - diff --git a/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb deleted file mode 100644 index 07e50426e4..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind_3.20.0.bb +++ /dev/null @@ -1,264 +0,0 @@ -SUMMARY = "Valgrind memory debugger and instrumentation framework" -HOMEPAGE = "http://valgrind.org/" -DESCRIPTION = "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail." -BUGTRACKER = "http://valgrind.org/support/bug_reports.html" -LICENSE = "GPL-2.0-only & GPL-2.0-or-later & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \ - file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ - file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" - -DEPENDS = " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ - " - -SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ - file://fixed-perl-path.patch \ - file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ - file://run-ptest \ - file://remove-for-aarch64 \ - file://remove-for-all \ - file://taskset_nondeterministic_tests \ - file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.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 \ - file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ - file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ - file://0002-context-APIs-are-not-available-on-musl.patch \ - file://0003-correct-include-directive-path-for-config.h.patch \ - file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \ - file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ - file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ - file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ - file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ - file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ - file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ - file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ - file://s390x_vec_op_t.patch \ - file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ - file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ - file://0001-docs-Disable-manual-validation.patch \ - file://0001-drd-tests-Include-missing-cstdint.patch \ - " -SRC_URI[sha256sum] = "8536c031dbe078d342f121fa881a9ecd205cb5a78e639005ad570011bdb9f3c6" -UPSTREAM_CHECK_REGEX = "valgrind-(?P\d+(\.\d+)+)\.tar" - -COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' - -# patch 0001-memcheck-vgtests-remove-fullpath-after-flags.patch removes relative path -# argument. Change expected stderr files accordingly. -do_patch:append() { - bb.build.exec_func('do_sed_paths', d) -} - -do_sed_paths() { - sed -i -e 's|tests/||' ${S}/memcheck/tests/badfree3.stderr.exp - sed -i -e 's|tests/||' ${S}/memcheck/tests/varinfo5.stderr.exp -} - -# valgrind supports armv7 and above -COMPATIBLE_HOST:armv4 = 'null' -COMPATIBLE_HOST:armv5 = 'null' -COMPATIBLE_HOST:armv6 = 'null' - -# valgrind fails with powerpc soft-float -COMPATIBLE_HOST:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}" - -# X32 isn't supported by valgrind at this time -COMPATIBLE_HOST:linux-gnux32 = 'null' -COMPATIBLE_HOST:linux-muslx32 = 'null' - -# Disable for some MIPS variants -COMPATIBLE_HOST:mipsarchr6 = 'null' -COMPATIBLE_HOST:linux-gnun32 = 'null' - -# Disable for powerpc64 with musl -COMPATIBLE_HOST:libc-musl:powerpc64 = 'null' - -# brokenseip is unfortunately required by ptests to pass -inherit autotools-brokensep ptest multilib_header - -EXTRA_OECONF = "--enable-tls --without-mpicc" -EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '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" - -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" - -# 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}" - -do_configure:prepend () { - rm -rf ${S}/config.h - sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am - sed -i -e 's:$(top_builddir):$(pkglibdir)/ptest:g' ${S}/memcheck/tests/Makefile.am -} - -do_install:append () { - install -m 644 ${B}/default.supp ${D}/${libexecdir}/valgrind/ - oe_multilib_header valgrind/config.h -} - -VALGRINDARCH ?= "${TARGET_ARCH}" -VALGRINDARCH:aarch64 = "arm64" -VALGRINDARCH:x86-64 = "amd64" -VALGRINDARCH:x86 = "x86" -VALGRINDARCH:mips = "mips32" -VALGRINDARCH:mipsel = "mips32" -VALGRINDARCH:mips64el = "mips64" -VALGRINDARCH:powerpc = "ppc" -VALGRINDARCH:powerpc64 = "ppc64" -VALGRINDARCH:powerpc64le = "ppc64le" - -INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" - -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 += " bash coreutils curl file \ - gdb libgomp \ - perl \ - perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ - perl-module-overloading perl-module-cwd perl-module-ipc-open3 \ - perl-module-carp perl-module-symbol \ - procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \ - util-linux-taskset" -RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-gconv-utf-32" - -# One of the tests contains a bogus interpreter path on purpose. -# Skip file dependency check -SKIP_FILEDEPS:${PN}-ptest = '1' -INSANE_SKIP:${PN}-ptest = "debug-deps" - -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 - - subdirs=" \ - .in_place \ - cachegrind/tests \ - callgrind/tests \ - dhat/tests \ - drd/tests \ - gdbserver_tests \ - helgrind/tests \ - lackey/tests \ - massif/tests \ - memcheck/tests \ - none/tests \ - tests \ - exp-bbv/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 - - # The scripts reference config.h so add it to the top ptest dir. - cp ${B}/config.h ${D}${PTEST_PATH} - install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} - install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} - install -D ${WORKDIR}/taskset_nondeterministic_tests ${D}${PTEST_PATH} - - # Add an executable need by none/tests/bigcode - mkdir ${D}${PTEST_PATH}/perf - cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf - - # Add an executable needed by memcheck/tests/vcpu_bz2 - cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf - - # Make the ptest dir look like the top level valgrind src dir - # This is checked by the gdbserver_tests/make_local_links script - mkdir ${D}${PTEST_PATH}/coregrind - cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind - - # Add an executable needed by massif tests - cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print - - find ${D}${PTEST_PATH} \ - \( \ - -name "Makefile*" \ - -o -name "*.o" \ - \) \ - -exec rm {} \; - - # These files need to be newer so touch them. - touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test - - # find *_annotate in ${bindir} for yocto build - sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest - sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann2.vgtest - - sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest - sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest - - # point the expanded @abs_top_builddir@ of the host to PTEST_PATH - sed -i s:${S}:${PTEST_PATH}:g \ - ${D}${PTEST_PATH}/memcheck/tests/linux/debuginfod-check.vgtest - - # handle multilib - sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest - sed -i s:@libexecdir@:${libexecdir}:g ${D}${PTEST_PATH}/run-ptest - sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest - - # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) - # https://bugs.kde.org/show_bug.cgi?id=402833 - rm ${D}${PTEST_PATH}/memcheck/tests/overlap.vgtest - - # This is known failure see https://bugs.kde.org/show_bug.cgi?id=435732 - rm ${D}${PTEST_PATH}/memcheck/tests/leak_cpp_interior.vgtest - - # https://bugs.kde.org/show_bug.cgi?id=445743 - rm ${D}${PTEST_PATH}/drd/tests/pth_mutex_signal - - # As the binary isn't stripped or debug-splitted, the source file isn't fetched - # via dwarfsrcfiles either, so it needs to be installed manually. - mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/ - install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/ -} - -do_install_ptest:append:x86-64 () { - # https://bugs.kde.org/show_bug.cgi?id=463456 - rm ${D}${PTEST_PATH}/memcheck/tests/origin6-fp.vgtest - # https://bugs.kde.org/show_bug.cgi?id=463458 - rm ${D}${PTEST_PATH}/memcheck/tests/vcpu_fnfns.vgtest - # https://bugs.kde.org/show_bug.cgi?id=463463 - rm ${D}${PTEST_PATH}/none/tests/amd64/fma.vgtest -} - -# avoid stripping some generated binaries otherwise some of the tests will fail -# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail -INHIBIT_PACKAGE_STRIP_FILES += "\ - ${PKGD}${PTEST_PATH}/none/tests/tls \ - ${PKGD}${PTEST_PATH}/none/tests/tls.so \ - ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ - ${PKGD}${PTEST_PATH}/helgrind/tests/tc09_bad_unlock \ - ${PKGD}${PTEST_PATH}/memcheck/tests/manuel1 \ - ${PKGD}${PTEST_PATH}/drd/tests/pth_detached3 \ -" diff --git a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb new file mode 100644 index 0000000000..717d82830e --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb @@ -0,0 +1,254 @@ +SUMMARY = "Valgrind memory debugger and instrumentation framework" +HOMEPAGE = "http://valgrind.org/" +DESCRIPTION = "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail." +BUGTRACKER = "http://valgrind.org/support/bug_reports.html" +LICENSE = "GPL-2.0-only & GPL-2.0-or-later & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \ + file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ + file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" + +DEPENDS = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ + " + +SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ + file://fixed-perl-path.patch \ + file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ + file://run-ptest \ + file://remove-for-aarch64 \ + file://remove-for-all \ + file://taskset_nondeterministic_tests \ + file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.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 \ + file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ + file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ + file://0002-context-APIs-are-not-available-on-musl.patch \ + file://0003-correct-include-directive-path-for-config.h.patch \ + file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ + file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ + file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ + file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ + file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ + file://s390x_vec_op_t.patch \ + file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ + file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ + file://0001-docs-Disable-manual-validation.patch \ + file://0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch \ + " +SRC_URI[sha256sum] = "10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971" +UPSTREAM_CHECK_REGEX = "valgrind-(?P\d+(\.\d+)+)\.tar" + +COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' + +# patch 0001-memcheck-vgtests-remove-fullpath-after-flags.patch removes relative path +# argument. Change expected stderr files accordingly. +do_patch:append() { + bb.build.exec_func('do_sed_paths', d) +} + +do_sed_paths() { + sed -i -e 's|tests/||' ${S}/memcheck/tests/badfree3.stderr.exp + sed -i -e 's|tests/||' ${S}/memcheck/tests/varinfo5.stderr.exp +} + +# valgrind supports armv7 and above +COMPATIBLE_HOST:armv4 = 'null' +COMPATIBLE_HOST:armv5 = 'null' +COMPATIBLE_HOST:armv6 = 'null' + +# valgrind fails with powerpc soft-float +COMPATIBLE_HOST:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}" + +# X32 isn't supported by valgrind at this time +COMPATIBLE_HOST:linux-gnux32 = 'null' +COMPATIBLE_HOST:linux-muslx32 = 'null' + +# Disable for some MIPS variants +COMPATIBLE_HOST:mipsarchr6 = 'null' +COMPATIBLE_HOST:linux-gnun32 = 'null' + +# Disable for powerpc64 with musl +COMPATIBLE_HOST:libc-musl:powerpc64 = 'null' + +# brokenseip is unfortunately required by ptests to pass +inherit autotools-brokensep ptest multilib_header + +EXTRA_OECONF = "--enable-tls --without-mpicc" +EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '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" + +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" + +# 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}" + +do_configure:prepend () { + rm -rf ${S}/config.h + sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am + sed -i -e 's:$(top_builddir):$(pkglibdir)/ptest:g' ${S}/memcheck/tests/Makefile.am +} + +do_install:append () { + install -m 644 ${B}/default.supp ${D}/${libexecdir}/valgrind/ + oe_multilib_header valgrind/config.h +} + +VALGRINDARCH ?= "${TARGET_ARCH}" +VALGRINDARCH:aarch64 = "arm64" +VALGRINDARCH:x86-64 = "amd64" +VALGRINDARCH:x86 = "x86" +VALGRINDARCH:mips = "mips32" +VALGRINDARCH:mipsel = "mips32" +VALGRINDARCH:mips64el = "mips64" +VALGRINDARCH:powerpc = "ppc" +VALGRINDARCH:powerpc64 = "ppc64" +VALGRINDARCH:powerpc64le = "ppc64le" + +INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" + +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 += " bash coreutils curl file \ + gdb libgomp \ + perl \ + perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ + perl-module-overloading perl-module-cwd perl-module-ipc-open3 \ + perl-module-carp perl-module-symbol \ + procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \ + util-linux-taskset" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-gconv-utf-32" + +# One of the tests contains a bogus interpreter path on purpose. +# Skip file dependency check +SKIP_FILEDEPS:${PN}-ptest = '1' +INSANE_SKIP:${PN}-ptest = "debug-deps" + +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 + + subdirs=" \ + .in_place \ + cachegrind/tests \ + callgrind/tests \ + dhat/tests \ + drd/tests \ + gdbserver_tests \ + helgrind/tests \ + lackey/tests \ + massif/tests \ + memcheck/tests \ + none/tests \ + tests \ + exp-bbv/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 + + # The scripts reference config.h so add it to the top ptest dir. + cp ${B}/config.h ${D}${PTEST_PATH} + install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} + install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} + install -D ${WORKDIR}/taskset_nondeterministic_tests ${D}${PTEST_PATH} + + # Add an executable need by none/tests/bigcode + mkdir ${D}${PTEST_PATH}/perf + cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf + + # Add an executable needed by memcheck/tests/vcpu_bz2 + cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf + + # Make the ptest dir look like the top level valgrind src dir + # This is checked by the gdbserver_tests/make_local_links script + mkdir ${D}${PTEST_PATH}/coregrind + cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind + + # Add an executable needed by massif tests + cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print + + find ${D}${PTEST_PATH} \ + \( \ + -name "Makefile*" \ + -o -name "*.o" \ + \) \ + -exec rm {} \; + + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest + + # point the expanded @abs_top_builddir@ of the host to PTEST_PATH + sed -i s:${S}:${PTEST_PATH}:g \ + ${D}${PTEST_PATH}/memcheck/tests/linux/debuginfod-check.vgtest + + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest + sed -i s:@libexecdir@:${libexecdir}:g ${D}${PTEST_PATH}/run-ptest + sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest + + # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) + # https://bugs.kde.org/show_bug.cgi?id=402833 + rm ${D}${PTEST_PATH}/memcheck/tests/overlap.vgtest + + # This is known failure see https://bugs.kde.org/show_bug.cgi?id=435732 + rm ${D}${PTEST_PATH}/memcheck/tests/leak_cpp_interior.vgtest + + # https://bugs.kde.org/show_bug.cgi?id=445743 + rm ${D}${PTEST_PATH}/drd/tests/pth_mutex_signal + + # As the binary isn't stripped or debug-splitted, the source file isn't fetched + # via dwarfsrcfiles either, so it needs to be installed manually. + mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/ + install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/none/tests/ +} + +do_install_ptest:append:x86-64 () { + # https://bugs.kde.org/show_bug.cgi?id=463456 + rm ${D}${PTEST_PATH}/memcheck/tests/origin6-fp.vgtest + # https://bugs.kde.org/show_bug.cgi?id=463458 + rm ${D}${PTEST_PATH}/memcheck/tests/vcpu_fnfns.vgtest + # https://bugs.kde.org/show_bug.cgi?id=463463 + rm ${D}${PTEST_PATH}/none/tests/amd64/fma.vgtest +} + +# avoid stripping some generated binaries otherwise some of the tests will fail +# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail +INHIBIT_PACKAGE_STRIP_FILES += "\ + ${PKGD}${PTEST_PATH}/none/tests/tls \ + ${PKGD}${PTEST_PATH}/none/tests/tls.so \ + ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ + ${PKGD}${PTEST_PATH}/helgrind/tests/tc09_bad_unlock \ + ${PKGD}${PTEST_PATH}/memcheck/tests/manuel1 \ + ${PKGD}${PTEST_PATH}/drd/tests/pth_detached3 \ +" -- cgit v1.2.3-54-g00ecf