You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
(2) |
|
8
|
9
(8) |
10
(4) |
11
(1) |
12
|
13
(1) |
14
(2) |
|
15
|
16
|
17
|
18
(1) |
19
(6) |
20
(4) |
21
(1) |
|
22
(1) |
23
(1) |
24
(1) |
25
|
26
|
27
(8) |
28
|
|
29
|
30
(1) |
31
(4) |
|
|
|
|
|
From: Paul F. <pa...@so...> - 2022-05-19 20:49:01
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=98774bffd21bdeb0e4f2903b8df9083fd93c243d commit 98774bffd21bdeb0e4f2903b8df9083fd93c243d Author: Paul Floyd <pj...@wa...> Date: Thu May 19 22:40:03 2022 +0200 Clobber ecx for clang x86 leak tests The assembler for leak-cases.c on x86 with clang for f() ends with 40198b: c7 04 24 00 00 00 00 movl $0x0,(%esp) 401992: e8 c9 fe ff ff call 401860 <mk> 401997: 89 04 24 mov %eax,(%esp) 40199a: e8 c1 fe ff ff call 401860 <mk> 40199f: a3 74 40 40 00 mov %eax,0x404074 4019a4: a1 74 40 40 00 mov 0x404074,%eax 4019a9: 8b 08 mov (%eax),%ecx 4019ab: 83 c1 08 add $0x8,%ecx 4019ae: 89 08 mov %ecx,(%eax) 4019b0: c7 05 74 40 40 00 00 movl $0x0,0x404074 4019b7: 00 00 00 4019ba: 83 c4 04 add $0x4,%esp 4019bd: 5d pop %ebp 4019be: c3 ret If I've read that correctly, at the enc ECX contains the pointer to allocated memory returned by mk() plus 8. main() doesn't clobber ECX either, so this shows up in the leak checks. Clobbering ECX fixes the following testcases on FreeBSD 13.1 x86 with clang 13 < gdbserver_tests/mcblocklistsearch (stderrB) < memcheck/tests/leak-cases-full (stderr) < memcheck/tests/leak-cases-summary (stderr) < memcheck/tests/leak-cycle (stderr) < memcheck/tests/leak-tree (stderr) < memcheck/tests/lks (stderr) Diff: --- memcheck/tests/leak.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/memcheck/tests/leak.h b/memcheck/tests/leak.h index 9056cf0971..79e3cd6ac7 100644 --- a/memcheck/tests/leak.h +++ b/memcheck/tests/leak.h @@ -143,6 +143,11 @@ "$8", "$9", "$10", "$11", "$12", "$13", \ "$14", "$15", "$24", "$25", "$31"); \ } while (0) +#elif defined (__clang__) && defined(VGA_x86) +#define CLEAR_CALLER_SAVED_REGS \ + do { \ + __asm__ __volatile__ ("movl $0, %ecx\n\t"); \ + } while (0) #else #define CLEAR_CALLER_SAVED_REGS /*nothing*/ #endif |
|
From: Paul F. <pa...@so...> - 2022-05-19 19:29:22
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=c10e4e864fe98b77f946bbfc6547d5e27d982590 commit c10e4e864fe98b77f946bbfc6547d5e27d982590 Author: Paul Floyd <pj...@wa...> Date: Thu May 19 21:28:35 2022 +0200 Add filter for size of stat structure Diff: --- memcheck/tests/freebsd/filter_fstat | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/memcheck/tests/freebsd/filter_fstat b/memcheck/tests/freebsd/filter_fstat index b3bdb245e4..65a5a13205 100755 --- a/memcheck/tests/freebsd/filter_fstat +++ b/memcheck/tests/freebsd/filter_fstat @@ -3,6 +3,10 @@ ../filter_stderr "$@" | gsed '/by 0x........: stat (in \/...libc...)/d;/by 0x........: fstat (in \/...libc...)/d;/by 0x........: fstatat (in \/...libc...)/d' | -gsed '/by 0x........: statfs (in \/...libc...)/d;/by 0x........: fstatfs (in \/...libc...)/d' +gsed '/by 0x........: statfs (in \/...libc...)/d;/by 0x........: fstatfs (in \/...libc...)/d' | + +# fox x86 compatibility + +gsed 's/bytes inside a block of size 208 free/bytes inside a block of size 224 free/' exit 0 |
|
From: Paul F. <pa...@so...> - 2022-05-19 19:23:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=1fa46af2d4cca05f9feaaad86fc2ebeff4a3d41b commit 1fa46af2d4cca05f9feaaad86fc2ebeff4a3d41b Author: Paul Floyd <pj...@wa...> Date: Thu May 19 21:21:18 2022 +0200 Make regtest memcheck/tests/amd64/insn-pmovmskb clang friendly Clang 13 on FreeBSD 13.1 emits a cmov which changes the error messages. Use an 'if' instead which works with both clang and GCC. Diff: --- memcheck/tests/amd64/insn-pmovmskb.c | 6 +- memcheck/tests/amd64/insn-pmovmskb.stderr.exp | 96 +++++++++++++-------------- 2 files changed, 52 insertions(+), 50 deletions(-) diff --git a/memcheck/tests/amd64/insn-pmovmskb.c b/memcheck/tests/amd64/insn-pmovmskb.c index 2f14e75813..85525aee8c 100644 --- a/memcheck/tests/amd64/insn-pmovmskb.c +++ b/memcheck/tests/amd64/insn-pmovmskb.c @@ -45,8 +45,10 @@ static void use(int index, int invalid) /* Create a conditional branch on which our output depends, so that memcheck cannot possibly optimize it away, either. */ - fprintf(stderr, "%d: Invalid value is %s\n", - index, invalid ? "true" : "false"); + if (invalid) + fprintf(stderr, "%d: Invalid value is true\n", index); + else + fprintf(stderr, "%d: Invalid value is false\n", index); } static void doit(ULong vbits_hi, ULong vbits_lo, ULong val_hi, ULong val_lo) diff --git a/memcheck/tests/amd64/insn-pmovmskb.stderr.exp b/memcheck/tests/amd64/insn-pmovmskb.stderr.exp index 5c05833448..c9513acdc1 100644 --- a/memcheck/tests/amd64/insn-pmovmskb.stderr.exp +++ b/memcheck/tests/amd64/insn-pmovmskb.stderr.exp @@ -1,144 +1,144 @@ Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:69) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:71) + by 0x........: main (insn-pmovmskb.c:142) 0: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:73) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:75) + by 0x........: main (insn-pmovmskb.c:142) 1: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:77) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:79) + by 0x........: main (insn-pmovmskb.c:142) 2: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:81) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:83) + by 0x........: main (insn-pmovmskb.c:142) 3: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:85) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:87) + by 0x........: main (insn-pmovmskb.c:142) 4: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:89) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:91) + by 0x........: main (insn-pmovmskb.c:142) 5: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:93) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:95) + by 0x........: main (insn-pmovmskb.c:142) 6: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:97) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:99) + by 0x........: main (insn-pmovmskb.c:142) 7: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:101) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:103) + by 0x........: main (insn-pmovmskb.c:142) 8: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:105) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:107) + by 0x........: main (insn-pmovmskb.c:142) 9: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:109) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:111) + by 0x........: main (insn-pmovmskb.c:142) 10: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:113) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:115) + by 0x........: main (insn-pmovmskb.c:142) 11: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:117) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:119) + by 0x........: main (insn-pmovmskb.c:142) 12: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:121) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:123) + by 0x........: main (insn-pmovmskb.c:142) 13: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:125) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:127) + by 0x........: main (insn-pmovmskb.c:142) 14: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:129) - by 0x........: main (insn-pmovmskb.c:140) + by 0x........: doit (insn-pmovmskb.c:131) + by 0x........: main (insn-pmovmskb.c:142) 15: Invalid value is false Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:85) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:87) + by 0x........: main (insn-pmovmskb.c:145) 4: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:89) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:91) + by 0x........: main (insn-pmovmskb.c:145) 5: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:93) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:95) + by 0x........: main (insn-pmovmskb.c:145) 6: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:97) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:99) + by 0x........: main (insn-pmovmskb.c:145) 7: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:101) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:103) + by 0x........: main (insn-pmovmskb.c:145) 8: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:105) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:107) + by 0x........: main (insn-pmovmskb.c:145) 9: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:117) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:119) + by 0x........: main (insn-pmovmskb.c:145) 12: Invalid value is true Conditional jump or move depends on uninitialised value(s) at 0x........: use (insn-pmovmskb.c:48) - by 0x........: doit (insn-pmovmskb.c:121) - by 0x........: main (insn-pmovmskb.c:143) + by 0x........: doit (insn-pmovmskb.c:123) + by 0x........: main (insn-pmovmskb.c:145) 13: Invalid value is true |
|
From: Paul F. <pa...@so...> - 2022-05-19 18:59:08
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=c065867e55b8358ab55550c4b362c905461ada04 commit c065867e55b8358ab55550c4b362c905461ada04 Author: Paul Floyd <pj...@wa...> Date: Thu May 19 20:58:10 2022 +0200 Add attribute noinline to memcheck/tests/wrap6.c With clang 13 this testcase was failing due to inlining/optimization of fn_12. Diff: --- memcheck/tests/wrap6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/memcheck/tests/wrap6.c b/memcheck/tests/wrap6.c index 4b7017abb7..46eb3c7083 100644 --- a/memcheck/tests/wrap6.c +++ b/memcheck/tests/wrap6.c @@ -588,6 +588,7 @@ UInt I_WRAP_SONAME_FNNAME_ZU(NONE,fn_11) /* --------------- 12 --------------- */ +__attribute__((noinline)) UInt fn_12 ( UInt a1, UInt a2, UInt a3, UInt a4, UInt a5, UInt a6, UInt a7, UInt a8, UInt a9, UInt a10, UInt a11, UInt a12 ) { |
|
From: Paul F. <pa...@so...> - 2022-05-19 18:01:47
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=6b7cd3b4e40d01073a86e716dac7b4e2e1dba25a commit 6b7cd3b4e40d01073a86e716dac7b4e2e1dba25a Author: Paul Floyd <pj...@wa...> Date: Thu May 19 19:52:57 2022 +0200 Update FreeBSD (f)stat tests for FreeBSD 13.1 Somewhat annoyingly, libc is using tail call optimization which alters our callstacks. FreeBSD 13 and earlier had something like {compatibility API check} 1372e0: 48 8d 95 08 fe ff ff lea -0x1f8(%rbp),%rdx 1372e7: bf 8d 01 00 00 mov $0x18d,%edi 1372ec: 44 89 f6 mov %r14d,%esi 1372ef: 31 c0 xor %eax,%eax 1372f1: e8 8a c5 09 00 call 1d3880 <syscall@plt> {compatibility API check} 1342b9: 3d 9f 4f 12 00 cmp $0x124f9f,%eax 1342be: 7c 25 jl 1342e5 <_fstatfs+0x55> 1342c0: 49 8b 07 mov (%r15),%rax 1342c3: 48 3b 45 e0 cmp -0x20(%rbp),%rax 1342c7: 0f 85 51 01 00 00 jne 13441e <_fstatfs+0x18e> {compatibility not needed} 1342cd: 44 89 f7 mov %r14d,%edi 1342d0: 48 89 de mov %rbx,%rsi 1342d3: 48 81 c4 e8 01 00 00 add $0x1e8,%rsp 1342da: 5b pop %rbx 1342db: 41 5e pop %r14 1342dd: 41 5f pop %r15 1342df: 5d pop %rbp {tail call optimization} 1342e0: e9 bb a0 09 00 jmp 1ce3a0 <__sys_fstatfs@plt> {compatibility API call} So I've updated the expecteds and added a filter for 13.0 and older. Diff: --- memcheck/tests/freebsd/Makefile.am | 2 +- memcheck/tests/freebsd/filter_fstat | 8 ++++++++ memcheck/tests/freebsd/stat.stderr.exp | 6 ------ memcheck/tests/freebsd/stat.vgtest | 1 + memcheck/tests/freebsd/statfs.stderr.exp | 5 ----- memcheck/tests/freebsd/statfs.vgtest | 1 + 6 files changed, 11 insertions(+), 12 deletions(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index b9dc4a6d76..472f92125e 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -2,7 +2,7 @@ include $(top_srcdir)/Makefile.tool-tests.am dist_noinst_SCRIPTS = filter_stderr filter_pts dump_stdout filter_sigwait \ - filter_scalar filter_realpathat + filter_scalar filter_realpathat filter_fstat EXTRA_DIST = \ scalar.h \ diff --git a/memcheck/tests/freebsd/filter_fstat b/memcheck/tests/freebsd/filter_fstat new file mode 100755 index 0000000000..b3bdb245e4 --- /dev/null +++ b/memcheck/tests/freebsd/filter_fstat @@ -0,0 +1,8 @@ +#! /bin/sh + +../filter_stderr "$@" | + +gsed '/by 0x........: stat (in \/...libc...)/d;/by 0x........: fstat (in \/...libc...)/d;/by 0x........: fstatat (in \/...libc...)/d' | +gsed '/by 0x........: statfs (in \/...libc...)/d;/by 0x........: fstatfs (in \/...libc...)/d' + +exit 0 diff --git a/memcheck/tests/freebsd/stat.stderr.exp b/memcheck/tests/freebsd/stat.stderr.exp index 017dfc77ca..6df3fa375e 100644 --- a/memcheck/tests/freebsd/stat.stderr.exp +++ b/memcheck/tests/freebsd/stat.stderr.exp @@ -1,6 +1,5 @@ Syscall param fstatat(path) points to unaddressable byte(s) ... - by 0x........: stat (in /...libc...) by 0x........: main (stat.c:52) Address 0x........ is 0 bytes inside a block of size 7 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -12,7 +11,6 @@ Syscall param fstatat(path) points to unaddressable byte(s) Syscall param fstatat(sb) points to unaddressable byte(s) ... - by 0x........: stat (in /...libc...) by 0x........: main (stat.c:57) Address 0x........ is 0 bytes inside a block of size 224 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -23,7 +21,6 @@ Syscall param fstatat(sb) points to unaddressable byte(s) Syscall param fstat(sb) points to unaddressable byte(s) at 0x........: __sys_fstat (in /...libc...) - by 0x........: fstat (in /...libc...) by 0x........: main (stat.c:61) Address 0x........ is 0 bytes inside a block of size 224 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -34,16 +31,13 @@ Syscall param fstat(sb) points to unaddressable byte(s) Syscall param fstat(fd) contains uninitialised byte(s) at 0x........: __sys_fstat (in /...libc...) - by 0x........: fstat (in /...libc...) by 0x........: main (stat.c:64) Syscall param fstatat(fd) contains uninitialised byte(s) ... - by 0x........: fstatat (in /...libc...) by 0x........: main (stat.c:66) Syscall param fstatat(flag) contains uninitialised byte(s) ... - by 0x........: fstatat (in /...libc...) by 0x........: main (stat.c:67) diff --git a/memcheck/tests/freebsd/stat.vgtest b/memcheck/tests/freebsd/stat.vgtest index 320803b1d7..bbdf19a1a8 100644 --- a/memcheck/tests/freebsd/stat.vgtest +++ b/memcheck/tests/freebsd/stat.vgtest @@ -1,3 +1,4 @@ prereq: test -e ./stat prog: stat vgopts: -q +stderr_filter: filter_fstat diff --git a/memcheck/tests/freebsd/statfs.stderr.exp b/memcheck/tests/freebsd/statfs.stderr.exp index 43e51f9842..e60ab30fe6 100644 --- a/memcheck/tests/freebsd/statfs.stderr.exp +++ b/memcheck/tests/freebsd/statfs.stderr.exp @@ -1,6 +1,5 @@ Syscall param statfs(buf) points to unaddressable byte(s) at 0x........: _statfs (in /...libc...) - by 0x........: statfs (in /...libc...) by 0x........: main (statfs.c:28) Address 0x........ is 0 bytes inside a block of size 2,344 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -11,7 +10,6 @@ Syscall param statfs(buf) points to unaddressable byte(s) Syscall param fstatfs(buf) points to unaddressable byte(s) at 0x........: __sys_fstatfs (in /...libc...) - by 0x........: fstatfs (in /...libc...) by 0x........: main (statfs.c:31) Address 0x........ is 0 bytes inside a block of size 2,344 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -22,7 +20,6 @@ Syscall param fstatfs(buf) points to unaddressable byte(s) Syscall param statfs(buf) points to unaddressable byte(s) at 0x........: _statfs (in /...libc...) - by 0x........: statfs (in /...libc...) by 0x........: main (statfs.c:34) Address 0x........ is 0 bytes after a block of size 2,341 alloc'd at 0x........: malloc (vg_replace_malloc.c:...) @@ -30,7 +27,6 @@ Syscall param statfs(buf) points to unaddressable byte(s) Syscall param statfs(path) points to unaddressable byte(s) at 0x........: _statfs (in /...libc...) - by 0x........: statfs (in /...libc...) by 0x........: main (statfs.c:39) Address 0x........ is 0 bytes inside a block of size 8 free'd at 0x........: free (vg_replace_malloc.c:...) @@ -42,6 +38,5 @@ Syscall param statfs(path) points to unaddressable byte(s) Syscall param fstatfs(fd) contains uninitialised byte(s) at 0x........: __sys_fstatfs (in /...libc...) - by 0x........: fstatfs (in /...libc...) by 0x........: main (statfs.c:42) diff --git a/memcheck/tests/freebsd/statfs.vgtest b/memcheck/tests/freebsd/statfs.vgtest index 73c40609d9..e76486ae86 100644 --- a/memcheck/tests/freebsd/statfs.vgtest +++ b/memcheck/tests/freebsd/statfs.vgtest @@ -1,3 +1,4 @@ prereq: test -e ./statfs prog: statfs vgopts: -q +stderr_filter: filter_fstat |
|
From: Paul F. <pa...@so...> - 2022-05-19 08:11:24
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=f6316d1b68c85af2eecfef5ee0a62fff8a8d8954 commit f6316d1b68c85af2eecfef5ee0a62fff8a8d8954 Author: Paul Floyd <pj...@wa...> Date: Thu May 19 10:10:32 2022 +0200 Fix memcheck/tests/freebsd/fexecve This contained a stupid mistake, and had been working by luck. Diff: --- memcheck/tests/freebsd/fexecve.c | 4 ++-- memcheck/tests/freebsd/fexecve.stderr.exp | 25 ++++++++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/memcheck/tests/freebsd/fexecve.c b/memcheck/tests/freebsd/fexecve.c index 6fe62ed597..222ff94ce9 100644 --- a/memcheck/tests/freebsd/fexecve.c +++ b/memcheck/tests/freebsd/fexecve.c @@ -21,8 +21,8 @@ int main(int argc, char **argv, char** envp) int * new_fd = malloc(sizeof(int)); *new_fd += fd; new_argv[1] = new_envp[1] = NULL; - argv[0] = arg1; - envp[0] = env1; + new_argv[0] = arg1; + new_envp[0] = env1; free(arg1); free(env1); diff --git a/memcheck/tests/freebsd/fexecve.stderr.exp b/memcheck/tests/freebsd/fexecve.stderr.exp index 5bb85f79dc..a541658168 100644 --- a/memcheck/tests/freebsd/fexecve.stderr.exp +++ b/memcheck/tests/freebsd/fexecve.stderr.exp @@ -2,22 +2,25 @@ Syscall param fexecve(fd) contains uninitialised byte(s) at 0x........: fexecve (in /...libc...) by 0x........: main (fexecve.c:29) -Syscall param fexecve(argv) points to uninitialised byte(s) - at 0x........: fexecve (in /...libc...) - by 0x........: main (fexecve.c:29) - Address 0x........ is 0 bytes inside a block of size ... alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (fexecve.c:17) - Syscall param fexecve(argv[0]) points to unaddressable byte(s) at 0x........: fexecve (in /...libc...) by 0x........: main (fexecve.c:29) - Address 0x........ is not stack'd, malloc'd or (recently) free'd + Address 0x........ is 0 bytes inside a block of size 10 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (fexecve.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (fexecve.c:19) -Syscall param fexecve(envp) points to uninitialised byte(s) +Syscall param fexecve(envp[i]) points to unaddressable byte(s) at 0x........: fexecve (in /...libc...) by 0x........: main (fexecve.c:29) - Address 0x........ is 0 bytes inside a block of size ... alloc'd + Address 0x........ is 0 bytes inside a block of size 8 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (fexecve.c:28) + Block was alloc'd at at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (fexecve.c:18) + ... + by 0x........: main (fexecve.c:20) |