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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(20) |
2
(20) |
3
(11) |
4
(10) |
5
(11) |
6
(19) |
|
7
(12) |
8
(22) |
9
(22) |
10
(18) |
11
(11) |
12
(21) |
13
(17) |
|
14
(8) |
15
(16) |
16
(16) |
17
(9) |
18
(19) |
19
(12) |
20
(9) |
|
21
(8) |
22
(12) |
23
(17) |
24
(8) |
25
(8) |
26
(7) |
27
(11) |
|
28
(12) |
29
(16) |
30
(16) |
31
(9) |
|
|
|
|
From: Tom H. <th...@cy...> - 2007-01-18 03:23:48
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2007-01-18 03:10:04 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 285 tests, 4 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-01-18 03:22:53
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-01-18 03:15:01 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccQdChPF.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccQdChPF.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.31954/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.31954/valgrind' make: *** [check] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccj5NRsV.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccj5NRsV.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.31954/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.31954/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.31954/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Jan 18 03:18:59 2007 --- new.short Thu Jan 18 03:22:44 2007 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccj5NRsV.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccj5NRsV.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 --- 7,16 ---- Last 20 lines of verbose log follow echo ! /tmp/ccQdChPF.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccQdChPF.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2007-01-18 03:22:18
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-01-18 03:00:02 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 287 tests, 8 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/vcpu_fnfns (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/bug132918 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-01-18 03:16:58
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2007-01-18 03:05:04 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 285 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Julian S. <js...@ac...> - 2007-01-18 02:55:29
|
> What's the startup responsiveness change? end-user speak for "the register allocator is a lot faster, especially on amd64 and ppc". J |
|
From: Nicholas N. <nj...@cs...> - 2007-01-18 02:35:11
|
On Thu, 18 Jan 2007 sv...@va... wrote: > +3.2.2 fixes a bunch of bugs in 3.2.1, adds support for glibc-2.5 based > +systems (openSUSE 10.2, Fedora Core 6), improves support for icc-9.X > +compiled code, and brings modest performance > +improvements in some areas, including amd64 floating point, > +powerpc support, and startup responsiveness on all targets. What's the startup responsiveness change? Nick |
|
From: <sv...@va...> - 2007-01-18 02:24:40
|
Author: sewardj Date: 2007-01-18 02:24:35 +0000 (Thu, 18 Jan 2007) New Revision: 6536 Log: --> 3.2.2.RC5 Modified: branches/VALGRIND_3_2_BRANCH/NEWS branches/VALGRIND_3_2_BRANCH/configure.in Modified: branches/VALGRIND_3_2_BRANCH/NEWS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_2_BRANCH/NEWS 2007-01-18 02:21:33 UTC (rev 6535) +++ branches/VALGRIND_3_2_BRANCH/NEWS 2007-01-18 02:24:35 UTC (rev 6536) @@ -76,7 +76,8 @@ n-i-bz reduce extraneous frames in libmpiwrap.c n-i-bz support pselect6 on amd64-linux =20 -(3.2.2: 25 Jan 2007, vex rXXXX, valgrind rXXXX). +(3.2.2.RC5: 18 Jan 2007, vex r1729, valgrind r6536). +(3.2.2: 25 Jan 2007, vex rXXXX, valgrind rXXXX). =20 =20 Release 3.2.1 (16 Sept 2006) Modified: branches/VALGRIND_3_2_BRANCH/configure.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_2_BRANCH/configure.in 2007-01-18 02:21:33 UTC (re= v 6535) +++ branches/VALGRIND_3_2_BRANCH/configure.in 2007-01-18 02:24:35 UTC (re= v 6536) @@ -8,7 +8,7 @@ ##------------------------------------------------------------## =20 # Process this file with autoconf to produce a configure script. -AC_INIT(Valgrind, 3.2.2.RC1, val...@li...) +AC_INIT(Valgrind, 3.2.2.RC5, val...@li...) AC_CONFIG_SRCDIR(coregrind/m_main.c) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE |
|
From: <sv...@va...> - 2007-01-18 02:21:34
|
Author: sewardj Date: 2007-01-18 02:21:33 +0000 (Thu, 18 Jan 2007) New Revision: 6535 Log: Update for 3.2.2. Modified: branches/VALGRIND_3_2_BRANCH/NEWS Modified: branches/VALGRIND_3_2_BRANCH/NEWS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_2_BRANCH/NEWS 2007-01-18 02:20:33 UTC (rev 6534) +++ branches/VALGRIND_3_2_BRANCH/NEWS 2007-01-18 02:21:33 UTC (rev 6535) @@ -1,4 +1,84 @@ =20 +Release 3.2.2 (25 Jan 2007) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +3.2.2 fixes a bunch of bugs in 3.2.1, adds support for glibc-2.5 based +systems (openSUSE 10.2, Fedora Core 6), improves support for icc-9.X=20 +compiled code, and brings modest performance +improvements in some areas, including amd64 floating point,=20 +powerpc support, and startup responsiveness on all targets. + +XXX what else did I forget + +The fixed bugs are as follows. Note that "n-i-bz" stands for "not in +bugzilla" -- that is, a bug that was reported to us but never got a +bugzilla entry. We encourage you to file bugs in bugzilla +(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the +developers (or mailing lists) directly. + + +129390 ppc?->IR: some kind of VMX prefetch (dstt) +129968 amd64->IR: 0xF 0xAE 0x0 (fxsave) +134319 =3D=3D129968 +133054 'make install' fails with syntax errors +118903 =3D=3D133054 +132998 startup fails in when running on UML +134207 pkg-config output contains @VG_PLATFORM@ +134727 valgrind exits with "Value too large for defined data type" +n-i-bz ppc32/64: support mcrfs +n-i-bz Cachegrind/Callgrind: Update cache parameter detection +135012 x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat) +125959 =3D=3D135012 +126147 x86->IR: 0xF2 0xA5 0xF 0x77 (repne movsw) +136650 amd64->IR: 0xC2 0x8 0x0 +135421 x86->IR: unhandled Grp5(R) case 6 +n-i-bz Improved documentation of the IR intermediate representation +n-i-bz jcxz (x86) (users list, 8 Nov) +n-i-bz ExeContext hashing fix +n-i-bz fix CFI reading failures ("Dwarf CFI 0:24 0:32 0:48 0:7") +n-i-bz fix Cachegrind/Callgrind simulation bug +n-i-bz libmpiwrap.c: fix handling of MPI_LONG_DOUBLE +n-i-bz make User errors suppressible +136844 corrupted malloc line when using --gen-suppressions=3Dyes +138507 =3D=3D136844 +n-i-bz Speed up the JIT's register allocator +n-i-bz Fix confusing leak-checker flag hints +n-i-bz Support recent autoswamp versions +n-i-bz ppc32/64 dispatcher speedups +n-i-bz ppc64 front end rld/rlw improvements +n-i-bz ppc64 back end imm64 improvements +136300 support 64K pages on ppc64-linux +139124 =3D=3D 136300 +n-i-bz fix ppc insn set tests for gcc >=3D 4.1 +137493 x86->IR: recent binutils no-ops +137714 x86->IR: 0x66 0xF 0xF7 0xC6 (maskmovdqu) +138424 "failed in UME with error 22" (produce a better error msg) +138856 =3D=3D138424 +138627 Enhancement support for prctl ioctls +138896 Add support for usb ioctls +136059 =3D=3D138896 +139050 ppc32->IR: mfspr 268/269 instructions not handled +n-i-bz ppc32->IR: lvxl/stvxl +n-i-bz glibc-2.5 support +n-i-bz memcheck: provide replacement for mempcpy +n-i-bz memcheck: replace bcmp in ld.so +n-i-bz Use 'ifndef' in VEX's Makefile correctly +n-i-bz Suppressions for MVL 4.0.1 on ppc32-linux +n-i-bz libmpiwrap.c: Fixes for MPICH +n-i-bz More robust handling of hinted client mmaps +139776 Invalid read in unaligned memcpy with Intel compiler v9 +n-i-bz Generate valid XML even for very long fn names +n-i-bz Don't prompt about suppressions for unshown reachable leaks +139910 amd64 rcl is not supported +n-i-bz DWARF CFI reader: handle DW_CFA_undefined +n-i-bz DWARF CFI reader: handle icc9 generated CFI info better +n-i-bz fix false uninit-value errs in icc9 generated FP code +n-i-bz reduce extraneous frames in libmpiwrap.c +n-i-bz support pselect6 on amd64-linux + +(3.2.2: 25 Jan 2007, vex rXXXX, valgrind rXXXX). + + Release 3.2.1 (16 Sept 2006) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.2.1 adds x86/amd64 support for all SSE3 instructions except monitor |
|
From: <sv...@va...> - 2007-01-18 02:20:37
|
Author: sewardj Date: 2007-01-18 02:20:33 +0000 (Thu, 18 Jan 2007) New Revision: 6534 Log: Merge r6533 (Sync with AUTHORS.) Modified: branches/VALGRIND_3_2_BRANCH/ACKNOWLEDGEMENTS Modified: branches/VALGRIND_3_2_BRANCH/ACKNOWLEDGEMENTS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_2_BRANCH/ACKNOWLEDGEMENTS 2007-01-18 02:19:05 UTC= (rev 6533) +++ branches/VALGRIND_3_2_BRANCH/ACKNOWLEDGEMENTS 2007-01-18 02:20:33 UTC= (rev 6534) @@ -47,7 +47,12 @@ interception machinery, support for client allocation pools, and minor other tweakage. =20 +Josef Weidendorfer, Jos...@gm.... =20 +Josef wrote Callgrind and the associated KCachegrind GUI. + + + Frederic Gobry helped with autoconf and automake. Daniel Berlin modified readelf's dwarf2 source line reader, written by Nick Clifton, for use in Valgrind. Michael Matz and Simon Hausmann modified the GNU |
|
From: <sv...@va...> - 2007-01-18 02:19:11
|
Author: sewardj Date: 2007-01-18 02:19:05 +0000 (Thu, 18 Jan 2007) New Revision: 6533 Log: Sync with AUTHORS. Modified: trunk/ACKNOWLEDGEMENTS Modified: trunk/ACKNOWLEDGEMENTS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ACKNOWLEDGEMENTS 2007-01-18 02:18:48 UTC (rev 6532) +++ trunk/ACKNOWLEDGEMENTS 2007-01-18 02:19:05 UTC (rev 6533) @@ -47,7 +47,12 @@ interception machinery, support for client allocation pools, and minor other tweakage. =20 +Josef Weidendorfer, Jos...@gm.... =20 +Josef wrote Callgrind and the associated KCachegrind GUI. + + + Frederic Gobry helped with autoconf and automake. Daniel Berlin modified readelf's dwarf2 source line reader, written by Nick Clifton, for use in Valgrind. Michael Matz and Simon Hausmann modified the GNU |
|
From: <sv...@va...> - 2007-01-18 02:18:51
|
Author: sewardj
Date: 2007-01-18 02:18:48 +0000 (Thu, 18 Jan 2007)
New Revision: 6532
Log:
Update.
Modified:
trunk/docs/internals/3_2_BUGSTATUS.txt
Modified: trunk/docs/internals/3_2_BUGSTATUS.txt
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/internals/3_2_BUGSTATUS.txt 2007-01-18 00:17:01 UTC (rev 6=
531)
+++ trunk/docs/internals/3_2_BUGSTATUS.txt 2007-01-18 02:18:48 UTC (rev 6=
532)
@@ -186,7 +186,7 @@
=20
r6495 r6497 32 n-i-bz More robust handling of hinted client mma=
ps
=20
-? ? 32,w 139776 Invalid read in unaligned memcpy with=20
+r6526 r6528 32 139776 Invalid read in unaligned memcpy with=20
Intel compiler v9
=20
r6502 r6503 32 n-i-bz Generate valid XML even for very long
@@ -201,12 +201,17 @@
=20
r6510 r6513 32 n-i-bz unwinder: DW_CFA_undefined
=20
-r6509 r6512 32 n-i-bz fix stack unwinding w/ icc generated
+r6509 r6512 32 n-i-bz fix stack unwinding w/ icc9 generated
code on amd64
=20
-? ? ? n-i-bz uninit errs in icc9 gsl-1.6
+vx1728 vx1729 32 n-i-bz fix false uninit-value errs in icc9
+ generated FP code
=20
+r6523 r6527 32 n-i-bz reduce extraneous frames in libmpiwrap.c
=20
+r6530 r6531 32 n-i-bz support pselect6 on amd64-linux
+
+
------- Bugs reported and fixed in 3.2.0 ------
=20
SSE3 commits: vx1635,1636, v5997
|
|
From: <js...@ac...> - 2007-01-18 01:16:24
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-01-18 02:00:01 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 224 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2007-01-18 00:17:04
|
Author: sewardj
Date: 2007-01-18 00:17:01 +0000 (Thu, 18 Jan 2007)
New Revision: 6531
Log:
Merge r6530 (Enable the pselect6 wrapper on amd64-linux.)
Modified:
branches/VALGRIND_3_2_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: branches/VALGRIND_3_2_BRANCH/coregrind/m_syswrap/syswrap-amd64-=
linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_2_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2007-01-18 00:13:24 UTC (rev 6530)
+++ branches/VALGRIND_3_2_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2007-01-18 00:17:01 UTC (rev 6531)
@@ -1325,7 +1325,7 @@
LINX_(__NR_fchmodat, sys_fchmodat), // 268
LINX_(__NR_faccessat, sys_faccessat), // 269
=20
-// LINX_(__NR_pselect6, sys_ni_syscall), // 270
+ LINX_(__NR_pselect6, sys_pselect6), // 270
// LINXY(__NR_ppoll, sys_ni_syscall), // 271
// LINX_(__NR_unshare, sys_unshare), // 272
LINX_(__NR_set_robust_list, sys_set_robust_list), // 273
|
|
From: <sv...@va...> - 2007-01-18 00:13:28
|
Author: sewardj
Date: 2007-01-18 00:13:24 +0000 (Thu, 18 Jan 2007)
New Revision: 6530
Log:
Enable the pselect6 wrapper on amd64-linux.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2007-01-17 04:35:59 U=
TC (rev 6529)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2007-01-18 00:13:24 U=
TC (rev 6530)
@@ -1325,7 +1325,7 @@
LINX_(__NR_fchmodat, sys_fchmodat), // 268
LINX_(__NR_faccessat, sys_faccessat), // 269
=20
-// LINX_(__NR_pselect6, sys_ni_syscall), // 270
+ LINX_(__NR_pselect6, sys_pselect6), // 270
// LINXY(__NR_ppoll, sys_ni_syscall), // 271
// LINX_(__NR_unshare, sys_unshare), // 272
LINX_(__NR_set_robust_list, sys_set_robust_list), // 273
|
|
From: <js...@ac...> - 2007-01-17 07:16:40
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2007-01-17 09:00:02 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 218 tests, 10 stderr failures, 6 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: <js...@ac...> - 2007-01-17 05:04:48
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2007-01-17 04:30:01 GMT Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 252 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 251 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 04:48:05 2007 --- new.short Wed Jan 17 05:05:03 2007 *************** *** 10,12 **** ! == 251 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) --- 10,12 ---- ! == 252 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) |
|
From: <sv...@va...> - 2007-01-17 04:36:06
|
Author: njn
Date: 2007-01-17 04:35:59 +0000 (Wed, 17 Jan 2007)
New Revision: 6529
Log:
Rewrote SP update pass. It no longer uses a zillion goto statements and
that god-awful macro, but instead uses a switch statements and some
functions. Much better and less error prone.
Modified:
branches/ORIGIN_TRACKING/coregrind/m_translate.c
branches/ORIGIN_TRACKING/memcheck/mc_main.c
branches/ORIGIN_TRACKING/memcheck/mc_translate.c
Modified: branches/ORIGIN_TRACKING/coregrind/m_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ORIGIN_TRACKING/coregrind/m_translate.c 2007-01-16 22:04:50 =
UTC (rev 6528)
+++ branches/ORIGIN_TRACKING/coregrind/m_translate.c 2007-01-17 04:35:59 =
UTC (rev 6529)
@@ -61,29 +61,37 @@
/*--- Stats ---*/
/*------------------------------------------------------------*/
=20
-static UInt n_SP_updates_fast =3D 0;
-static UInt n_SP_updates_generic_known =3D 0;
-static UInt n_SP_updates_generic_unknown =3D 0;
+static UInt n_SP_delta_known_and_handled =3D 0;
+static UInt n_SP_delta_known_but_unhandled_by_core =3D 0;
+static UInt n_SP_delta_known_but_unhandled_by_tool =3D 0;
+static UInt n_SP_delta_unknown =3D 0;
=20
void VG_(print_translation_stats) ( void )
{
Char buf[6];
- UInt n_SP_updates =3D n_SP_updates_fast + n_SP_updates_generic_known
- + n_SP_updates_generic_unknown;
- VG_(percentify)(n_SP_updates_fast, n_SP_updates, 1, 6, buf);
+ UInt n_tot =3D
+ n_SP_delta_known_and_handled + n_SP_delta_known_but_unhandled_by_c=
ore +
+ n_SP_delta_known_but_unhandled_by_tool + n_SP_delta_unknown;
+
+ VG_(percentify)(n_SP_delta_known_and_handled, n_tot, 1, 6, buf);
VG_(message)(Vg_DebugMsg,
- "translate: fast SP updates identified: %,u (%s)",
- n_SP_updates_fast, buf );
+ " SP instr: delta known and handled: %,7u (%s)",
+ n_SP_delta_known_and_handled, buf );
=20
- VG_(percentify)(n_SP_updates_generic_known, n_SP_updates, 1, 6, buf);
+ VG_(percentify)(n_SP_delta_known_but_unhandled_by_tool, n_tot, 1, 6, =
buf);
VG_(message)(Vg_DebugMsg,
- "translate: generic_known SP updates identified: %,u (%s)",
- n_SP_updates_generic_known, buf );
+ " SP instr: delta known but unhandled by tool: %,7u (%s)",
+ n_SP_delta_known_but_unhandled_by_tool, buf );
=20
- VG_(percentify)(n_SP_updates_generic_unknown, n_SP_updates, 1, 6, buf=
);
+ VG_(percentify)(n_SP_delta_known_but_unhandled_by_core, n_tot, 1, 6, =
buf);
VG_(message)(Vg_DebugMsg,
- "translate: generic_unknown SP updates identified: %,u (%s)",
- n_SP_updates_generic_unknown, buf );
+ " SP instr: delta known but unhandled by core: %,7u (%s)",
+ n_SP_delta_known_but_unhandled_by_core, buf );
+
+ VG_(percentify)(n_SP_delta_unknown, n_tot, 1, 6, buf);
+ VG_(message)(Vg_DebugMsg,
+ " SP instr: delta unknown: %,7u (%s)",
+ n_SP_delta_unknown, buf );
}
=20
/*------------------------------------------------------------*/
@@ -192,6 +200,75 @@
}
=20
=20
+// Nb: if all is well, this generic case will typically be called someth=
ing
+// like < 10% of all (static) SP updates. If it's more than that, the a=
bove
+// code may be missing some cases.
+static void
+add_call_to_generic_SP_update(IRSB* bb, IRStmt* st, IRType typeof_SP,
+ Int sizeof_SP, Int offset_SP, Bool delta_k=
nown)
+{
+ IRTemp old_SP;
+ IRDirty *dcall;
+
+ /* Pass both the old and new SP values to this helper. */
+ old_SP =3D newIRTemp(bb->tyenv, typeof_SP);
+ addStmtToIRSB( bb,
+ IRStmt_WrTmp( old_SP, IRExpr_Get(offset_SP, typeof_SP)=
)=20
+ );
+
+ // Update SP first, then call the helper. This ensures that, in the
+ // new_mem_stack_* case, that the memory allocated is really allocate=
d
+ // before the helper is called, and thus the helper is able to access
+ // it if wants.
+ dcall =3D unsafeIRDirty_0_N(=20
+ 2/*regparms*/,=20
+ "VG_(unknown_SP_update)",=20
+ VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
+ mkIRExprVec_2( IRExpr_RdTmp(old_SP),
+ st->Ist.Put.data )=20
+ );
+ addStmtToIRSB( bb, st );
+ addStmtToIRSB( bb, IRStmt_Dirty(dcall) );
+
+ clear_SP_aliases();
+ add_SP_alias(st->Ist.Put.data->Iex.RdTmp.tmp, 0);
+
+ if (delta_known) {
+ n_SP_delta_known_but_unhandled_by_core++;
+ } else {
+ n_SP_delta_unknown++;
+ }
+}
+
+static void
+maybe_add_call_to_specialised_SP_update(=20
+ IRSB* bb, IRStmt* st, Char* tdict_fn_string,
+ VG_REGPARM(1) void(*tdict_fn)(Addr), IRTemp tmp, Int delta)
+{
+ if (tdict_fn) {
+
+ IRDirty *dcall =3D unsafeIRDirty_0_N(
+ 1/*regparms*/,
+ tdict_fn_string,
+ VG_(fnptr_to_fnentry)( tdict_fn ),
+ mkIRExprVec_1(IRExpr_RdTmp(tmp))
+ );
+
+ // Update SP first, then call the helper. See comment in
+ // add_call_to_generic_SP_update() for why.
+ addStmtToIRSB( bb, st );
+ addStmtToIRSB( bb, IRStmt_Dirty(dcall) );
+
+ update_SP_aliases(-delta);
+
+ n_SP_delta_known_and_handled++;
+
+ } else {
+ n_SP_delta_known_but_unhandled_by_tool++;
+ } =20
+}
+
+
/* For tools that want to know about SP changes, this pass adds
in the appropriate hooks. We have to do it after the tool's
instrumentation, so the tool doesn't have to worry about the C calls
@@ -216,9 +293,7 @@
IRType hWordTy )
{
Int i, j, minoff_ST, maxoff_ST, sizeof_SP, offset_SP;
- IRDirty *dcall, *d;
IRStmt* st;
- IRExpr* e;
IRRegArray* descr;
IRType typeof_SP;
Long delta, con;
@@ -245,178 +320,137 @@
(sizeof_SP=3D=3D4 ? (Long)(Int)(con->Ico.U32) =
\
: (Long)(con->Ico.U64))
=20
-// XXX: convert this to a function
-# define DO(kind, syze, tmpp) =
\
- do { =
\
- if (!VG_(tdict).track_##kind##_mem_stack_##syze) =
\
- goto generic; =
\
- =
\
- /* I don't know if it's really necessary to say that the */ =
\
- /* call reads the stack pointer. But anyway, we do. */ =
\
- dcall =3D unsafeIRDirty_0_N( =
\
- 1/*regparms*/, =
\
- "track_" #kind "_mem_stack_" #syze, =
\
- VG_(fnptr_to_fnentry)( =
\
- VG_(tdict).track_##kind##_mem_stack_##syze ), =
\
- mkIRExprVec_1(IRExpr_RdTmp(tmpp)) =
\
- ); =
\
- dcall->nFxState =3D 1; =
\
- dcall->fxState[0].fx =3D Ifx_Read; =
\
- dcall->fxState[0].offset =3D layout->offset_SP; =
\
- dcall->fxState[0].size =3D layout->sizeof_SP; =
\
- =
\
- addStmtToIRSB( bb, st ); =
\
- =
\
- addStmtToIRSB( bb, IRStmt_Dirty(dcall) ); =
\
- =
\
- update_SP_aliases(-delta); =
\
- =
\
- n_SP_updates_fast++; =
\
- =
\
- } while (0)
-
clear_SP_aliases();
=20
for (i =3D 0; i < sb_in->stmts_used; i++) {
=20
st =3D sb_in->stmts[i];
=20
- /* t =3D Get(sp): curr =3D t, delta =3D 0 */
- if (st->tag !=3D Ist_WrTmp) goto case2;
- e =3D st->Ist.WrTmp.data;
- if (e->tag !=3D Iex_Get) goto case2;
- if (e->Iex.Get.offset !=3D offset_SP) goto case2;
- if (e->Iex.Get.ty !=3D typeof_SP) goto case2;
- add_SP_alias(st->Ist.WrTmp.tmp, 0);
- addStmtToIRSB( bb, st );
- continue;
+ switch (st->tag) {
=20
- case2:
- /* t' =3D curr +/- const: curr =3D t', delta +=3D/-=3D const */
- if (st->tag !=3D Ist_WrTmp) goto case3;
- e =3D st->Ist.WrTmp.data;
- if (e->tag !=3D Iex_Binop) goto case3;
- if (e->Iex.Binop.arg1->tag !=3D Iex_RdTmp) goto case3;
- if (!get_SP_delta(e->Iex.Binop.arg1->Iex.RdTmp.tmp, &delta)) goto =
case3;
- if (e->Iex.Binop.arg2->tag !=3D Iex_Const) goto case3;
- if (!IS_ADD_OR_SUB(e->Iex.Binop.op)) goto case3;
- con =3D GET_CONST(e->Iex.Binop.arg2->Iex.Const.con);
- if (IS_ADD(e->Iex.Binop.op)) {
- add_SP_alias(st->Ist.WrTmp.tmp, delta + con);
- } else {
- add_SP_alias(st->Ist.WrTmp.tmp, delta - con);
- }
- addStmtToIRSB( bb, st );
- continue;
-
- case3:
- /* t' =3D curr: curr =3D t' */
- if (st->tag !=3D Ist_WrTmp) goto case4;
- e =3D st->Ist.WrTmp.data;
- if (e->tag !=3D Iex_RdTmp) goto case4;
- if (!get_SP_delta(e->Iex.RdTmp.tmp, &delta)) goto case4;
- add_SP_alias(st->Ist.WrTmp.tmp, delta);
- addStmtToIRSB( bb, st );
- continue;
-
- case4:
- /* Put(sp) =3D curr */
- if (st->tag !=3D Ist_Put) goto case5;
- if (st->Ist.Put.offset !=3D offset_SP) goto case5;
- if (st->Ist.Put.data->tag !=3D Iex_RdTmp) goto case5;
- if (get_SP_delta(st->Ist.Put.data->Iex.RdTmp.tmp, &delta)) {
- IRTemp tttmp =3D st->Ist.Put.data->Iex.RdTmp.tmp;
- switch (delta) {
- case 0: continue;
- case 4: DO(die, 4, tttmp); continue;
- case -4: DO(new, 4, tttmp); continue;
- case 8: DO(die, 8, tttmp); continue;
- case -8: DO(new, 8, tttmp); continue;
- case 12: DO(die, 12, tttmp); continue;
- case -12: DO(new, 12, tttmp); continue;
- case 16: DO(die, 16, tttmp); continue;
- case -16: DO(new, 16, tttmp); continue;
- case 32: DO(die, 32, tttmp); continue;
- case -32: DO(new, 32, tttmp); continue;
- case 112: DO(die, 112, tttmp); continue;
- case -112: DO(new, 112, tttmp); continue;
- case 128: DO(die, 128, tttmp); continue;
- case -128: DO(new, 128, tttmp); continue;
- case 144: DO(die, 144, tttmp); continue;
- case -144: DO(new, 144, tttmp); continue;
- case 160: DO(die, 160, tttmp); continue;
- case -160: DO(new, 160, tttmp); continue;
- default: =20
- /* common values for ppc64: 144 128 160 112 176 */
- n_SP_updates_generic_known++;
- goto generic;
+ case Ist_WrTmp: {
+ IRExpr* data =3D st->Ist.WrTmp.data;
+ if (data->tag =3D=3D Iex_Get &&
+ data->Iex.Get.offset =3D=3D offset_SP &&
+ data->Iex.Get.ty =3D=3D typeof_SP)
+ {
+ /* t =3D Get(sp): curr =3D t, delta =3D 0 */
+ add_SP_alias(st->Ist.WrTmp.tmp, 0);
+ }
+ else if (data->tag =3D=3D Iex_Binop &&
+ data->Iex.Binop.arg1->tag =3D=3D Iex_RdTmp &&
+ data->Iex.Binop.arg2->tag =3D=3D Iex_Const &&
+ get_SP_delta(data->Iex.Binop.arg1->Iex.RdTmp.tmp,&d=
elta) &&
+ IS_ADD_OR_SUB(data->Iex.Binop.op))
+ {
+ /* t =3D curr +/- const: curr =3D t, delta +=3D/-=3D c=
onst */
+ con =3D GET_CONST(data->Iex.Binop.arg2->Iex.Const.con);
+ if (IS_ADD(data->Iex.Binop.op)) {
+ add_SP_alias(st->Ist.WrTmp.tmp, delta + con);
+ } else {
+ add_SP_alias(st->Ist.WrTmp.tmp, delta - con);
+ }
+ }
+ else if (data->tag =3D=3D Iex_RdTmp &&
+ get_SP_delta(data->Iex.RdTmp.tmp, &delta))
+ {
+ /* t =3D curr: curr =3D t */
+ add_SP_alias(st->Ist.WrTmp.tmp, delta);
+ }
+ addStmtToIRSB( bb, st );
+ break;
}
- } else {
- IRTemp old_SP;
- n_SP_updates_generic_unknown++;
=20
- // Nb: if all is well, this generic case will typically be
- // called something like every 1000th SP update. If it's more =
than
- // that, the above code may be missing some cases.
- generic:
- /* Pass both the old and new SP values to this helper. */
- old_SP =3D newIRTemp(bb->tyenv, typeof_SP);
- addStmtToIRSB(=20
- bb,
- IRStmt_WrTmp( old_SP, IRExpr_Get(offset_SP, typeof_SP) )=20
- );
+ #define DO(kind, size, tmp) \
+ maybe_add_call_to_specialised_SP_update( \
+ bb, st, "VG_(tdict)." #kind "_mem_stack_" #size, \
+ VG_(tdict).track_##kind##_mem_stack_##size, t, delta);
+ case Ist_Put:
+ if (st->Ist.Put.offset =3D=3D offset_SP &&
+ st->Ist.Put.data->tag =3D=3D Iex_RdTmp)
+ {
+ if (get_SP_delta(st->Ist.Put.data->Iex.RdTmp.tmp, &delta=
)) {
+ /* Put(sp) =3D curr */
+ IRTemp t =3D st->Ist.Put.data->Iex.RdTmp.tmp;
+ switch (delta) {
+ /* common values for ppc64: 144 128 160 112 176 */
+ case 0: break;
+ case 4: DO(die, 4, t); break;
+ case -4: DO(new, 4, t); break;
+ case 8: DO(die, 8, t); break;
+ case -8: DO(new, 8, t); break;
+ case 12: DO(die, 12, t); break;
+ case -12: DO(new, 12, t); break;
+ case 16: DO(die, 16, t); break;
+ case -16: DO(new, 16, t); break;
+ case 32: DO(die, 32, t); break;
+ case -32: DO(new, 32, t); break;
+// XXX: omitting the rare cases here.
+// case 112: DO(die, 112, t); break;
+// case -112: DO(new, 112, t); break;
+// case 128: DO(die, 128, t); break;
+// case -128: DO(new, 128, t); break;
+// case 144: DO(die, 144, t); break;
+// case -144: DO(new, 144, t); break;
+// case 160: DO(die, 160, t); break;
+// case -160: DO(new, 160, t); break;
+ default: =20
+ add_call_to_generic_SP_update(bb, st, typeof_SP,
+ sizeof_SP, offset_=
SP,
+ /*delta_known*/Tru=
e);
+ break;
+ }
+ } else {
+ /* Put(sp) =3D non-curr */
+ add_call_to_generic_SP_update(bb, st, typeof_SP,
+ sizeof_SP, offset_SP,
+ /*delta_unknown*/False);
+ }
+ } else {
+ // 'Put' of a register other than SP.
+ addStmtToIRSB( bb, st );
+ }
+ break;
=20
- addStmtToIRSB( bb, st );
+ case Ist_PutI:
+ /* PutI or Dirty call which overlaps SP: complain. We can't
+ deal with SP changing in weird ways (well, we can, but no=
t at
+ this time of night). */
+ descr =3D st->Ist.PutI.descr;
+ minoff_ST =3D descr->base;
+ maxoff_ST =3D descr->base + descr->nElems *
+ sizeofIRType(descr->elemTy) - =
1;
+ if (!(offset_SP > maxoff_ST ||=20
+ (offset_SP + sizeof_SP - 1) < minoff_ST)) {
+ VG_(core_panic)("vg_SP_update_pass: PutI which overlaps S=
P");
+ }
+ addStmtToIRSB( bb, st );
+ break;
=20
- // XXX: have to do this after the SP is changed for Memcheck --=
it
- // writes a value to the new stack area, and if the stack needs=
to
- // be extended we have to do that before we can write to it.
- dcall =3D unsafeIRDirty_0_N(=20
- 2/*regparms*/,=20
- "VG_(unknown_SP_update)",=20
- VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
- mkIRExprVec_2( IRExpr_RdTmp(old_SP), st->Ist.Put.dat=
a )=20
- );
- addStmtToIRSB( bb, IRStmt_Dirty(dcall) );
+ case Ist_Dirty: {
+ IRDirty* d =3D st->Ist.Dirty.details;
+ for (j =3D 0; j < d->nFxState; j++) {
+ minoff_ST =3D d->fxState[j].offset;
+ maxoff_ST =3D d->fxState[j].offset + d->fxState[j].size -=
1;
+ if (d->fxState[j].fx =3D=3D Ifx_Read || d->fxState[j].fx =
=3D=3D Ifx_None)
+ break;
+ if (!(offset_SP > maxoff_ST ||
+ (offset_SP + sizeof_SP - 1) < minoff_ST)) {
+ VG_(core_panic)("vg_SP_update_pass: Dirty which overla=
ps SP");
+ }
+ }
+ addStmtToIRSB( bb, st );
+ break;
+ }
=20
- clear_SP_aliases();
- add_SP_alias(st->Ist.Put.data->Iex.RdTmp.tmp, 0);
- continue;
+ default:
+ /* Not interesting. Just copy and keep going. */
+ addStmtToIRSB( bb, st );
+ break;
}
-
- case5:
- /* PutI or Dirty call which overlaps SP: complain. We can't
- deal with SP changing in weird ways (well, we can, but not at
- this time of night). */
- if (st->tag =3D=3D Ist_PutI) {
- descr =3D st->Ist.PutI.descr;
- minoff_ST =3D descr->base;
- maxoff_ST =3D descr->base + descr->nElems * sizeofIRType(descr-=
>elemTy) - 1;
- if (!(offset_SP > maxoff_ST || (offset_SP + sizeof_SP - 1) < mi=
noff_ST))
- goto complain;
- }
- if (st->tag =3D=3D Ist_Dirty) {
- d =3D st->Ist.Dirty.details;
- for (j =3D 0; j < d->nFxState; j++) {
- minoff_ST =3D d->fxState[j].offset;
- maxoff_ST =3D d->fxState[j].offset + d->fxState[j].size - 1;
- if (d->fxState[j].fx =3D=3D Ifx_Read || d->fxState[j].fx =3D=
=3D Ifx_None)
- continue;
- if (!(offset_SP > maxoff_ST || (offset_SP + sizeof_SP - 1) <=
minoff_ST))
- goto complain;
- }
- }
-
- /* well, not interesting. Just copy and keep going. */
- addStmtToIRSB( bb, st );
-
} /* for (i =3D 0; i < sb_in->stmts_used; i++) */
=20
return bb;
-
- complain:
- VG_(core_panic)("vg_SP_update_pass: PutI or Dirty which overlaps SP")=
;
-
}
=20
/*------------------------------------------------------------*/
Modified: branches/ORIGIN_TRACKING/memcheck/mc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ORIGIN_TRACKING/memcheck/mc_main.c 2007-01-16 22:04:50 UTC (=
rev 6528)
+++ branches/ORIGIN_TRACKING/memcheck/mc_main.c 2007-01-17 04:35:59 UTC (=
rev 6529)
@@ -31,6 +31,7 @@
*/
=20
// XXX: origin-tracking todo:
+// - keep fixing the SP-delta instrumentation in m_translate.c
// - try recording ExeContexts for stack allocation sites, alter the
// new_mem_stack* events to allow the origin_low32 to be passed in.
// - do timings:
Modified: branches/ORIGIN_TRACKING/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ORIGIN_TRACKING/memcheck/mc_translate.c 2007-01-16 22:04:50 =
UTC (rev 6528)
+++ branches/ORIGIN_TRACKING/memcheck/mc_translate.c 2007-01-17 04:35:59 =
UTC (rev 6529)
@@ -810,6 +810,8 @@
Char perc0[7], perc1[7], perc2[7];
UInt n_total =3D origin_tracking_2 + origin_tracking_1 + origin_track=
ing_0;
=20
+ // XXX: this is all out-of-date now
+ =20
// XXX: there's an off-by-one error in percentify -- if I use 6 inste=
ad
// of 5 here, the buffers get overrun. (there's one in snprintf, too=
)
// [XXX: the snprintf one has been fixed, I think]
|
|
From: Tom H. <to...@co...> - 2007-01-17 03:56:28
|
Nightly build on dunsmere ( athlon, Fedora Core 6 ) started at 2007-01-17 03:30:06 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 254 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 253 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 03:44:14 2007 --- new.short Wed Jan 17 03:56:20 2007 *************** *** 8,10 **** ! == 253 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 254 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) |
|
From: Tom H. <th...@cy...> - 2007-01-17 03:44:57
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-01-17 03:00:02 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 287 tests, 8 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/vcpu_fnfns (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/bug132918 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 285 tests, 8 stderr failures, 4 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/vcpu_fnfns (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/bug132918 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/tls (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 03:36:43 2007 --- new.short Wed Jan 17 03:44:50 2007 *************** *** 8,10 **** ! == 285 tests, 8 stderr failures, 4 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 287 tests, 8 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) *************** *** 20,22 **** none/tests/mremap2 (stdout) - none/tests/tls (stdout) --- 20,21 ---- |
|
From: Tom H. <th...@cy...> - 2007-01-17 03:24:08
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-01-17 03:15:03 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccXIFKeL.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccXIFKeL.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.15046/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.15046/valgrind' make: *** [check] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccwLtqTj.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccwLtqTj.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.15046/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.15046/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.15046/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 03:19:31 2007 --- new.short Wed Jan 17 03:23:58 2007 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccwLtqTj.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccwLtqTj.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 --- 7,16 ---- Last 20 lines of verbose log follow echo ! /tmp/ccXIFKeL.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccXIFKeL.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2007-01-17 03:22:48
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2007-01-17 03:10:04 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 285 tests, 3 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 283 tests, 3 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 03:16:31 2007 --- new.short Wed Jan 17 03:22:41 2007 *************** *** 8,10 **** ! == 283 tests, 3 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 285 tests, 3 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) *************** *** 13,15 **** none/tests/mremap2 (stdout) - none/tests/pth_detached (stdout) --- 13,14 ---- |
|
From: Tom H. <th...@cy...> - 2007-01-17 03:16:50
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2007-01-17 03:05:04 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 285 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 283 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 17 03:10:57 2007 --- new.short Wed Jan 17 03:16:37 2007 *************** *** 8,10 **** ! == 283 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 285 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) |
|
From: <js...@ac...> - 2007-01-17 01:16:32
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-01-17 02:00:01 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 224 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2007-01-16 22:04:52
|
Author: sewardj Date: 2007-01-16 22:04:50 +0000 (Tue, 16 Jan 2007) New Revision: 6528 Log: Merge r6526 (Intercept _intel_fast_memcpy in the main executable.) Modified: branches/VALGRIND_3_2_BRANCH/memcheck/mc_replace_strmem.c Modified: branches/VALGRIND_3_2_BRANCH/memcheck/mc_replace_strmem.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_2_BRANCH/memcheck/mc_replace_strmem.c 2007-01-16 = 22:03:54 UTC (rev 6527) +++ branches/VALGRIND_3_2_BRANCH/memcheck/mc_replace_strmem.c 2007-01-16 = 22:04:50 UTC (rev 6528) @@ -406,7 +406,17 @@ MEMCPY(m_libc_so_star, memcpy) MEMCPY(m_ld_so_1, memcpy) /* ld.so.1 */ =20 +/* icc9 blats these around all over the place. Not only in the main + executable but various .so's. They are highly tuned and read + memory beyond the source boundary (although work correctly and + never go across page boundaries), so give errors when run natively, + at least for misaligned source arg. Just intercepting in the exe + only until we understand more about the problem. See + http://bugs.kde.org/show_bug.cgi?id=3D139776 + */ +MEMCPY(NONE, _intel_fast_memcpy) =20 + #define MEMCMP(soname, fnname) \ int VG_REPLACE_FUNCTION_ZU(soname,fnname) \ ( const void *s1V, const void *s2V, SizeT n ); \ |
|
From: <sv...@va...> - 2007-01-16 22:04:08
|
Author: sewardj
Date: 2007-01-16 22:03:54 +0000 (Tue, 16 Jan 2007)
New Revision: 6527
Log:
Merge r6523 (Inline a bunch of helper functions)
Modified:
branches/VALGRIND_3_2_BRANCH/auxprogs/libmpiwrap.c
Modified: branches/VALGRIND_3_2_BRANCH/auxprogs/libmpiwrap.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_2_BRANCH/auxprogs/libmpiwrap.c 2007-01-16 21:42:2=
8 UTC (rev 6526)
+++ branches/VALGRIND_3_2_BRANCH/auxprogs/libmpiwrap.c 2007-01-16 22:03:5=
4 UTC (rev 6527)
@@ -492,7 +492,7 @@
/*--- Unpicking datatypes ---*/
/*------------------------------------------------------------*/
=20
-static=20
+static __inline__
void walk_type_array ( void(*f)(void*,long), char* base,=20
MPI_Datatype ty, long count );
=20
@@ -693,7 +693,7 @@
into a different routine is so it can attempt to optimise the case
where the array elements are contiguous and packed together without
holes. */
-static=20
+static __inline__
void walk_type_array ( void(*f)(void*,long), char* base,=20
MPI_Datatype elemTy, long count )
{
@@ -748,12 +748,11 @@
=20
/* ----------------
Do corresponding checks on memory areas defined using a=20
- straightforward (start, length) description. Not inlined
- so as to make any resulting error tracebacks easier to read.
+ straightforward (start, length) description.
----------------
*/
=20
-static
+static __inline__
void check_mem_is_defined_untyped ( void* buffer, long nbytes )
{
if (nbytes > 0) {
@@ -761,7 +760,7 @@
}
}
=20
-static
+static __inline__
void check_mem_is_addressable_untyped ( void* buffer, long nbytes )
{
if (nbytes > 0) {
@@ -769,7 +768,7 @@
}
}
=20
-static
+static __inline__
void make_mem_defined_if_addressable_untyped ( void* buffer, long nbytes=
)
{
if (nbytes > 0) {
@@ -777,7 +776,7 @@
}
}
=20
-static
+static __inline__
void make_mem_defined_if_addressable_if_success_untyped ( int err,=20
void* buffer, long nbytes )
{
@@ -796,7 +795,7 @@
/* Check that the specified area is both addressible and contains
initialised data, and cause V to complain if not. */
=20
-static
+static __inline__
void check_mem_is_defined ( char* buffer, long count, MPI_Datatype datat=
ype )
{
walk_type_array( check_mem_is_defined_untyped, buffer, datatype, coun=
t );
@@ -807,7 +806,7 @@
complain if not. Doesn't matter whether the data there is
initialised or not. */
=20
-static
+static __inline__
void check_mem_is_addressable ( void *buffer, long count, MPI_Datatype d=
atatype )
{
walk_type_array( check_mem_is_addressable_untyped, buffer, datatype, =
count );
@@ -817,14 +816,14 @@
/* Set the specified area to 'defined for each byte which is
addressible' state. */
=20
-static
+static __inline__
void make_mem_defined_if_addressable ( void *buffer, int count, MPI_Data=
type datatype )
{
walk_type_array( make_mem_defined_if_addressable_untyped,
buffer, datatype, count );
}
=20
-static
+static __inline__
void=20
make_mem_defined_if_addressable_if_success ( int err, void *buffer, int =
count,=20
MPI_Datatype datatype )
@@ -1167,7 +1166,7 @@
/* --- Isend --- */
/* rd: (buf,count,datatype) */
/* wr: *request */
-static
+static __inline__
int generic_Isend(void *buf, int count, MPI_Datatype datatype,=20
int dest, int tag, MPI_Comm comm,=20
MPI_Request* request)
|