diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-devtools/valgrind | |
download | poky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-devtools/valgrind')
12 files changed, 1057 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch new file mode 100644 index 0000000000..07774f38a9 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch | |||
@@ -0,0 +1,96 @@ | |||
1 | From 0bf4b0ac18d1ea41b32ad781d214b295ca1998f3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Aneesh Bansal <aneesh.bansal@freescale.com> | ||
3 | Date: Mon, 21 Nov 2011 17:31:39 +0530 | ||
4 | Subject: [PATCH] Added support for PPC instructions mfatbu, mfatbl. | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com> | ||
9 | --- | ||
10 | Currently Valgrind 3.7.0 does not have support for PPC instructions mfatbu and mfatbl. When we run a USDPAA application with VALGRIND, the following error is given by valgrind : | ||
11 | dis_proc_ctl(ppc)(mfspr,SPR)(0x20F) | ||
12 | disInstr(ppc): unhandled instruction: 0x7C0F82A6 | ||
13 | |||
14 | |||
15 | VEX/priv/guest_ppc_defs.h | 2 ++ | ||
16 | VEX/priv/guest_ppc_helpers.c | 18 ++++++++++++++++++ | ||
17 | VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++ | ||
18 | 3 files changed, 42 insertions(+), 0 deletions(-) | ||
19 | |||
20 | diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h | ||
21 | index dd3c62e..11a34aa 100644 | ||
22 | --- a/VEX/priv/guest_ppc_defs.h | ||
23 | +++ b/VEX/priv/guest_ppc_defs.h | ||
24 | @@ -146,6 +146,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268_269 ( UInt ); | ||
25 | |||
26 | extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void ); | ||
27 | |||
28 | +extern UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt ); | ||
29 | + | ||
30 | extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst, | ||
31 | UInt vD_idx, UInt sh, | ||
32 | UInt shift_right ); | ||
33 | diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c | ||
34 | index 11aa428..b49ea3f 100644 | ||
35 | --- a/VEX/priv/guest_ppc_helpers.c | ||
36 | +++ b/VEX/priv/guest_ppc_helpers.c | ||
37 | @@ -119,6 +119,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void ) | ||
38 | # endif | ||
39 | } | ||
40 | |||
41 | +/* CALLED FROM GENERATED CODE */ | ||
42 | +/* DIRTY HELPER (non-referentially transparent) */ | ||
43 | +UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt r527 ) | ||
44 | +{ | ||
45 | +# if defined(__powerpc__) || defined(_AIX) | ||
46 | + UInt spr; | ||
47 | + if (r527) { | ||
48 | + __asm__ __volatile__("mfspr %0,527" : "=b"(spr)); | ||
49 | + } else { | ||
50 | + __asm__ __volatile__("mfspr %0,526" : "=b"(spr)); | ||
51 | + } | ||
52 | + return spr; | ||
53 | +# else | ||
54 | + return 0; | ||
55 | +# endif | ||
56 | +} | ||
57 | + | ||
58 | + | ||
59 | |||
60 | /* CALLED FROM GENERATED CODE */ | ||
61 | /* DIRTY HELPER (reads guest state, writes guest mem) */ | ||
62 | diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c | ||
63 | index f8d220d..37c8974 100644 | ||
64 | --- a/VEX/priv/guest_ppc_toIR.c | ||
65 | +++ b/VEX/priv/guest_ppc_toIR.c | ||
66 | @@ -5657,6 +5657,28 @@ static Bool dis_proc_ctl ( VexAbiInfo* vbi, UInt theInstr ) | ||
67 | break; | ||
68 | } | ||
69 | |||
70 | + | ||
71 | + case 526 /* 0x20E */: | ||
72 | + case 527 /* 0x20F */: { | ||
73 | + UInt arg = SPR==526 ? 0 : 1; | ||
74 | + IRTemp val = newTemp(Ity_I32); | ||
75 | + IRExpr** args = mkIRExprVec_1( mkU32(arg) ); | ||
76 | + IRDirty* d = unsafeIRDirty_1_N( | ||
77 | + val, | ||
78 | + 0/*regparms*/, | ||
79 | + "ppc32g_dirtyhelper_MFSPR_526_527", | ||
80 | + fnptr_to_fnentry | ||
81 | + (vbi, &ppc32g_dirtyhelper_MFSPR_526_527), | ||
82 | + args | ||
83 | + ); | ||
84 | + /* execute the dirty call, dumping the result in val. */ | ||
85 | + stmt( IRStmt_Dirty(d) ); | ||
86 | + putIReg( rD_addr, | ||
87 | + mkWidenFrom32(ty, mkexpr(val), False/*unsigned*/) ); | ||
88 | + DIP("mfspr r%u,%u", rD_addr, (UInt)SPR); | ||
89 | + break; | ||
90 | + } | ||
91 | + | ||
92 | default: | ||
93 | vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR); | ||
94 | return False; | ||
95 | -- | ||
96 | 1.7.0.4 | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/add-ptest.patch b/meta/recipes-devtools/valgrind/valgrind/add-ptest.patch new file mode 100644 index 0000000000..225f84305f --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/add-ptest.patch | |||
@@ -0,0 +1,243 @@ | |||
1 | Modify vg_test wrapper to support PTEST formats | ||
2 | |||
3 | Change the valgrind regression test script vg_regtest to | ||
4 | support the yocto ptest stdout reporting format. The commit adds | ||
5 | '--yocto-ptest' as an optional argument to vg_regtest, which alters | ||
6 | the output to use the ptest infrastructure reporting format: | ||
7 | "[PASS|SKIP|FAIL]: testname" | ||
8 | instead of valgrind's internal test reporting format. Without the added | ||
9 | option, --yocto-ptest, the valgrind regression test output is unchanged. | ||
10 | |||
11 | Enforce 30 seconds limit for the test. | ||
12 | This resume execution of the remaining tests when valgrind hangs. | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | |||
16 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> | ||
17 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | ||
18 | |||
19 | diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in | ||
20 | index 224385f..3e0383b 100755 | ||
21 | --- a/tests/vg_regtest.in | ||
22 | +++ b/tests/vg_regtest.in | ||
23 | @@ -39,11 +39,11 @@ | ||
24 | # --valgrind.) | ||
25 | # --keep-unfiltered: keep a copy of the unfiltered output/error output | ||
26 | # of each test by adding an extension .unfiltered.out | ||
27 | -# | ||
28 | # --outer-valgrind: run this valgrind under the given outer valgrind. | ||
29 | # This valgrind must be configured with --enable-inner. | ||
30 | # --outer-tool: tool to use by the outer valgrind (default memcheck). | ||
31 | # --outer-args: use this as outer tool args. | ||
32 | +# --yocto-ptest: output in yocto ptest format | ||
33 | # | ||
34 | # The easiest way is to run all tests in valgrind/ with (assuming you installed | ||
35 | # in $PREFIX): | ||
36 | @@ -126,7 +126,7 @@ use strict; | ||
37 | my $usage="\n" | ||
38 | . "Usage:\n" | ||
39 | . " vg_regtest [--all, --valgrind, --valgrind-lib, --keep-unfiltered\n" | ||
40 | - . " --outer-valgrind, --outer-tool, --outer-args]\n" | ||
41 | + . " --outer-valgrind, --outer-tool, --outer-args, --yocto-ptest]\n" | ||
42 | . " Use EXTRA_REGTEST_OPTS to supply extra args for all tests\n" | ||
43 | . "\n"; | ||
44 | |||
45 | @@ -170,6 +170,7 @@ my $outer_args; | ||
46 | |||
47 | my $valgrind_lib = "$tests_dir/.in_place"; | ||
48 | my $keepunfiltered = 0; | ||
49 | +my $yoctoptest = 0; | ||
50 | |||
51 | # default filter is the one named "filter_stderr" in the test's directory | ||
52 | my $default_stderr_filter = "filter_stderr"; | ||
53 | @@ -226,6 +227,8 @@ sub process_command_line() | ||
54 | $valgrind_lib = $1; | ||
55 | } elsif ($arg =~ /^--keep-unfiltered$/) { | ||
56 | $keepunfiltered = 1; | ||
57 | + } elsif ($arg =~ /^--yocto-ptest$/) { | ||
58 | + $yoctoptest = 1; | ||
59 | } else { | ||
60 | die $usage; | ||
61 | } | ||
62 | @@ -340,13 +343,28 @@ sub read_vgtest_file($) | ||
63 | #---------------------------------------------------------------------------- | ||
64 | # Since most of the program time is spent in system() calls, need this to | ||
65 | # propagate a Ctrl-C enabling us to quit. | ||
66 | -sub mysystem($) | ||
67 | +# Enforce 30 seconds limit for the test. | ||
68 | +# This resume execution of the remaining tests if valgrind hangs. | ||
69 | +sub mysystem($) | ||
70 | { | ||
71 | - my $exit_code = system($_[0]); | ||
72 | - ($exit_code == 2) and exit 1; # 2 is SIGINT | ||
73 | - return $exit_code; | ||
74 | + my $exit_code=0; | ||
75 | + eval { | ||
76 | + local $SIG{'ALRM'} = sub { die "timed out\n" }; | ||
77 | + alarm(30); | ||
78 | + $exit_code = system($_[0]); | ||
79 | + alarm (0); | ||
80 | + ($exit_code == 2) and die "SIGINT\n"; # 2 is SIGINT | ||
81 | + }; | ||
82 | + if ($@) { | ||
83 | + if ($@ eq "timed out\n") { | ||
84 | + print "timed out\n"; | ||
85 | + return 1; | ||
86 | + } | ||
87 | + if ($@ eq "SIGINT\n") { | ||
88 | + exit 1; | ||
89 | + } | ||
90 | + } | ||
91 | } | ||
92 | - | ||
93 | # if $keepunfiltered, copies $1 to $1.unfiltered.out | ||
94 | # renames $0 tp $1 | ||
95 | sub filtered_rename($$) | ||
96 | @@ -394,19 +412,21 @@ sub do_diffs($$$$) | ||
97 | # A match; remove .out and any previously created .diff files. | ||
98 | unlink("$name.$mid.out"); | ||
99 | unlink(<$name.$mid.diff*>); | ||
100 | - return; | ||
101 | + return 0; | ||
102 | } | ||
103 | } | ||
104 | } | ||
105 | # If we reach here, none of the .exp files matched. | ||
106 | - print "*** $name failed ($mid) ***\n"; | ||
107 | + print "*** $name failed ($mid) ***\n" if ($yoctoptest == 0) ; | ||
108 | push(@failures, sprintf("%-40s ($mid)", "$fullname")); | ||
109 | $num_failures{$mid}++; | ||
110 | + return 1; | ||
111 | } | ||
112 | |||
113 | sub do_one_test($$) | ||
114 | { | ||
115 | my ($dir, $vgtest) = @_; | ||
116 | + my $diffStatus = 0; | ||
117 | $vgtest =~ /^(.*)\.vgtest/; | ||
118 | my $name = $1; | ||
119 | my $fullname = "$dir/$name"; | ||
120 | @@ -425,7 +445,11 @@ sub do_one_test($$) | ||
121 | } elsif (256 == $prereq_res) { | ||
122 | # Nb: weird Perl-ism -- exit code of '1' is seen by Perl as 256... | ||
123 | # Prereq failed, skip. | ||
124 | - printf("%-16s (skipping, prereq failed: $prereq)\n", "$name:"); | ||
125 | + if ($yoctoptest == 0) { | ||
126 | + printf("%-16s (skipping, prereq failed: $prereq)\n", "$name:"); | ||
127 | + } else { | ||
128 | + printf("SKIP: $fullname\n"); | ||
129 | + } | ||
130 | return; | ||
131 | } else { | ||
132 | # Bad prereq; abort. | ||
133 | @@ -438,7 +462,7 @@ sub do_one_test($$) | ||
134 | if (defined $progB) { | ||
135 | # If there is a progB, let's start it in background: | ||
136 | printf("%-16s valgrind $extraopts $vgopts $prog $args (progB: $progB $argsB)\n", | ||
137 | - "$name:"); | ||
138 | + "$name:") if ($yoctoptest == 0); | ||
139 | # progB.done used to detect child has finished. See below. | ||
140 | # Note: redirection of stdout and stderr is before $progB to allow argsB | ||
141 | # to e.g. redirect stdoutB to stderrB | ||
142 | @@ -452,7 +476,8 @@ sub do_one_test($$) | ||
143 | . "touch progB.done) &"); | ||
144 | } | ||
145 | } else { | ||
146 | - printf("%-16s valgrind $extraopts $vgopts $prog $args\n", "$name:"); | ||
147 | + printf("%-16s valgrind $extraopts $vgopts $prog $args\n", "$name:") | ||
148 | + if ($yoctoptest == 0); | ||
149 | } | ||
150 | |||
151 | # Pass the appropriate --tool option for the directory (can be overridden | ||
152 | @@ -487,7 +512,7 @@ sub do_one_test($$) | ||
153 | # Find all the .stdout.exp files. If none, use /dev/null. | ||
154 | my @stdout_exps = <$name.stdout.exp*>; | ||
155 | @stdout_exps = ( "/dev/null" ) if (0 == scalar @stdout_exps); | ||
156 | - do_diffs($fullname, $name, "stdout", \@stdout_exps); | ||
157 | + $diffStatus |= do_diffs($fullname, $name, "stdout", \@stdout_exps); | ||
158 | |||
159 | # Filter stderr | ||
160 | $stderr_filter_args = $name if (! defined $stderr_filter_args); | ||
161 | @@ -496,7 +521,7 @@ sub do_one_test($$) | ||
162 | # Find all the .stderr.exp files. At least one must exist. | ||
163 | my @stderr_exps = <$name.stderr.exp*>; | ||
164 | (0 != scalar @stderr_exps) or die "Could not find `$name.stderr.exp*'\n"; | ||
165 | - do_diffs($fullname, $name, "stderr", \@stderr_exps); | ||
166 | + $diffStatus |= do_diffs($fullname, $name, "stderr", \@stderr_exps); | ||
167 | |||
168 | if (defined $progB) { | ||
169 | # wait for the child to be finished | ||
170 | @@ -520,7 +545,7 @@ sub do_one_test($$) | ||
171 | # Find all the .stdoutB.exp files. If none, use /dev/null. | ||
172 | my @stdoutB_exps = <$name.stdoutB.exp*>; | ||
173 | @stdoutB_exps = ( "/dev/null" ) if (0 == scalar @stdoutB_exps); | ||
174 | - do_diffs($fullname, $name, "stdoutB", \@stdoutB_exps); | ||
175 | + $diffStatus |= do_diffs($fullname, $name, "stdoutB", \@stdoutB_exps); | ||
176 | |||
177 | # Filter stderr | ||
178 | $stderrB_filter_args = $name if (! defined $stderrB_filter_args); | ||
179 | @@ -529,7 +554,7 @@ sub do_one_test($$) | ||
180 | # Find all the .stderrB.exp files. At least one must exist. | ||
181 | my @stderrB_exps = <$name.stderrB.exp*>; | ||
182 | (0 != scalar @stderrB_exps) or die "Could not find `$name.stderrB.exp*'\n"; | ||
183 | - do_diffs($fullname, $name, "stderrB", \@stderrB_exps); | ||
184 | + $diffStatus |= do_diffs($fullname, $name, "stderrB", \@stderrB_exps); | ||
185 | } | ||
186 | |||
187 | # Maybe do post-test check | ||
188 | @@ -541,7 +566,7 @@ sub do_one_test($$) | ||
189 | # Find all the .post.exp files. If none, use /dev/null. | ||
190 | my @post_exps = <$name.post.exp*>; | ||
191 | @post_exps = ( "/dev/null" ) if (0 == scalar @post_exps); | ||
192 | - do_diffs($fullname, $name, "post", \@post_exps); | ||
193 | + $diffStatus |= do_diffs($fullname, $name, "post", \@post_exps); | ||
194 | } | ||
195 | } | ||
196 | |||
197 | @@ -550,6 +575,13 @@ sub do_one_test($$) | ||
198 | print("(cleanup operation failed: $cleanup)\n"); | ||
199 | } | ||
200 | |||
201 | + if ($yoctoptest == 1) { | ||
202 | + if ($diffStatus == 0) { | ||
203 | + print("PASS: $fullname\n"); | ||
204 | + } else { | ||
205 | + print("FAIL: $fullname\n"); | ||
206 | + } | ||
207 | + } | ||
208 | $num_tests_done++; | ||
209 | } | ||
210 | |||
211 | @@ -589,7 +621,7 @@ sub test_one_dir($$) | ||
212 | my $found_tests = (0 != (grep { $_ =~ /\.vgtest$/ } @fs)); | ||
213 | |||
214 | if ($found_tests) { | ||
215 | - print "-- Running tests in $full_dir $dashes\n"; | ||
216 | + print "-- Running tests in $full_dir $dashes\n" if ($yoctoptest == 0); | ||
217 | } | ||
218 | foreach my $f (@fs) { | ||
219 | if (-d $f) { | ||
220 | @@ -599,7 +631,7 @@ sub test_one_dir($$) | ||
221 | } | ||
222 | } | ||
223 | if ($found_tests) { | ||
224 | - print "-- Finished tests in $full_dir $dashes\n"; | ||
225 | + print "-- Finished tests in $full_dir $dashes\n" if ($yoctoptest == 0); | ||
226 | } | ||
227 | |||
228 | chdir(".."); | ||
229 | @@ -625,10 +657,12 @@ sub summarise_results | ||
230 | $num_failures{"stdout"}, plural($num_failures{"stdout"}), | ||
231 | $num_failures{"stderrB"}, plural($num_failures{"stderrB"}), | ||
232 | $num_failures{"stdoutB"}, plural($num_failures{"stdoutB"}), | ||
233 | - $num_failures{"post"}, plural($num_failures{"post"})); | ||
234 | + $num_failures{"post"}, plural($num_failures{"post"})) | ||
235 | + if ($yoctoptest == 0); | ||
236 | |||
237 | foreach my $failure (@failures) { | ||
238 | - print "$failure\n"; | ||
239 | + print "$failure\n" | ||
240 | + if ($yoctoptest == 0); | ||
241 | } | ||
242 | print "\n"; | ||
243 | } | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch b/meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch new file mode 100644 index 0000000000..a90fcc510c --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/enable.building.on.4.x.kernel.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | Enable building valgrind on host with 4.x kernel. | ||
2 | |||
3 | For OpenEmbedded builds we should be checking something like | ||
4 | OLDEST_KERNEL instead of `uname -r`, but this is good enough for now. | ||
5 | |||
6 | Building on 4.x* currently fails with: | ||
7 | configure:5556: checking for the kernel version | ||
8 | configure:5579: result: unsupported (4.0.0-rc3-00111-gaffb817) | ||
9 | configure:5581: error: Valgrind works on kernels 2.4, 2.6 | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | --- valgrind-3.9.0/configure.ac.orig 2015-03-13 19:17:01.247310868 +0100 | ||
14 | +++ valgrind-3.9.0/configure.ac 2015-03-13 19:19:27.388316108 +0100 | ||
15 | @@ -276,9 +276,9 @@ | ||
16 | kernel=`uname -r` | ||
17 | |||
18 | case "${kernel}" in | ||
19 | - 2.6.*|3.*) | ||
20 | - AC_MSG_RESULT([2.6.x/3.x family (${kernel})]) | ||
21 | - AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x]) | ||
22 | + 2.6.*|3.*|4.*) | ||
23 | + AC_MSG_RESULT([2.6.x/3.x/4.x family (${kernel})]) | ||
24 | + AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x or Linux 4.x]) | ||
25 | ;; | ||
26 | |||
27 | 2.4.*) | ||
28 | @@ -288,7 +288,7 @@ | ||
29 | |||
30 | *) | ||
31 | AC_MSG_RESULT([unsupported (${kernel})]) | ||
32 | - AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6]) | ||
33 | + AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6, 3.x, 4.x]) | ||
34 | ;; | ||
35 | esac | ||
36 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch new file mode 100644 index 0000000000..b054d05f7f --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | this is a temporary patch to workaround cross compilation. | ||
2 | otherwise @PERL@ will be replaced to perl-native binary, | ||
3 | this creates unusable scripts and fails FILERDEPENDS mechanism | ||
4 | (esp. rpm) | ||
5 | |||
6 | a better fix would need: | ||
7 | 1. configure.ac should differentiate PERL and HOSTPERL | ||
8 | 2. optionally remove ${STAGING_DIR} in #! line before do_install | ||
9 | |||
10 | 8/31/2010 - created by Qing He <qing.he@intel.com> | ||
11 | |||
12 | Upstream-Status: Inappropriate [configuration] | ||
13 | |||
14 | diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in | ||
15 | index 9dc9565..cc4ef05 100644 | ||
16 | --- a/cachegrind/cg_annotate.in | ||
17 | +++ b/cachegrind/cg_annotate.in | ||
18 | @@ -1,4 +1,4 @@ | ||
19 | -#! @PERL@ | ||
20 | +#! /usr/bin/perl | ||
21 | |||
22 | ##--------------------------------------------------------------------## | ||
23 | ##--- Cachegrind's annotator. cg_annotate.in ---## | ||
24 | diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in | ||
25 | index 951066e..84c2dde 100644 | ||
26 | --- a/cachegrind/cg_diff.in | ||
27 | +++ b/cachegrind/cg_diff.in | ||
28 | @@ -1,4 +1,4 @@ | ||
29 | -#! @PERL@ | ||
30 | +#! /usr/bin/perl | ||
31 | |||
32 | ##--------------------------------------------------------------------## | ||
33 | ##--- Cachegrind's differencer. cg_diff.in ---## | ||
34 | diff --git a/massif/ms_print.in b/massif/ms_print.in | ||
35 | index e6ffdbf..fb45906 100755 | ||
36 | --- a/massif/ms_print.in | ||
37 | +++ b/massif/ms_print.in | ||
38 | @@ -1,4 +1,4 @@ | ||
39 | -#! @PERL@ | ||
40 | +#! /usr/bin/perl | ||
41 | |||
42 | ##--------------------------------------------------------------------## | ||
43 | ##--- Massif's results printer ms_print.in ---## | ||
44 | diff --git a/perf/vg_perf.in b/perf/vg_perf.in | ||
45 | index 2188a31..83ad024 100644 | ||
46 | --- a/perf/vg_perf.in | ||
47 | +++ b/perf/vg_perf.in | ||
48 | @@ -1,4 +1,4 @@ | ||
49 | -#! @PERL@ | ||
50 | +#! /usr/bin/perl | ||
51 | ##--------------------------------------------------------------------## | ||
52 | ##--- Valgrind performance testing script vg_perf ---## | ||
53 | ##--------------------------------------------------------------------## | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch b/meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch new file mode 100644 index 0000000000..849dfc50f9 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/force-nostabs.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Suppress building ptest apps with the -gstabs option | ||
2 | |||
3 | Force the configure tests for -gstabs compiler support to fail so that | ||
4 | the regression tests don't try to build with the -gstabs option. | ||
5 | Otherwise, the valgrind build when ptest is enabled fails with the | ||
6 | error: | ||
7 | Stabs debuginfo not supported: | ||
8 | ../package/usr/lib/valgrind/ptest/memcheck/tests/deep_templates | ||
9 | ERROR: Function failed: split_and_strip_files | ||
10 | |||
11 | Upstream-Status: Inappropriate [gstabs support is appropriate upstream, | ||
12 | but not for this distro] | ||
13 | |||
14 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 755dfb9..cc8b5e1 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -1743,22 +1743,7 @@ AM_CONDITIONAL(DWARF4, test x$ac_have_dwarf4 = xyes) | ||
21 | CFLAGS=$safe_CFLAGS | ||
22 | |||
23 | |||
24 | -# does this compiler support -gstabs ? | ||
25 | - | ||
26 | -AC_MSG_CHECKING([if gcc accepts -gstabs]) | ||
27 | - | ||
28 | -safe_CFLAGS=$CFLAGS | ||
29 | -CFLAGS="-gstabs" | ||
30 | -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ | ||
31 | - return 0; | ||
32 | -]])], [ | ||
33 | -ac_have_gstabs=yes | ||
34 | -AC_MSG_RESULT([yes]) | ||
35 | -], [ | ||
36 | ac_have_gstabs=no | ||
37 | -AC_MSG_RESULT([no]) | ||
38 | -]) | ||
39 | -CFLAGS=$safe_CFLAGS | ||
40 | AM_CONDITIONAL([HAVE_GSTABS], [test x$ac_have_gstabs = xyes]) | ||
41 | |||
42 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/glibc-2.20.patch b/meta/recipes-devtools/valgrind/valgrind/glibc-2.20.patch new file mode 100644 index 0000000000..fab4044d17 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/glibc-2.20.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | Backport of glibc 2.19 and 2.20 support. | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
5 | |||
6 | diff --git a/configure.ac b/configure.ac | ||
7 | index 229ab98..1c18108 100644 | ||
8 | --- a/configure.ac | ||
9 | +++ b/configure.ac | ||
10 | @@ -918,6 +918,20 @@ case "${GLIBC_VERSION}" in | ||
11 | DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
12 | DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
13 | ;; | ||
14 | + 2.19) | ||
15 | + AC_MSG_RESULT(2.19 family) | ||
16 | + AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x]) | ||
17 | + DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
18 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
19 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
20 | + ;; | ||
21 | + 2.20) | ||
22 | + AC_MSG_RESULT(2.20 family) | ||
23 | + AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.x]) | ||
24 | + DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
25 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
26 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
27 | + ;; | ||
28 | darwin) | ||
29 | AC_MSG_RESULT(Darwin) | ||
30 | AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch b/meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch new file mode 100644 index 0000000000..12ad4c3f90 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/pass-maltivec-only-if-it-supported.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | Upstream-status: Backport | ||
2 | |||
3 | r14566 | florian | 2014-09-24 17:02:54 -0500 (Wed, 24 Sep 2014) | 4 lines | ||
4 | |||
5 | The testbuckets none/tests/ppc{32,64} did not build in case the | ||
6 | toolchain did not support -maltivec -mabi=altivec. | ||
7 | This should work now. Fixes BZ #338731 | ||
8 | |||
9 | Index: none/tests/ppc32/Makefile.am | ||
10 | =================================================================== | ||
11 | --- a/none/tests/ppc32/Makefile.am (revision 14565) | ||
12 | +++ b/none/tests/ppc32/Makefile.am (revision 14566) | ||
13 | @@ -72,8 +72,12 @@ | ||
14 | allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ | ||
15 | |||
16 | if HAS_ALTIVEC | ||
17 | +BUILD_FLAG_ALTIVEC = -maltivec | ||
18 | +BUILD_FLAG_ABI_ALTIVEC = -mabi=altivec | ||
19 | ALTIVEC_FLAG = -DHAS_ALTIVEC | ||
20 | else | ||
21 | +BUILD_FLAG_ALTIVEC = | ||
22 | +BUILD_FLAG_ABI_ALTIVEC = | ||
23 | ALTIVEC_FLAG = | ||
24 | endif | ||
25 | |||
26 | @@ -101,11 +105,12 @@ | ||
27 | ISA_2_07_FLAG = | ||
28 | endif | ||
29 | |||
30 | -jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec \ | ||
31 | - @FLAG_M32@ $(ALTIVEC_FLAG) | ||
32 | +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames \ | ||
33 | + @FLAG_M32@ $(ALTIVEC_FLAG) $(BUILD_FLAG_ALTIVEC) | ||
34 | |||
35 | -testVMX_CFLAGS = $(AM_CFLAGS) -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \ | ||
36 | - -DGCC_COMPILER @FLAG_M32@ | ||
37 | +testVMX_CFLAGS = $(AM_CFLAGS) -O -g -Wall -DALTIVEC \ | ||
38 | + -DGCC_COMPILER @FLAG_M32@ $(BUILD_FLAG_ALTIVEC) \ | ||
39 | + $(BUILD_FLAG_ABI_ALTIVEC) | ||
40 | |||
41 | test_isa_2_06_part1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_FLAG) \ | ||
42 | @FLAG_M32@ $(ALTIVEC_FLAG) $(BUILD_FLAG_VSX) | ||
43 | Index: none/tests/ppc64/Makefile.am | ||
44 | =================================================================== | ||
45 | --- a/none/tests/ppc64/Makefile.am (revision 14565) | ||
46 | +++ b/none/tests/ppc64/Makefile.am (revision 14566) | ||
47 | @@ -50,8 +50,10 @@ | ||
48 | allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ | ||
49 | |||
50 | if HAS_ALTIVEC | ||
51 | +BUILD_FLAG_ALTIVEC = -maltivec | ||
52 | ALTIVEC_FLAG = -DHAS_ALTIVEC | ||
53 | else | ||
54 | +BUILD_FLAG_ALTIVEC = | ||
55 | ALTIVEC_FLAG = | ||
56 | endif | ||
57 | |||
58 | @@ -88,8 +90,8 @@ | ||
59 | test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_FLAG) \ | ||
60 | @FLAG_M64@ $(ALTIVEC_FLAG) $(BUILD_FLAG_VSX) | ||
61 | |||
62 | -jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec \ | ||
63 | - @FLAG_M64@ $(ALTIVEC_FLAG) | ||
64 | +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames \ | ||
65 | + @FLAG_M64@ $(ALTIVEC_FLAG) $(BUILD_FLAG_ALTIVEC) | ||
66 | |||
67 | test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ | ||
68 | @FLAG_M64@ $(BUILD_FLAGS_DFP) | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch new file mode 100644 index 0000000000..46dea60eb3 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/remove-arm-variant-specific.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | Remove tests that require thumb compiler flags | ||
2 | |||
3 | Default compiler options for arm machines are incompatible with the | ||
4 | '-mthumb' compiler option imposed by the intdiv and lrt test | ||
5 | applications, so those two are removed from the ptest build. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> | ||
10 | |||
11 | diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am | ||
12 | index 2a19f5b..ccdeb77 100644 | ||
13 | --- a/none/tests/arm/Makefile.am | ||
14 | +++ b/none/tests/arm/Makefile.am | ||
15 | @@ -16,15 +16,16 @@ EXTRA_DIST = \ | ||
16 | vcvt_fixed_float_VFP.vgtest \ | ||
17 | vfp.stdout.exp vfp.stderr.exp vfp.vgtest | ||
18 | |||
19 | +# For yocto: | ||
20 | +# Only include tests that don't require Thumb. | ||
21 | +# Only use CFLAGS passed in by the build system. | ||
22 | +# Some tests may fail, but all tests must compile. | ||
23 | check_PROGRAMS = \ | ||
24 | allexec \ | ||
25 | - intdiv \ | ||
26 | - ldrt \ | ||
27 | ldrt_arm \ | ||
28 | neon128 \ | ||
29 | neon64 \ | ||
30 | v6intARM \ | ||
31 | - v6intThumb \ | ||
32 | v6media \ | ||
33 | vcvt_fixed_float_VFP \ | ||
34 | vfp | ||
35 | @@ -34,32 +35,3 @@ AM_CXXFLAGS += @FLAG_M32@ | ||
36 | AM_CCASFLAGS += @FLAG_M32@ | ||
37 | |||
38 | allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ | ||
39 | - | ||
40 | -# These two are specific to their ARM/Thumb respectively and so we | ||
41 | -# hardwire -marm/-mthumb. neon64 and neon128 are compilable on both, | ||
42 | -# however, ask for them to be compiled on thumb, as that looks | ||
43 | -# like that's going to be the more common use case. They also | ||
44 | -# need special helping w.r.t -mfpu and -mfloat-abi, though. | ||
45 | -# Also force -O0 since -O takes hundreds of MB of memory | ||
46 | -# for v6intThumb.c. | ||
47 | -v6intARM_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -marm | ||
48 | -v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb | ||
49 | - | ||
50 | -v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb | ||
51 | - | ||
52 | -vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ | ||
53 | - -mfpu=neon \ | ||
54 | - -mthumb | ||
55 | - | ||
56 | - | ||
57 | -neon128_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ | ||
58 | - -mfpu=neon \ | ||
59 | - -mthumb | ||
60 | - | ||
61 | -neon64_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ | ||
62 | - -mfpu=neon \ | ||
63 | - -mthumb | ||
64 | - | ||
65 | -intdiv_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb | ||
66 | -ldrt_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb | ||
67 | -ldrt_arm_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch b/meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch new file mode 100644 index 0000000000..2a14e1852c --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/remove-ppc-tests-failing-build.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | Remove test apps not building with ppc and PTEST | ||
2 | |||
3 | For mpc8316-rdb in none/tests/ppc32, the oe compiler options are | ||
4 | inconsistent with the imposed test compiler options generating errors | ||
5 | as follows: | ||
6 | test_isa_2_07_part1 | ||
7 | test_isa_2_07_part2 | ||
8 | test_tm | ||
9 | test_touch_tm | ||
10 | : unrecognized command line option '-mhtm' | ||
11 | |||
12 | jm-insns | ||
13 | testVMX | ||
14 | : AltiVec not supported in this target | ||
15 | |||
16 | For the following tests, their inline assembler is inconsistent with | ||
17 | the ppce300c3 variant: | ||
18 | round.c:393 | ||
19 | power5+_round.c:98 | ||
20 | : impossible constraint in 'asm' | ||
21 | |||
22 | For the following tests, with both mpc8316-rdb and with qemuppc bsp, | ||
23 | the inline assember is inconsistent with the oe compiler machine | ||
24 | tuning: | ||
25 | In memcheck/tests/ppc32 | ||
26 | power_ISA2_05.c:56 | ||
27 | In none/tests/ppc32 | ||
28 | test_dfp1.c:85 | ||
29 | test_dfp2.c:160 | ||
30 | test_dfp3.c:157 | ||
31 | test_dfp4.c:73 | ||
32 | test_dfp5.c:73 | ||
33 | : impossible constraint in 'asm' | ||
34 | |||
35 | Upstream-Status: Pending | ||
36 | |||
37 | Signed-off-by: Dave Lerner <dave.lerner@windriver.com> | ||
38 | |||
39 | diff --git a/memcheck/tests/ppc32/Makefile.am b/memcheck/tests/ppc32/Makefile.am | ||
40 | index bd70eea..1436e8e 100644 | ||
41 | --- a/memcheck/tests/ppc32/Makefile.am | ||
42 | +++ b/memcheck/tests/ppc32/Makefile.am | ||
43 | @@ -7,8 +7,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \ | ||
44 | power_ISA2_05.stderr.exp power_ISA2_05.stdout.exp power_ISA2_05.vgtest \ | ||
45 | power_ISA2_05.stdout.exp_Without_FPPO | ||
46 | |||
47 | -check_PROGRAMS = \ | ||
48 | - power_ISA2_05 | ||
49 | +check_PROGRAMS = | ||
50 | |||
51 | power_ISA2_05_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \ | ||
52 | -I$(top_srcdir)/include @FLAG_M32@ | ||
53 | diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am | ||
54 | index 4f581b6..91ce7e7 100644 | ||
55 | --- a/none/tests/ppc32/Makefile.am | ||
56 | +++ b/none/tests/ppc32/Makefile.am | ||
57 | @@ -50,16 +50,8 @@ check_PROGRAMS = \ | ||
58 | allexec \ | ||
59 | bug129390-ppc32 \ | ||
60 | bug139050-ppc32 \ | ||
61 | - ldstrev lsw jm-insns mftocrf mcrfs round test_fx test_gx \ | ||
62 | - testVMX twi tw xlc_dbl_u32 power5+_round power6_bcmp \ | ||
63 | - test_isa_2_06_part1 \ | ||
64 | - test_isa_2_06_part2 \ | ||
65 | - test_isa_2_06_part3 \ | ||
66 | - test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \ | ||
67 | - test_isa_2_07_part1 \ | ||
68 | - test_isa_2_07_part2 \ | ||
69 | - test_tm \ | ||
70 | - test_touch_tm | ||
71 | + ldstrev lsw mftocrf mcrfs test_fx test_gx \ | ||
72 | + twi tw xlc_dbl_u32 power6_bcmp | ||
73 | |||
74 | AM_CFLAGS += @FLAG_M32@ | ||
75 | AM_CXXFLAGS += @FLAG_M32@ | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/run-ptest b/meta/recipes-devtools/valgrind/valgrind/run-ptest new file mode 100755 index 0000000000..f9a72ec4a9 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/run-ptest | |||
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # run-ptest - 'ptest' test infrastructure shell script that | ||
4 | # wraps the valgrind regression script vg_regtest. | ||
5 | # Must be run in the /usr/lib/valgrind/ptest directory. | ||
6 | # | ||
7 | # Dave Lerner <dave.lerner@windriver.com> | ||
8 | ############################################################### | ||
9 | VALGRINDLIB=@libdir@/valgrind | ||
10 | tests/vg_regtest --all \ | ||
11 | --valgrind=/usr/bin/valgrind --valgrind-lib=$VALGRINDLIB \ | ||
12 | --yocto-ptest | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch b/meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch new file mode 100644 index 0000000000..5db0ef8a3f --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/sepbuildfix.patch | |||
@@ -0,0 +1,235 @@ | |||
1 | Fix out of tree builds. The paths to these files need to be fully specified in | ||
2 | the out of tree build case. glibc-2.X.supp is a generated file so the full path | ||
3 | is deliberately not specified in that case. | ||
4 | |||
5 | RP 2013/03/23 | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Index: valgrind-3.9.0/configure.ac | ||
10 | =================================================================== | ||
11 | --- valgrind-3.9.0.orig/configure.ac | ||
12 | +++ valgrind-3.9.0/configure.ac | ||
13 | @@ -325,26 +325,26 @@ case "${host_os}" in | ||
14 | 9.*) | ||
15 | AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) | ||
16 | AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version]) | ||
17 | - DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" | ||
18 | - DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" | ||
19 | + DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" | ||
20 | + DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" | ||
21 | ;; | ||
22 | 10.*) | ||
23 | AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) | ||
24 | AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version]) | ||
25 | - DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}" | ||
26 | - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" | ||
27 | + DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}" | ||
28 | + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" | ||
29 | ;; | ||
30 | 11.*) | ||
31 | AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion]) | ||
32 | AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version]) | ||
33 | - DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}" | ||
34 | - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" | ||
35 | + DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}" | ||
36 | + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" | ||
37 | ;; | ||
38 | 12.*) | ||
39 | AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion]) | ||
40 | AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version]) | ||
41 | - DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}" | ||
42 | - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" | ||
43 | + DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}" | ||
44 | + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" | ||
45 | ;; | ||
46 | *) | ||
47 | AC_MSG_RESULT([unsupported (${kernel})]) | ||
48 | @@ -799,124 +799,124 @@ case "${GLIBC_VERSION}" in | ||
49 | 2.2) | ||
50 | AC_MSG_RESULT(2.2 family) | ||
51 | AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x]) | ||
52 | - DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}" | ||
53 | - DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" | ||
54 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
55 | + DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}" | ||
56 | + DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" | ||
57 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
58 | ;; | ||
59 | |||
60 | 2.3) | ||
61 | AC_MSG_RESULT(2.3 family) | ||
62 | AC_DEFINE([GLIBC_2_3], 1, [Define to 1 if you're using glibc 2.3.x]) | ||
63 | - DEFAULT_SUPP="glibc-2.3.supp ${DEFAULT_SUPP}" | ||
64 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
65 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
66 | + DEFAULT_SUPP="$srcdir/glibc-2.3.supp ${DEFAULT_SUPP}" | ||
67 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
68 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
69 | ;; | ||
70 | |||
71 | 2.4) | ||
72 | AC_MSG_RESULT(2.4 family) | ||
73 | AC_DEFINE([GLIBC_2_4], 1, [Define to 1 if you're using glibc 2.4.x]) | ||
74 | - DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}" | ||
75 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
76 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
77 | + DEFAULT_SUPP="$srcdir/glibc-2.4.supp ${DEFAULT_SUPP}" | ||
78 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
79 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
80 | ;; | ||
81 | |||
82 | 2.5) | ||
83 | AC_MSG_RESULT(2.5 family) | ||
84 | AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x]) | ||
85 | - DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}" | ||
86 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
87 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
88 | + DEFAULT_SUPP="$srcdir/glibc-2.5.supp ${DEFAULT_SUPP}" | ||
89 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
90 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
91 | ;; | ||
92 | 2.6) | ||
93 | AC_MSG_RESULT(2.6 family) | ||
94 | AC_DEFINE([GLIBC_2_6], 1, [Define to 1 if you're using glibc 2.6.x]) | ||
95 | - DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}" | ||
96 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
97 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
98 | + DEFAULT_SUPP="$srcdir/glibc-2.6.supp ${DEFAULT_SUPP}" | ||
99 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
100 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
101 | ;; | ||
102 | 2.7) | ||
103 | AC_MSG_RESULT(2.7 family) | ||
104 | AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x]) | ||
105 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
106 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
107 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
108 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
109 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
110 | ;; | ||
111 | 2.8) | ||
112 | AC_MSG_RESULT(2.8 family) | ||
113 | AC_DEFINE([GLIBC_2_8], 1, [Define to 1 if you're using glibc 2.8.x]) | ||
114 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
115 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
116 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
117 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
118 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
119 | ;; | ||
120 | 2.9) | ||
121 | AC_MSG_RESULT(2.9 family) | ||
122 | AC_DEFINE([GLIBC_2_9], 1, [Define to 1 if you're using glibc 2.9.x]) | ||
123 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
124 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
125 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
126 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
127 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
128 | ;; | ||
129 | 2.10) | ||
130 | AC_MSG_RESULT(2.10 family) | ||
131 | AC_DEFINE([GLIBC_2_10], 1, [Define to 1 if you're using glibc 2.10.x]) | ||
132 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
133 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
134 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
135 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
136 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
137 | ;; | ||
138 | 2.11) | ||
139 | AC_MSG_RESULT(2.11 family) | ||
140 | AC_DEFINE([GLIBC_2_11], 1, [Define to 1 if you're using glibc 2.11.x]) | ||
141 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
142 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
143 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
144 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
145 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
146 | ;; | ||
147 | 2.12) | ||
148 | AC_MSG_RESULT(2.12 family) | ||
149 | AC_DEFINE([GLIBC_2_12], 1, [Define to 1 if you're using glibc 2.12.x]) | ||
150 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
151 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
152 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
153 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
154 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
155 | ;; | ||
156 | 2.13) | ||
157 | AC_MSG_RESULT(2.13 family) | ||
158 | AC_DEFINE([GLIBC_2_13], 1, [Define to 1 if you're using glibc 2.13.x]) | ||
159 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
160 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
161 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
162 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
163 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
164 | ;; | ||
165 | 2.14) | ||
166 | AC_MSG_RESULT(2.14 family) | ||
167 | AC_DEFINE([GLIBC_2_14], 1, [Define to 1 if you're using glibc 2.14.x]) | ||
168 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
169 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
170 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
171 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
172 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
173 | ;; | ||
174 | 2.15) | ||
175 | AC_MSG_RESULT(2.15 family) | ||
176 | AC_DEFINE([GLIBC_2_15], 1, [Define to 1 if you're using glibc 2.15.x]) | ||
177 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
178 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
179 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
180 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
181 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
182 | ;; | ||
183 | 2.16) | ||
184 | AC_MSG_RESULT(2.16 family) | ||
185 | AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x]) | ||
186 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
187 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
188 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
189 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
190 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
191 | ;; | ||
192 | 2.17) | ||
193 | AC_MSG_RESULT(2.17 family) | ||
194 | AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x]) | ||
195 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
196 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
197 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
198 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
199 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
200 | ;; | ||
201 | 2.18) | ||
202 | AC_MSG_RESULT(2.18 family) | ||
203 | AC_DEFINE([GLIBC_2_18], 1, [Define to 1 if you're using glibc 2.18.x]) | ||
204 | DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" | ||
205 | - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
206 | - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
207 | + DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" | ||
208 | + DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}" | ||
209 | ;; | ||
210 | darwin) | ||
211 | AC_MSG_RESULT(Darwin) | ||
212 | @@ -926,7 +926,7 @@ case "${GLIBC_VERSION}" in | ||
213 | bionic) | ||
214 | AC_MSG_RESULT(Bionic) | ||
215 | AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic]) | ||
216 | - DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}" | ||
217 | + DEFAULT_SUPP="$srcdir/bionic.supp ${DEFAULT_SUPP}" | ||
218 | ;; | ||
219 | |||
220 | *) | ||
221 | @@ -943,11 +943,11 @@ AC_SUBST(GLIBC_VERSION) | ||
222 | # attempt to detect whether such libraries are installed on the | ||
223 | # build machine (or even if any X facilities are present); just | ||
224 | # add the suppressions antidisirregardless. | ||
225 | -DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}" | ||
226 | -DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}" | ||
227 | +DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}" | ||
228 | +DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}" | ||
229 | |||
230 | # Add glibc and X11 suppressions for exp-sgcheck | ||
231 | -DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}" | ||
232 | +DEFAULT_SUPP="$srcdir/exp-sgcheck.supp ${DEFAULT_SUPP}" | ||
233 | |||
234 | |||
235 | #---------------------------------------------------------------------------- | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.9.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.9.0.bb new file mode 100644 index 0000000000..9e1ab5f201 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind_3.9.0.bb | |||
@@ -0,0 +1,100 @@ | |||
1 | SUMMARY = "Valgrind memory debugger and instrumentation framework" | ||
2 | HOMEPAGE = "http://valgrind.org/" | ||
3 | BUGTRACKER = "http://valgrind.org/support/bug_reports.html" | ||
4 | LICENSE = "GPLv2 & GPLv2+ & BSD" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \ | ||
6 | file://include/pub_tool_basics.h;beginline=1;endline=29;md5=e7071929a50d4b0fc27a3014b315b0f7 \ | ||
7 | file://include/valgrind.h;beginline=1;endline=56;md5=92df8a1bde56fe2af70931ff55f6622f \ | ||
8 | file://COPYING.DOCS;md5=8fdeb5abdb235a08e76835f8f3260215" | ||
9 | |||
10 | X11DEPENDS = "virtual/libx11" | ||
11 | DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" | ||
12 | PR = "r8" | ||
13 | |||
14 | SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ | ||
15 | file://fixed-perl-path.patch \ | ||
16 | file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ | ||
17 | file://sepbuildfix.patch \ | ||
18 | file://glibc-2.20.patch \ | ||
19 | file://force-nostabs.patch \ | ||
20 | file://remove-arm-variant-specific.patch \ | ||
21 | file://remove-ppc-tests-failing-build.patch \ | ||
22 | file://enable.building.on.4.x.kernel.patch \ | ||
23 | file://add-ptest.patch \ | ||
24 | file://pass-maltivec-only-if-it-supported.patch \ | ||
25 | file://run-ptest \ | ||
26 | " | ||
27 | |||
28 | SRC_URI[md5sum] = "0947de8112f946b9ce64764af7be6df2" | ||
29 | SRC_URI[sha256sum] = "e6af71a06bc2534541b07743e1d58dc3caf744f38205ca3e5b5a0bdf372ed6f0" | ||
30 | |||
31 | COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64).*-linux' | ||
32 | COMPATIBLE_HOST_armv7a = 'arm.*-linux' | ||
33 | |||
34 | inherit autotools ptest | ||
35 | |||
36 | EXTRA_OECONF = "--enable-tls --without-mpicc" | ||
37 | EXTRA_OECONF_armv7a = "--enable-tls -host=armv7-none-linux-gnueabi --without-mpicc" | ||
38 | EXTRA_OEMAKE = "-w" | ||
39 | PARALLEL_MAKE = "" | ||
40 | |||
41 | do_install_append () { | ||
42 | install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ | ||
43 | } | ||
44 | |||
45 | RDEPENDS_${PN} += "perl" | ||
46 | |||
47 | FILES_${PN}-dbg += "${libdir}/${PN}/*/.debug/*" | ||
48 | |||
49 | # valgrind needs debug information for ld.so at runtime in order to | ||
50 | # redirect functions like strlen. | ||
51 | RRECOMMENDS_${PN} += "${TCLIBC}-dbg" | ||
52 | |||
53 | RDEPENDS_${PN}-ptest += " sed perl glibc-utils" | ||
54 | |||
55 | do_compile_ptest() { | ||
56 | oe_runmake check | ||
57 | } | ||
58 | |||
59 | |||
60 | do_install_ptest() { | ||
61 | chmod +x ${B}/tests/vg_regtest | ||
62 | |||
63 | # The test application binaries are not automatically installed. | ||
64 | # Grab them from the build directory. | ||
65 | # | ||
66 | # The regression tests require scripts and data files that are not | ||
67 | # copied to the build directory. They must be copied from the | ||
68 | # source directory. | ||
69 | saved_dir=$PWD | ||
70 | for parent_dir in ${S} ${B} ; do | ||
71 | cd $parent_dir | ||
72 | |||
73 | # exclude shell or the package won't install | ||
74 | rm -rf none/tests/shell* 2>/dev/null | ||
75 | |||
76 | subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests" | ||
77 | |||
78 | # Get the vg test scripts, filters, and expected files | ||
79 | for dir in $subdirs ; do | ||
80 | find $dir | cpio -pvdu ${D}${PTEST_PATH} | ||
81 | done | ||
82 | cd $saved_dir | ||
83 | done | ||
84 | |||
85 | # clean out build artifacts before building the rpm | ||
86 | find ${D}${PTEST_PATH} \ | ||
87 | \( -name "Makefile*" \ | ||
88 | -o -name "*.o" \ | ||
89 | -o -name "*.c" \ | ||
90 | -o -name "*.S" \ | ||
91 | -o -name "*.h" \) \ | ||
92 | -exec rm {} \; | ||
93 | |||
94 | # needed by massif tests | ||
95 | cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print | ||
96 | |||
97 | # handle multilib | ||
98 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest | ||
99 | } | ||
100 | |||