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
(9) |
2
(2) |
3
(9) |
4
(19) |
5
(4) |
6
(1) |
7
(6) |
|
8
(11) |
9
(30) |
10
(12) |
11
(25) |
12
(7) |
13
(5) |
14
|
|
15
(17) |
16
(15) |
17
(20) |
18
(17) |
19
(5) |
20
(4) |
21
|
|
22
|
23
|
24
|
25
|
26
|
27
(4) |
28
(15) |
|
29
(10) |
30
(9) |
31
(11) |
|
|
|
|
|
From: Christian B. <bor...@de...> - 2011-05-15 20:37:48
|
Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2011-05-15 22:10:01 CEST Ended at 2011-05-15 22:37:35 CEST 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 == 473 tests, 6 stderr failures, 0 stdout failures, 3 stderrB failures, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlcontrolc (stdoutB) none/tests/faultstatus (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |
|
From: Christian B. <bor...@de...> - 2011-05-15 20:33:26
|
Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-05-15 22:10:01 CEST Ended at 2011-05-15 22:32:39 CEST 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 == 473 tests, 6 stderr failures, 0 stdout failures, 1 stderrB failure, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |
|
From: <sv...@va...> - 2011-05-15 17:53:34
|
Author: bart Date: 2011-05-15 18:53:26 +0100 (Sun, 15 May 2011) New Revision: 11760 Log: Suppressed compiler warnings triggered by none/tests/amd64/fxtract.c too. Modified: trunk/none/tests/amd64/Makefile.am Modified: trunk/none/tests/amd64/Makefile.am =================================================================== --- trunk/none/tests/amd64/Makefile.am 2011-05-15 17:07:47 UTC (rev 11759) +++ trunk/none/tests/amd64/Makefile.am 2011-05-15 17:53:26 UTC (rev 11760) @@ -108,6 +108,7 @@ # generic C ones amd64locked_CFLAGS = $(AM_CFLAGS) -O bug132918_LDADD = -lm +fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ insn_basic_SOURCES = insn_basic.def insn_basic_LDADD = -lm insn_mmx_SOURCES = insn_mmx.def |
|
From: <sv...@va...> - 2011-05-15 17:07:56
|
Author: bart
Date: 2011-05-15 18:07:47 +0100 (Sun, 15 May 2011)
New Revision: 11759
Log:
gdbserver_tests/make_local_links: made invocation of "head" POSIX-compliant since on some distros only the POSIX-compliant invocation is accepted.
Modified:
trunk/gdbserver_tests/make_local_links
Modified: trunk/gdbserver_tests/make_local_links
===================================================================
--- trunk/gdbserver_tests/make_local_links 2011-05-15 17:06:33 UTC (rev 11758)
+++ trunk/gdbserver_tests/make_local_links 2011-05-15 17:07:47 UTC (rev 11759)
@@ -14,7 +14,7 @@
then
ln -f -s "$1" gdbserver_tests/gdb
# Try to extract the gdb version.
- VERSIONLINE=`gdbserver_tests/gdb --version | head -1`
+ VERSIONLINE=`gdbserver_tests/gdb --version | head -n 1`
VERSION=`echo $VERSIONLINE |
sed -e 's/[^0-9\.]//g' -e 's/\./ /g'`
|
|
From: <sv...@va...> - 2011-05-15 17:06:41
|
Author: bart Date: 2011-05-15 18:06:33 +0100 (Sun, 15 May 2011) New Revision: 11758 Log: Silence compiler warnings triggered by certain regression tests programs and that we are not interested in. Modified: trunk/memcheck/tests/Makefile.am trunk/none/tests/Makefile.am trunk/none/tests/x86/Makefile.am Modified: trunk/memcheck/tests/Makefile.am =================================================================== --- trunk/memcheck/tests/Makefile.am 2011-05-15 17:05:36 UTC (rev 11757) +++ trunk/memcheck/tests/Makefile.am 2011-05-15 17:06:33 UTC (rev 11758) @@ -274,6 +274,10 @@ error_counts_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ +execve_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ + +execve2_CFLAGS = $(AM_CFLASG) @FLAG_W_NO_NONNULL@ + inits_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ long_namespace_xml_SOURCES = long_namespace_xml.cpp Modified: trunk/none/tests/Makefile.am =================================================================== --- trunk/none/tests/Makefile.am 2011-05-15 17:05:36 UTC (rev 11757) +++ trunk/none/tests/Makefile.am 2011-05-15 17:06:33 UTC (rev 11758) @@ -214,6 +214,7 @@ # Extra stuff for C tests ansi_CFLAGS = $(AM_CFLAGS) -ansi +execve_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ floored_LDADD = -lm manythreads_LDADD = -lpthread if VGCONF_OS_IS_DARWIN Modified: trunk/none/tests/x86/Makefile.am =================================================================== --- trunk/none/tests/x86/Makefile.am 2011-05-15 17:05:36 UTC (rev 11757) +++ trunk/none/tests/x86/Makefile.am 2011-05-15 17:06:33 UTC (rev 11758) @@ -120,6 +120,7 @@ cpuid_SOURCES = cpuid_c.c cpuid_s.S # fpu_lazy_eflags must use these flags -- the bug only occurred with them. fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro +fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ fxtract_LDADD = -lm insn_basic_SOURCES = insn_basic.def insn_basic_LDADD = -lm |
|
From: <sv...@va...> - 2011-05-15 17:05:47
|
Author: bart Date: 2011-05-15 18:05:36 +0100 (Sun, 15 May 2011) New Revision: 11757 Log: Added configure tests for the compiler flags -Wno-nonnull and -Wno-overflow. Modified: trunk/configure.in Modified: trunk/configure.in =================================================================== --- trunk/configure.in 2011-05-15 16:45:42 UTC (rev 11756) +++ trunk/configure.in 2011-05-15 17:05:36 UTC (rev 11757) @@ -1282,6 +1282,52 @@ CFLAGS=$safe_CFLAGS +# does this compiler support -Wno-nonnull ? + +AC_MSG_CHECKING([if gcc accepts -Wno-nonnull]) + +safe_CFLAGS=$CFLAGS +CFLAGS="-Wno-nonnull" + +AC_TRY_COMPILE( +[ ], +[ + return 0; +], +[ +AC_SUBST([FLAG_W_NO_NONNULL], [-Wno-nonnull]) +AC_MSG_RESULT([yes]) +], +[ +AC_SUBST([FLAG_W_NO_NONNULL], []) +AC_MSG_RESULT([no]) +]) +CFLAGS=$safe_CFLAGS + + +# does this compiler support -Wno-overflow ? + +AC_MSG_CHECKING([if gcc accepts -Wno-overflow]) + +safe_CFLAGS=$CFLAGS +CFLAGS="-Wno-overflow" + +AC_TRY_COMPILE( +[ ], +[ + return 0; +], +[ +AC_SUBST([FLAG_W_NO_OVERFLOW], [-Wno-overflow]) +AC_MSG_RESULT([yes]) +], +[ +AC_SUBST([FLAG_W_NO_OVERFLOW], []) +AC_MSG_RESULT([no]) +]) +CFLAGS=$safe_CFLAGS + + # does this compiler support -Wno-uninitialized ? AC_MSG_CHECKING([if gcc accepts -Wno-uninitialized]) |
|
From: Florian K. <br...@ac...> - 2011-05-15 17:03:10
|
Greetings.
Attached are the results from a new run of IBM's BEAM checker.
As many complaints have been addressed already I'm including
some more.
(1) Complaints about constant conditions
In practice they are often harmless and identify code that
contains an unneeded computation. Something that could be
cleaned up perhaps. But sometimes (VEX r2141) it does find
a nugget. I'd like to find out whether people are interested
seeing these complaints.
(2) Complaints about missing breaks
We get quite a few of those but most of them are intended.
I'm including some here that I think deserve a look from
somebody who understands the code (syswrap-linux.c).
The breakdown is
coregrind 12
callgrind 2
cachegrind 2
memcheck 2
As always, let me know if a complaint is harmless and I will
suppress it in future reports.
Cheers, Florian
|
|
From: Bart V. A. <bva...@ac...> - 2011-05-15 16:47:54
|
On Sun, May 15, 2011 at 6:29 PM, Philippe Waroquiers < phi...@sk...> wrote: > > Bart, note that some gdbserver tests are testing vgdb standalone, > and are not using gdb. > For these tests, the prerequisite that gdb is available and has the good > version is too strict. > > These tests are: mchelp, mcinvokeRU, mcinvokeWS. > They (are supposed to) work even if no gdb is present. > Something like r11756 ? Bart. |
|
From: <sv...@va...> - 2011-05-15 16:45:50
|
Author: bart Date: 2011-05-15 17:45:42 +0100 (Sun, 15 May 2011) New Revision: 11756 Log: Removed "prereq: test -e gdb" again from those tests that do not invoke the script gdbserver_tests/gdb. Modified: trunk/gdbserver_tests/mchelp.vgtest trunk/gdbserver_tests/mcinvokeRU.vgtest trunk/gdbserver_tests/mcinvokeWS.vgtest Modified: trunk/gdbserver_tests/mchelp.vgtest =================================================================== --- trunk/gdbserver_tests/mchelp.vgtest 2011-05-15 07:04:03 UTC (rev 11755) +++ trunk/gdbserver_tests/mchelp.vgtest 2011-05-15 16:45:42 UTC (rev 11756) @@ -1,5 +1,4 @@ # test the memcheck monitor help -prereq: test -e gdb prog: t vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mchelp stdout_filter: filter_make_empty Modified: trunk/gdbserver_tests/mcinvokeRU.vgtest =================================================================== --- trunk/gdbserver_tests/mcinvokeRU.vgtest 2011-05-15 07:04:03 UTC (rev 11755) +++ trunk/gdbserver_tests/mcinvokeRU.vgtest 2011-05-15 16:45:42 UTC (rev 11756) @@ -5,7 +5,6 @@ vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeRU stderr_filter: filter_make_empty # as the Valgrind process is always busy, we do not need the vgdb.ptraceinvoker prereq. -prereq: test -e gdb progB: invoker argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeRU --wait=60 -c vg.wait 0 # if the --wait is not enough, the test will fail or block. Modified: trunk/gdbserver_tests/mcinvokeWS.vgtest =================================================================== --- trunk/gdbserver_tests/mcinvokeWS.vgtest 2011-05-15 07:04:03 UTC (rev 11755) +++ trunk/gdbserver_tests/mcinvokeWS.vgtest 2011-05-15 16:45:42 UTC (rev 11756) @@ -4,7 +4,7 @@ args: 1 10000000 0 -S-S-S-S vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeWS stderr_filter: filter_make_empty -prereq: test -e gdb -a -f vgdb.ptraceinvoker +prereq: test -f vgdb.ptraceinvoker progB: invoker argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeWS --wait=60 -c vg.wait 0 # if the --wait is not enough, the test will fail or block |
|
From: Philippe W. <phi...@sk...> - 2011-05-15 16:29:12
|
>> Checking for the minimum required version 6.5 would be good, too. >> I had 6.3 on the s390x box and the tests were just hanging. > > Hello Florian, > > Have you already had a look at gdbserver_tests/make_local_links ? > There is already a test in that script that checks whether the gdb > version is >= 6.5. > > Bart. Hello Florian and Bart, The version check should now work thanks to the recent additions by Bart of the prereq that gdb link must be present in the gdbserver_tests directory. Bart, note that some gdbserver tests are testing vgdb standalone, and are not using gdb. For these tests, the prerequisite that gdb is available and has the good version is too strict. These tests are: mchelp, mcinvokeRU, mcinvokeWS. They (are supposed to) work even if no gdb is present. Philippe |
|
From: Bart V. A. <bva...@ac...> - 2011-05-15 15:35:35
|
On Sun, May 15, 2011 at 2:26 PM, Florian Krohm <br...@ac...> wrote: > > On 05/15/2011 02:07 AM, sv...@va... wrote: > > Author: bart > > Date: 2011-05-15 07:07:57 +0100 (Sun, 15 May 2011) > > New Revision: 11752 > > > > Log: > > Skip gdbserver tests if ./configure did not find gdb. > > > > Checking for the minimum required version 6.5 would be good, too. > I had 6.3 on the s390x box and the tests were just hanging. Hello Florian, Have you already had a look at gdbserver_tests/make_local_links ? There is already a test in that script that checks whether the gdb version is >= 6.5. Bart. |
|
From: Florian K. <br...@ac...> - 2011-05-15 12:26:43
|
On 05/15/2011 02:07 AM, sv...@va... wrote: > Author: bart > Date: 2011-05-15 07:07:57 +0100 (Sun, 15 May 2011) > New Revision: 11752 > > Log: > Skip gdbserver tests if ./configure did not find gdb. > Checking for the minimum required version 6.5 would be good, too. I had 6.3 on the s390x box and the tests were just hanging. Florian |
Author: bart
Date: 2011-05-15 08:04:03 +0100 (Sun, 15 May 2011)
New Revision: 11755
Log:
Get rid of the remaining "set but not used" warnings reported by gcc 4.6 by
swapping the roles of the VALGRIND_DO_CLIENT_REQUEST() and
VALGRIND_DO_CLIENT_REQUEST_EXPR() macros. Also, many __attribute__((unused))
declarations on variables have been eliminated. Closes #269778.
Note: so far this patch has been tested on x86/Linux, amd64/Linux and
ppc64/Linux but not yet on any other supported CPU/OS combination.
Modified:
trunk/callgrind/callgrind.h
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
trunk/coregrind/vg_preloaded.c
trunk/drd/drd.h
trunk/drd/drd_pthread_intercepts.c
trunk/drd/drd_qtcore_intercepts.c
trunk/drd/tests/rwlock_race.c
trunk/helgrind/helgrind.h
trunk/helgrind/hg_intercepts.c
trunk/include/valgrind.h
trunk/memcheck/mc_replace_strmem.c
trunk/memcheck/memcheck.h
trunk/memcheck/tests/linux/stack_changes.c
trunk/memcheck/tests/sh-mem-random.c
trunk/memcheck/tests/sh-mem.c
trunk/none/tests/discard.c
Modified: trunk/callgrind/callgrind.h
===================================================================
--- trunk/callgrind/callgrind.h 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/callgrind/callgrind.h 2011-05-15 07:04:03 UTC (rev 11755)
@@ -82,53 +82,38 @@
} Vg_CallgrindClientRequest;
/* Dump current state of cost centers, and zero them afterwards */
-#define CALLGRIND_DUMP_STATS \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__DUMP_STATS, \
- 0, 0, 0, 0, 0); \
- }
+#define CALLGRIND_DUMP_STATS \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__DUMP_STATS, \
+ 0, 0, 0, 0, 0)
/* Dump current state of cost centers, and zero them afterwards.
The argument is appended to a string stating the reason which triggered
the dump. This string is written as a description field into the
profile data dump. */
-#define CALLGRIND_DUMP_STATS_AT(pos_str) \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__DUMP_STATS_AT, \
- pos_str, 0, 0, 0, 0); \
- }
+#define CALLGRIND_DUMP_STATS_AT(pos_str) \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__DUMP_STATS_AT, \
+ pos_str, 0, 0, 0, 0)
/* Zero cost centers */
-#define CALLGRIND_ZERO_STATS \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__ZERO_STATS, \
- 0, 0, 0, 0, 0); \
- }
+#define CALLGRIND_ZERO_STATS \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__ZERO_STATS, \
+ 0, 0, 0, 0, 0)
/* Toggles collection state.
The collection state specifies whether the happening of events
should be noted or if they are to be ignored. Events are noted
by increment of counters in a cost center */
#define CALLGRIND_TOGGLE_COLLECT \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__TOGGLE_COLLECT, \
- 0, 0, 0, 0, 0); \
- }
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__TOGGLE_COLLECT, \
+ 0, 0, 0, 0, 0)
/* Start full callgrind instrumentation if not already switched on.
When cache simulation is done, it will flush the simulated cache;
this will lead to an artifical cache warmup phase afterwards with
cache misses which would not have happened in reality. */
#define CALLGRIND_START_INSTRUMENTATION \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__START_INSTRUMENTATION, \
- 0, 0, 0, 0, 0); \
- }
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__START_INSTRUMENTATION, \
+ 0, 0, 0, 0, 0)
/* Stop full callgrind instrumentation if not already switched off.
This flushes Valgrinds translation cache, and does no additional
@@ -138,10 +123,7 @@
To start Callgrind in this mode to ignore the setup phase, use
the option "--instr-atstart=no". */
#define CALLGRIND_STOP_INSTRUMENTATION \
- {unsigned int _qzz_res __attribute((unused)); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
- VG_USERREQ__STOP_INSTRUMENTATION, \
- 0, 0, 0, 0, 0); \
- }
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__STOP_INSTRUMENTATION, \
+ 0, 0, 0, 0, 0)
#endif /* __CALLGRIND_H */
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -850,8 +850,6 @@
__attribute__((constructor))
static void init(void)
{
- int res __attribute__((unused));
-
// This doesn't look thread-safe, but it should be ok... Bart says:
//
// Every program I know of calls malloc() at least once before calling
@@ -873,8 +871,8 @@
init_done = 1;
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__GET_MALLOCFUNCS, &info,
- 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__GET_MALLOCFUNCS, &info,
+ 0, 0, 0, 0);
}
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/vg_preloaded.c
===================================================================
--- trunk/coregrind/vg_preloaded.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/coregrind/vg_preloaded.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -56,14 +56,13 @@
void VG_NOTIFY_ON_LOAD(freeres)( void );
void VG_NOTIFY_ON_LOAD(freeres)( void )
{
- int res __attribute__((unused));
#if !defined(__UCLIBC__) && !defined(VGO_aix5)
extern void __libc_freeres(void);
__libc_freeres();
#endif
- VALGRIND_DO_CLIENT_REQUEST(res, 0 /* default */,
- VG_USERREQ__LIBC_FREERES_DONE,
- 0, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default */,
+ VG_USERREQ__LIBC_FREERES_DONE,
+ 0, 0, 0, 0, 0);
/*NOTREACHED*/
*(volatile int *)0 = 'x';
}
@@ -77,7 +76,6 @@
{
OrigFn fn;
Addr result = 0;
- int res __attribute__((unused));
/* Call the original indirect function and get it's result */
VALGRIND_GET_ORIG_FN(fn);
@@ -87,9 +85,8 @@
code which runs on the emulated CPU) to update the redirection that
led to this function. This client request eventually gives control to
the function VG_(redir_add_ifunc_target) in m_redir.c */
- VALGRIND_DO_CLIENT_REQUEST(res, 0,
- VG_USERREQ__ADD_IFUNC_TARGET,
- fn.nraddr, result, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__ADD_IFUNC_TARGET,
+ fn.nraddr, result, 0, 0, 0);
return (void*)result;
}
Modified: trunk/drd/drd.h
===================================================================
--- trunk/drd/drd.h 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/drd/drd.h 2011-05-15 07:04:03 UTC (rev 11755)
@@ -66,13 +66,15 @@
/** Obtain the thread ID assigned by Valgrind's core. */
-#define DRD_GET_VALGRIND_THREADID \
- VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__DRD_GET_VALGRIND_THREAD_ID, \
+#define DRD_GET_VALGRIND_THREADID \
+ (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0, \
+ VG_USERREQ__DRD_GET_VALGRIND_THREAD_ID, \
0, 0, 0, 0, 0)
/** Obtain the thread ID assigned by DRD. */
-#define DRD_GET_DRD_THREADID \
- VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__DRD_GET_DRD_THREAD_ID, \
+#define DRD_GET_DRD_THREADID \
+ (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0, \
+ VG_USERREQ__DRD_GET_DRD_THREAD_ID, \
0, 0, 0, 0, 0)
Modified: trunk/drd/drd_pthread_intercepts.c
===================================================================
--- trunk/drd/drd_pthread_intercepts.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/drd/drd_pthread_intercepts.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -235,26 +235,23 @@
*/
static void DRD_(set_joinable)(const pthread_t tid, const int joinable)
{
- int res __attribute__((unused));
assert(joinable == 0 || joinable == 1);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__SET_JOINABLE,
- tid, joinable, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__SET_JOINABLE,
+ tid, joinable, 0, 0, 0);
}
/** Tell DRD that the calling thread is about to enter pthread_create(). */
static __always_inline void DRD_(entering_pthread_create)(void)
{
- int res __attribute__((unused));
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__ENTERING_PTHREAD_CREATE,
- 0, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__ENTERING_PTHREAD_CREATE,
+ 0, 0, 0, 0, 0);
}
/** Tell DRD that the calling thread has left pthread_create(). */
static __always_inline void DRD_(left_pthread_create)(void)
{
- int res __attribute__((unused));
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__LEFT_PTHREAD_CREATE,
- 0, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__LEFT_PTHREAD_CREATE,
+ 0, 0, 0, 0, 0);
}
/**
@@ -263,15 +260,14 @@
*/
static void* DRD_(thread_wrapper)(void* arg)
{
- int res __attribute__((unused));
DrdPosixThreadArgs* arg_ptr;
DrdPosixThreadArgs arg_copy;
arg_ptr = (DrdPosixThreadArgs*)arg;
arg_copy = *arg_ptr;
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__SET_PTHREADID,
- pthread_self(), 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__SET_PTHREADID,
+ pthread_self(), 0, 0, 0, 0);
DRD_(set_joinable)(pthread_self(),
arg_copy.detachstate == PTHREAD_CREATE_JOINABLE);
@@ -348,11 +344,9 @@
*/
static void DRD_(set_main_thread_state)(void)
{
- int res __attribute__((unused));
-
// Make sure that DRD knows about the main thread's POSIX thread ID.
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__SET_PTHREADID,
- pthread_self(), 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__SET_PTHREADID,
+ pthread_self(), 0, 0, 0, 0);
}
/*
@@ -377,7 +371,6 @@
int pthread_create_intercept(pthread_t* thread, const pthread_attr_t* attr,
void* (*start)(void*), void* arg)
{
- int res __attribute__((unused));
int ret;
OrigFn fn;
DrdPosixThreadArgs thread_args;
@@ -413,8 +406,8 @@
sched_yield();
}
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__DRD_START_NEW_SEGMENT,
- pthread_self(), 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__DRD_START_NEW_SEGMENT,
+ pthread_self(), 0, 0, 0, 0);
return ret;
}
@@ -428,15 +421,14 @@
int pthread_join_intercept(pthread_t pt_joinee, void **thread_return)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
CALL_FN_W_WW(ret, fn, pt_joinee, thread_return);
if (ret == 0)
{
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_THREAD_JOIN,
- pt_joinee, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_THREAD_JOIN,
+ pt_joinee, 0, 0, 0, 0);
}
return ret;
}
@@ -467,15 +459,14 @@
static __always_inline
int pthread_cancel_intercept(pthread_t pt_thread)
{
- int res __attribute__((unused));
int ret;
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_THREAD_CANCEL,
- pt_thread, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_THREAD_CANCEL,
+ pt_thread, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, pt_thread);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_THREAD_CANCEL,
- pt_thread, ret==0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_THREAD_CANCEL,
+ pt_thread, ret==0, 0, 0, 0);
return ret;
}
@@ -509,19 +500,18 @@
const pthread_mutexattr_t* attr)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
int mt;
VALGRIND_GET_ORIG_FN(fn);
mt = PTHREAD_MUTEX_DEFAULT;
if (attr)
pthread_mutexattr_gettype(attr, &mt);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_INIT,
- mutex, DRD_(pthread_to_drd_mutex_type)(mt),
- 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_INIT,
+ mutex, DRD_(pthread_to_drd_mutex_type)(mt),
+ 0, 0, 0);
CALL_FN_W_WW(ret, fn, mutex, attr);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_INIT,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_INIT,
+ mutex, 0, 0, 0, 0);
return ret;
}
@@ -533,14 +523,13 @@
int pthread_mutex_destroy_intercept(pthread_mutex_t* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_DESTROY,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_DESTROY,
+ mutex, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_DESTROY,
- mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_DESTROY,
+ mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
return ret;
}
@@ -551,14 +540,13 @@
int pthread_mutex_lock_intercept(pthread_mutex_t* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, ret == 0, 0, 0, 0);
return ret;
}
@@ -569,14 +557,13 @@
int pthread_mutex_trylock_intercept(pthread_mutex_t* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, DRD_(mutex_type)(mutex), 1, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, DRD_(mutex_type)(mutex), 1, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, ret == 0, 0, 0, 0);
return ret;
}
@@ -588,14 +575,13 @@
const struct timespec *abs_timeout)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
CALL_FN_W_WW(ret, fn, mutex, abs_timeout);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, ret == 0, 0, 0, 0);
return ret;
}
@@ -607,16 +593,13 @@
int pthread_mutex_unlock_intercept(pthread_mutex_t *mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1,
- VG_USERREQ__PRE_MUTEX_UNLOCK,
- mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_UNLOCK,
+ mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1,
- VG_USERREQ__POST_MUTEX_UNLOCK,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_UNLOCK,
+ mutex, 0, 0, 0, 0);
return ret;
}
@@ -628,14 +611,13 @@
const pthread_condattr_t* attr)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_INIT,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_INIT,
+ cond, 0, 0, 0, 0);
CALL_FN_W_WW(ret, fn, cond, attr);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_INIT,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_INIT,
+ cond, 0, 0, 0, 0);
return ret;
}
@@ -647,14 +629,13 @@
int pthread_cond_destroy_intercept(pthread_cond_t* cond)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_DESTROY,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_DESTROY,
+ cond, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, cond);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_DESTROY,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_DESTROY,
+ cond, 0, 0, 0, 0);
return ret;
}
@@ -665,14 +646,13 @@
int pthread_cond_wait_intercept(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_WAIT,
- cond, mutex, DRD_(mutex_type)(mutex), 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_WAIT,
+ cond, mutex, DRD_(mutex_type)(mutex), 0, 0);
CALL_FN_W_WW(ret, fn, cond, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_WAIT,
- cond, mutex, 1, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_WAIT,
+ cond, mutex, 1, 0, 0);
return ret;
}
@@ -686,14 +666,13 @@
const struct timespec* abstime)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_WAIT,
- cond, mutex, DRD_(mutex_type)(mutex), 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_WAIT,
+ cond, mutex, DRD_(mutex_type)(mutex), 0, 0);
CALL_FN_W_WWW(ret, fn, cond, mutex, abstime);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_WAIT,
- cond, mutex, 1, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_WAIT,
+ cond, mutex, 1, 0, 0);
return ret;
}
@@ -712,14 +691,13 @@
int pthread_cond_signal_intercept(pthread_cond_t* cond)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_SIGNAL,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_SIGNAL,
+ cond, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, cond);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_SIGNAL,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_SIGNAL,
+ cond, 0, 0, 0, 0);
return ret;
}
@@ -730,14 +708,13 @@
int pthread_cond_broadcast_intercept(pthread_cond_t* cond)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_COND_BROADCAST,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_COND_BROADCAST,
+ cond, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, cond);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_BROADCAST,
- cond, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_COND_BROADCAST,
+ cond, 0, 0, 0, 0);
return ret;
}
@@ -749,14 +726,13 @@
int pthread_spin_init_intercept(pthread_spinlock_t *spinlock, int pshared)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SPIN_INIT_OR_UNLOCK,
- spinlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SPIN_INIT_OR_UNLOCK,
+ spinlock, 0, 0, 0, 0);
CALL_FN_W_WW(ret, fn, spinlock, pshared);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SPIN_INIT_OR_UNLOCK,
- spinlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SPIN_INIT_OR_UNLOCK,
+ spinlock, 0, 0, 0, 0);
return ret;
}
@@ -767,14 +743,13 @@
int pthread_spin_destroy_intercept(pthread_spinlock_t *spinlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_DESTROY,
- spinlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_DESTROY,
+ spinlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, spinlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_DESTROY,
- spinlock, mutex_type_spinlock, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_DESTROY,
+ spinlock, mutex_type_spinlock, 0, 0, 0);
return ret;
}
@@ -785,14 +760,13 @@
int pthread_spin_lock_intercept(pthread_spinlock_t *spinlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- spinlock, mutex_type_spinlock, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ spinlock, mutex_type_spinlock, 0, 0, 0);
CALL_FN_W_W(ret, fn, spinlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- spinlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ spinlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -803,14 +777,13 @@
int pthread_spin_trylock_intercept(pthread_spinlock_t *spinlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- spinlock, mutex_type_spinlock, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ spinlock, mutex_type_spinlock, 0, 0, 0);
CALL_FN_W_W(ret, fn, spinlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- spinlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ spinlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -821,14 +794,13 @@
int pthread_spin_unlock_intercept(pthread_spinlock_t *spinlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SPIN_INIT_OR_UNLOCK,
- spinlock, mutex_type_spinlock, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SPIN_INIT_OR_UNLOCK,
+ spinlock, mutex_type_spinlock, 0, 0, 0);
CALL_FN_W_W(ret, fn, spinlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SPIN_INIT_OR_UNLOCK,
- spinlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SPIN_INIT_OR_UNLOCK,
+ spinlock, 0, 0, 0, 0);
return ret;
}
@@ -844,14 +816,13 @@
unsigned count)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_BARRIER_INIT,
- barrier, pthread_barrier, count, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_BARRIER_INIT,
+ barrier, pthread_barrier, count, 0, 0);
CALL_FN_W_WWW(ret, fn, barrier, attr, count);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_BARRIER_INIT,
- barrier, pthread_barrier, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_BARRIER_INIT,
+ barrier, pthread_barrier, 0, 0, 0);
return ret;
}
@@ -863,14 +834,13 @@
int pthread_barrier_destroy_intercept(pthread_barrier_t* barrier)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_BARRIER_DESTROY,
- barrier, pthread_barrier, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_BARRIER_DESTROY,
+ barrier, pthread_barrier, 0, 0, 0);
CALL_FN_W_W(ret, fn, barrier);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_BARRIER_DESTROY,
- barrier, pthread_barrier, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_BARRIER_DESTROY,
+ barrier, pthread_barrier, 0, 0, 0);
return ret;
}
@@ -881,13 +851,12 @@
int pthread_barrier_wait_intercept(pthread_barrier_t* barrier)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_BARRIER_WAIT,
- barrier, pthread_barrier, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_BARRIER_WAIT,
+ barrier, pthread_barrier, 0, 0, 0);
CALL_FN_W_W(ret, fn, barrier);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_BARRIER_WAIT,
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_BARRIER_WAIT,
barrier, pthread_barrier,
ret == 0 || ret == PTHREAD_BARRIER_SERIAL_THREAD,
ret == PTHREAD_BARRIER_SERIAL_THREAD, 0);
@@ -903,14 +872,13 @@
int sem_init_intercept(sem_t *sem, int pshared, unsigned int value)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_INIT,
- sem, pshared, value, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_INIT,
+ sem, pshared, value, 0, 0);
CALL_FN_W_WWW(ret, fn, sem, pshared, value);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_INIT,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_INIT,
+ sem, 0, 0, 0, 0);
return ret;
}
@@ -921,14 +889,13 @@
int sem_destroy_intercept(sem_t *sem)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_DESTROY,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_DESTROY,
+ sem, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, sem);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_DESTROY,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_DESTROY,
+ sem, 0, 0, 0, 0);
return ret;
}
@@ -939,15 +906,14 @@
unsigned int value)
{
sem_t *ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_OPEN,
- name, oflag, mode, value, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_OPEN,
+ name, oflag, mode, value, 0);
CALL_FN_W_WWWW(ret, fn, name, oflag, mode, value);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_OPEN,
- ret != SEM_FAILED ? ret : 0,
- name, oflag, mode, value);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_OPEN,
+ ret != SEM_FAILED ? ret : 0,
+ name, oflag, mode, value);
return ret;
}
@@ -958,14 +924,13 @@
static __always_inline int sem_close_intercept(sem_t *sem)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_CLOSE,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_CLOSE,
+ sem, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, sem);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_CLOSE,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_CLOSE,
+ sem, 0, 0, 0, 0);
return ret;
}
@@ -974,14 +939,13 @@
static __always_inline int sem_wait_intercept(sem_t *sem)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_WAIT,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_WAIT,
+ sem, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, sem);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_WAIT,
- sem, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_WAIT,
+ sem, ret == 0, 0, 0, 0);
return ret;
}
@@ -990,14 +954,13 @@
static __always_inline int sem_trywait_intercept(sem_t *sem)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_WAIT,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_WAIT,
+ sem, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, sem);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_WAIT,
- sem, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_WAIT,
+ sem, ret == 0, 0, 0, 0);
return ret;
}
@@ -1007,14 +970,13 @@
int sem_timedwait_intercept(sem_t *sem, const struct timespec *abs_timeout)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_WAIT,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_WAIT,
+ sem, 0, 0, 0, 0);
CALL_FN_W_WW(ret, fn, sem, abs_timeout);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_WAIT,
- sem, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_WAIT,
+ sem, ret == 0, 0, 0, 0);
return ret;
}
@@ -1025,14 +987,13 @@
static __always_inline int sem_post_intercept(sem_t *sem)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_SEM_POST,
- sem, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_SEM_POST,
+ sem, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, sem);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_SEM_POST,
- sem, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_SEM_POST,
+ sem, ret == 0, 0, 0, 0);
return ret;
}
@@ -1043,11 +1004,10 @@
const pthread_rwlockattr_t* attr)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_INIT,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_INIT,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_WW(ret, fn, rwlock, attr);
return ret;
}
@@ -1061,12 +1021,11 @@
int pthread_rwlock_destroy_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_DESTROY,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_DESTROY,
+ rwlock, 0, 0, 0, 0);
return ret;
}
@@ -1078,14 +1037,13 @@
int pthread_rwlock_rdlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_RDLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_RDLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1097,14 +1055,13 @@
int pthread_rwlock_wrlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_WRLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_WRLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1116,14 +1073,13 @@
int pthread_rwlock_timedrdlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_RDLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_RDLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1135,14 +1091,13 @@
int pthread_rwlock_timedwrlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_WRLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_WRLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1154,14 +1109,13 @@
int pthread_rwlock_tryrdlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_RDLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_RDLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_RDLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1173,14 +1127,13 @@
int pthread_rwlock_trywrlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_WRLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_WRLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_WRLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
@@ -1192,14 +1145,13 @@
int pthread_rwlock_unlock_intercept(pthread_rwlock_t* rwlock)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_RWLOCK_UNLOCK,
- rwlock, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_RWLOCK_UNLOCK,
+ rwlock, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, rwlock);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_RWLOCK_UNLOCK,
- rwlock, ret == 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_RWLOCK_UNLOCK,
+ rwlock, ret == 0, 0, 0, 0);
return ret;
}
Modified: trunk/drd/drd_qtcore_intercepts.c
===================================================================
--- trunk/drd/drd_qtcore_intercepts.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/drd/drd_qtcore_intercepts.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -90,14 +90,13 @@
qt_mutex_mode mode)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_INIT,
- mutex, qt_to_drd_mutex_type(mode), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_INIT,
+ mutex, qt_to_drd_mutex_type(mode), 0, 0, 0);
CALL_FN_W_WW(ret, fn, mutex, mode);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_INIT,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_INIT,
+ mutex, 0, 0, 0, 0);
}
// QMutex::QMutex(RecursionMode) -- _ZN6QMutexC2ENS_13RecursionModeE
@@ -106,14 +105,13 @@
qt_mutex_mode mode)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_INIT,
- mutex, qt_to_drd_mutex_type(mode), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_INIT,
+ mutex, qt_to_drd_mutex_type(mode), 0, 0, 0);
CALL_FN_W_WW(ret, fn, mutex, mode);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_INIT,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_INIT,
+ mutex, 0, 0, 0, 0);
}
// QMutex::~QMutex() -- _ZN6QMutexD1Ev
@@ -121,14 +119,13 @@
void* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_DESTROY,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_DESTROY,
+ mutex, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_DESTROY,
- mutex, mutex_type(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_DESTROY,
+ mutex, mutex_type(mutex), 0, 0, 0);
}
// QMutex::~QMutex() -- _ZN6QMutexD2Ev
@@ -136,14 +133,13 @@
void** mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_MUTEX_DESTROY,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_DESTROY,
+ mutex, 0, 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_DESTROY,
- mutex, mutex_type(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_DESTROY,
+ mutex, mutex_type(mutex), 0, 0, 0);
}
// QMutex::lock() -- _ZN6QMutex4lockEv
@@ -151,14 +147,13 @@
void* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, mutex_type(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, mutex_type(mutex), 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, 1, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, 1, 0, 0, 0);
}
// QMutex::tryLock() -- _ZN6QMutex7tryLockEv
@@ -166,14 +161,13 @@
void* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, mutex_type(mutex), 1, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, mutex_type(mutex), 1, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, ret, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, ret, 0, 0, 0);
return ret;
}
@@ -183,14 +177,13 @@
int timeout_ms)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_MUTEX_LOCK,
- mutex, mutex_type(mutex), 1, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__PRE_MUTEX_LOCK,
+ mutex, mutex_type(mutex), 1, 0, 0);
CALL_FN_W_WW(ret, fn, mutex, timeout_ms);
- VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_MUTEX_LOCK,
- mutex, ret, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_LOCK,
+ mutex, ret, 0, 0, 0);
return ret;
}
@@ -199,14 +192,11 @@
void* mutex)
{
int ret;
- int res __attribute__((unused));
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
- VALGRIND_DO_CLIENT_REQUEST(res, -1,
- VG_USERREQ__PRE_MUTEX_UNLOCK,
- mutex, mutex_type(mutex), 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__PRE_MUTEX_UNLOCK,
+ mutex, mutex_type(mutex), 0, 0, 0);
CALL_FN_W_W(ret, fn, mutex);
- VALGRIND_DO_CLIENT_REQUEST(res, -1,
- VG_USERREQ__POST_MUTEX_UNLOCK,
- mutex, 0, 0, 0, 0);
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(-1, VG_USERREQ__POST_MUTEX_UNLOCK,
+ mutex, 0, 0, 0, 0);
}
Modified: trunk/drd/tests/rwlock_race.c
===================================================================
--- trunk/drd/tests/rwlock_race.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/drd/tests/rwlock_race.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -38,9 +38,9 @@
pthread_t thread2;
#if 0
- int res;
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_TRACE_ADDR,
- &s_racy, 0, 0, 0, 0);
+
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__DRD_TRACE_ADDR,
+ &s_racy, 0, 0, 0, 0);
#endif
pthread_rwlock_init(&s_rwlock, 0);
Modified: trunk/helgrind/helgrind.h
===================================================================
--- trunk/helgrind/helgrind.h 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/helgrind/helgrind.h 2011-05-15 07:04:03 UTC (rev 11755)
@@ -144,20 +144,21 @@
#define DO_CREQ_v_W(_creqF, _ty1F,_arg1F) \
do { \
- long _unused_res __attribute__((unused)), _arg1; \
+ long int _arg1; \
/* assert(sizeof(_ty1F) == sizeof(long int)); */ \
_arg1 = (long int)(_arg1F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, \
(_creqF), \
_arg1, 0,0,0,0); \
} while (0)
#define DO_CREQ_W_W(_resF, _dfltF, _creqF, _ty1F,_arg1F) \
do { \
- long int _qzz_res, _arg1; \
+ long int arg1; \
/* assert(sizeof(_ty1F) == sizeof(long int)); */ \
_arg1 = (long int)(_arg1F); \
- VALGRIND_DO_CLIENT_REQUEST(_qzz_res, (_dfltF), \
+ _qzz_res = VALGRIND_DO_CLIENT_REQUEST_EXPR( \
+ (_dfltF), \
(_creqF), \
_arg1, 0,0,0,0); \
_resF = _qzz_res; \
@@ -165,13 +166,12 @@
#define DO_CREQ_v_WW(_creqF, _ty1F,_arg1F, _ty2F,_arg2F) \
do { \
- long _unused_res __attribute__((unused)); \
- long _arg1, _arg2; \
+ long int _arg1, _arg2; \
/* assert(sizeof(_ty1F) == sizeof(long int)); */ \
/* assert(sizeof(_ty2F) == sizeof(long int)); */ \
_arg1 = (long int)(_arg1F); \
_arg2 = (long int)(_arg2F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, \
(_creqF), \
_arg1,_arg2,0,0,0); \
} while (0)
@@ -179,15 +179,14 @@
#define DO_CREQ_v_WWW(_creqF, _ty1F,_arg1F, \
_ty2F,_arg2F, _ty3F, _arg3F) \
do { \
- long _unused_res __attribute__((unused)); \
- long _arg1, _arg2, _arg3; \
+ long int _arg1, _arg2, _arg3; \
/* assert(sizeof(_ty1F) == sizeof(long int)); */ \
/* assert(sizeof(_ty2F) == sizeof(long int)); */ \
/* assert(sizeof(_ty3F) == sizeof(long int)); */ \
_arg1 = (long int)(_arg1F); \
_arg2 = (long int)(_arg2F); \
_arg3 = (long int)(_arg3F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, \
(_creqF), \
_arg1,_arg2,_arg3,0,0); \
} while (0)
Modified: trunk/helgrind/hg_intercepts.c
===================================================================
--- trunk/helgrind/hg_intercepts.c 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/helgrind/hg_intercepts.c 2011-05-15 07:04:03 UTC (rev 11755)
@@ -86,25 +86,21 @@
#define DO_CREQ_v_W(_creqF, _ty1F,_arg1F) \
do { \
- Word _unused_res __attribute__((unused)); \
Word _arg1; \
assert(sizeof(_ty1F) == sizeof(Word)); \
_arg1 = (Word)(_arg1F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
- (_creqF), \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, (_creqF), \
_arg1, 0,0,0,0); \
} while (0)
#define DO_CREQ_v_WW(_creqF, _ty1F,_arg1F, _ty2F,_arg2F) \
do { \
- Word _unused_res __attribute__((unused)); \
Word _arg1, _arg2; \
assert(sizeof(_ty1F) == sizeof(Word)); \
assert(sizeof(_ty2F) == sizeof(Word)); \
_arg1 = (Word)(_arg1F); \
_arg2 = (Word)(_arg2F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
- (_creqF), \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, (_creqF), \
_arg1,_arg2,0,0,0); \
} while (0)
@@ -116,7 +112,7 @@
assert(sizeof(_ty2F) == sizeof(Word)); \
_arg1 = (Word)(_arg1F); \
_arg2 = (Word)(_arg2F); \
- VALGRIND_DO_CLIENT_REQUEST(_res, 2, \
+ _res = VALGRIND_DO_CLIENT_REQUEST_EXPR(2, \
(_creqF), \
_arg1,_arg2,0,0,0); \
_resF = _res; \
@@ -125,7 +121,6 @@
#define DO_CREQ_v_WWW(_creqF, _ty1F,_arg1F, \
_ty2F,_arg2F, _ty3F, _arg3F) \
do { \
- Word _unused_res __attribute__((unused)); \
Word _arg1, _arg2, _arg3; \
assert(sizeof(_ty1F) == sizeof(Word)); \
assert(sizeof(_ty2F) == sizeof(Word)); \
@@ -133,8 +128,7 @@
_arg1 = (Word)(_arg1F); \
_arg2 = (Word)(_arg2F); \
_arg3 = (Word)(_arg3F); \
- VALGRIND_DO_CLIENT_REQUEST(_unused_res, 0, \
- (_creqF), \
+ VALGRIND_DO_CLIENT_REQUEST_EXPR(0, (_creqF), \
_arg1,_arg2,_arg3,0,0); \
} while (0)
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2011-05-15 06:41:37 UTC (rev 11754)
+++ trunk/include/valgrind.h 2011-05-15 07:04:03 UTC (rev 11755)
@@ -157,17 +157,31 @@
/* in here of use to end-users -- skip to the next section. */
/* ------------------------------------------------------------------ */
+/*
+ * VALGRIND_DO_CLIENT_REQUEST(): a statement that invokes a Valgrind client
+ * request. Accepts both pointers and integers as arguments.
+ *
+ * VALGRIND_DO_CLIENT_REQUEST_EXPR(): a C expression that invokes a Valgrind
+ * client request and whose value equals the client request result. Accepts
+ * both pointers and integers as arguments.
+ */
+
+#define VALGRIND_DO_CLIENT_REQUEST(_zzq_rlval, _zzq_default, \
+ _zzq_request, _zzq_arg1, _zzq_arg2, \
+ _zzq_arg3, _zzq_arg4, _zzq_arg5) \
+ { (_zzq_rlval) = VALGRIND_DO_CLIENT_REQUEST_EXPR((_zzq_default), \
+ (_zzq_request), (_zzq_arg1), (_zzq_arg2), \
+ (_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); }
+
#if defined(NVALGRIND)
/* Define NVALGRIND to completely remove the Valgrind magic sequence
from the compiled code (analogous to NDEBUG's effects on
assert()) */
-#define VALGRIND_DO_CLIENT_REQUEST( \
- _zzq_rlval, _zzq_default, _zzq_request, \
+#define VALGRIND_DO_CLIENT_REQUEST_EXPR( \
+ _zzq_default, _zzq_request, \
_zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
- { \
- (_zzq_rlval) = (_zzq_default); \
- }
+ (_zzq_default)
#else /* ! NVALGRIND */
@@ -221,10 +235,11 @@
"roll $3, %%edi ; roll $13, %%edi\n\t" \
"roll $29, %%edi ; roll $19, %%edi\n\t"
-#define VALGRIND_DO_CLIENT_REQUEST( \
- _zzq_rlval, _zzq_default, _zzq_request, \
+#define VALGRIND_DO_CLIENT_REQUEST_EXPR( \
+ _zzq_default, _zzq_request, \
_zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
- { volatile unsigned int _zzq_args[6]; \
+ __extension__ \
+ ({volatile unsigned int _zzq_args[6]; \
volatile unsigned int _zzq_result; \
_zzq_args[0] = (unsigned int)(_zzq_request); \
_zzq_args[1] = (unsigned int)(_zzq_arg1); \
@@ -239,8 +254,8 @@
: "a" (&_zzq_args[0]), "0" (_zzq_default) \
: "cc", "memory" \
); \
- _zzq_rlval = _zzq_result; \
- }
+ _zzq_result; \
+ })
#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval) \
{ volatile OrigFn* _zzq_orig = &(_zzq_rlval); \
@@ -277,26 +292,37 @@
__asm rol edi, 3 __asm rol edi, 13 \
__asm rol edi, 29 __asm rol edi, 19
-#define VALGRIND_DO_CLIENT_REQUEST( \
- _zzq_rlval, _zzq_default, _zzq_request, \
+#define VALGRIND_DO_CLIENT_REQUEST_EXPR( \
+ _zzq_default, _zzq_request, \
_zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
- { volatile uintptr_t _zzq_args[6]; \
- volatile unsigned int _zzq_result; \
- _zzq_args[0] = (uintptr_t)(_zzq_request); \
- _zzq_args[1] = (uintptr_t)(_zzq_arg1); \
- _zzq_args[2] = (uintptr_t)(_zzq_arg2); \
- _zzq_args[3] = (uintptr_t)(_zzq_arg3); \
- _zzq_args[4] = (uintptr_t)(_zzq_arg4); \
- _zzq_args[5] = (uintptr_t)(_zzq_arg5); \
- __asm { __asm lea eax, _zzq_args __asm mov edx, _zzq_default \
- __SPECIAL_INSTRUCTION_PREAMBLE \
- /* %EDX = client_request ( %EAX ) */ \
- __asm xchg ebx,ebx \
- __asm mov _zzq_result, edx \
- } \
- _zzq_rlval = _zzq_result...
[truncated message content] |
|
From: <sv...@va...> - 2011-05-15 06:41:44
|
Author: bart Date: 2011-05-15 07:41:37 +0100 (Sun, 15 May 2011) New Revision: 11754 Log: Updated Subversion ignore list. Modified: trunk/exp-sgcheck/ Property changes on: trunk/exp-sgcheck ___________________________________________________________________ Name: svn:ignore - *.dSYM .deps exp-ptrcheck-*-darwin exp-ptrcheck-*-linux Makefile Makefile.in preen_invars vgpreload_exp-ptrcheck-*-linux.so vgpreload_exp-ptrcheck-*-darwin.so vgpreload_exp-ptrcheck-*-darwin.so.dSYM + *.dSYM .deps exp-sgcheck-*-darwin exp-sgcheck-*-linux Makefile Makefile.in preen_invars vgpreload_exp-ptrcheck-*-linux.so vgpreload_exp-ptrcheck-*-darwin.so vgpreload_exp-ptrcheck-*-darwin.so.dSYM |
|
From: <sv...@va...> - 2011-05-15 06:18:32
|
Author: bart
Date: 2011-05-15 07:18:24 +0100 (Sun, 15 May 2011)
New Revision: 11753
Log:
gdbserver tests: only create the gdbserver_tests/gdb soft link if ./configure found gdb.
Modified:
trunk/gdbserver_tests/make_local_links
Modified: trunk/gdbserver_tests/make_local_links
===================================================================
--- trunk/gdbserver_tests/make_local_links 2011-05-15 06:07:57 UTC (rev 11752)
+++ trunk/gdbserver_tests/make_local_links 2011-05-15 06:18:24 UTC (rev 11753)
@@ -10,9 +10,9 @@
# The vgdb link is needed either for gdb tests
# or for standalone vgdb tests.
-ln -f -s $1 gdbserver_tests/gdb
-if [ -x gdbserver_tests/gdb ]
+if [ -x "$1" ]
then
+ ln -f -s "$1" gdbserver_tests/gdb
# Try to extract the gdb version.
VERSIONLINE=`gdbserver_tests/gdb --version | head -1`
VERSION=`echo $VERSIONLINE |
|
|
From: <sv...@va...> - 2011-05-15 06:08:05
|
Author: bart Date: 2011-05-15 07:07:57 +0100 (Sun, 15 May 2011) New Revision: 11752 Log: Skip gdbserver tests if ./configure did not find gdb. Modified: trunk/gdbserver_tests/mcbreak.vgtest trunk/gdbserver_tests/mcclean_after_fork.vgtest trunk/gdbserver_tests/mchelp.vgtest trunk/gdbserver_tests/mcinfcallRU.vgtest trunk/gdbserver_tests/mcinfcallWSRU.vgtest trunk/gdbserver_tests/mcinvokeRU.vgtest trunk/gdbserver_tests/mcinvokeWS.vgtest trunk/gdbserver_tests/mcleak.vgtest trunk/gdbserver_tests/mcsignopass.vgtest trunk/gdbserver_tests/mcsigpass.vgtest trunk/gdbserver_tests/mcvabits.vgtest trunk/gdbserver_tests/mcwatchpoints.vgtest trunk/gdbserver_tests/mssnapshot.vgtest trunk/gdbserver_tests/nlcontrolc.vgtest Modified: trunk/gdbserver_tests/mcbreak.vgtest =================================================================== --- trunk/gdbserver_tests/mcbreak.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcbreak.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,5 +1,6 @@ # test execution control (break, next, step) and inferior calls # when stopped on these events +prereq: test -e gdb prog: t vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcbreak stdout_filter: filter_gdb Modified: trunk/gdbserver_tests/mcclean_after_fork.vgtest =================================================================== --- trunk/gdbserver_tests/mcclean_after_fork.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcclean_after_fork.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,4 +1,5 @@ # test cleanup of break and watchpoints after fork +prereq: test -e gdb prog: clean_after_fork vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcclean_after_fork stderr_filter: filter_memcheck_monitor Modified: trunk/gdbserver_tests/mchelp.vgtest =================================================================== --- trunk/gdbserver_tests/mchelp.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mchelp.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,4 +1,5 @@ # test the memcheck monitor help +prereq: test -e gdb prog: t vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mchelp stdout_filter: filter_make_empty Modified: trunk/gdbserver_tests/mcinfcallRU.vgtest =================================================================== --- trunk/gdbserver_tests/mcinfcallRU.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcinfcallRU.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -9,7 +9,7 @@ # but no way to check that this is effectively in the 4 different threads. stderr_filter: filter_gdb # Disable on Darwin: inferior call rejected as it cannot find malloc. -prereq: ../tests/os_test linux +prereq: test -e gdb && ../tests/os_test linux progB: gdb argsB: --quiet -l 60 --nx ./sleepers stdinB: mcinfcallRU.stdinB.gdb Modified: trunk/gdbserver_tests/mcinfcallWSRU.vgtest =================================================================== --- trunk/gdbserver_tests/mcinfcallWSRU.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcinfcallWSRU.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -6,7 +6,7 @@ args: 100 100000000 1000000000 -S-S-SB- vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU # Disable on Darwin: inferior call rejected as it cannot find malloc. -prereq: ../tests/os_test linux +prereq: test -e gdb && ../tests/os_test linux # filter_gdb to replace pid and Thread numbers. stderr_filter: filter_gdb progB: gdb Modified: trunk/gdbserver_tests/mcinvokeRU.vgtest =================================================================== --- trunk/gdbserver_tests/mcinvokeRU.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcinvokeRU.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -5,6 +5,7 @@ vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeRU stderr_filter: filter_make_empty # as the Valgrind process is always busy, we do not need the vgdb.ptraceinvoker prereq. +prereq: test -e gdb progB: invoker argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeRU --wait=60 -c vg.wait 0 # if the --wait is not enough, the test will fail or block. Modified: trunk/gdbserver_tests/mcinvokeWS.vgtest =================================================================== --- trunk/gdbserver_tests/mcinvokeWS.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcinvokeWS.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -4,7 +4,7 @@ args: 1 10000000 0 -S-S-S-S vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeWS stderr_filter: filter_make_empty -prereq: test -f vgdb.ptraceinvoker +prereq: test -e gdb -a -f vgdb.ptraceinvoker progB: invoker argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeWS --wait=60 -c vg.wait 0 # if the --wait is not enough, the test will fail or block Modified: trunk/gdbserver_tests/mcleak.vgtest =================================================================== --- trunk/gdbserver_tests/mcleak.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcleak.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -2,7 +2,7 @@ prog: ../memcheck/tests/leak-delta vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcleak -q --leak-check=yes --show-reachable=yes --leak-resolution=high # temorarily disabled, waiting for leak-delta test program (next patch) -prereq: test -x ../memcheck/tests/leak-delta +prereq: test -e gdb -a -x ../memcheck/tests/leak-delta stdout_filter: filter_memcheck_monitor stderr_filter: filter_memcheck_monitor progB: gdb Modified: trunk/gdbserver_tests/mcsignopass.vgtest =================================================================== --- trunk/gdbserver_tests/mcsignopass.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcsignopass.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -4,6 +4,7 @@ # faultstatus C code will report a failure for the signal not passed # (i.e. SIGBUG, Test 3). Other tests will be succesful, because signals # are eventually passed. +prereq: test -e gdb prog: ../none/tests/faultstatus vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass stderr_filter: filter_memcheck_monitor Modified: trunk/gdbserver_tests/mcsigpass.vgtest =================================================================== --- trunk/gdbserver_tests/mcsigpass.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcsigpass.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,4 +1,5 @@ # test the signal handling, when signals are passed to the Valgrind guest. +prereq: test -e gdb prog: ../none/tests/faultstatus vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass stderr_filter: filter_memcheck_monitor Modified: trunk/gdbserver_tests/mcvabits.vgtest =================================================================== --- trunk/gdbserver_tests/mcvabits.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcvabits.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,4 +1,5 @@ # test the memcheck V and A bits monitor functionality +prereq: test -e gdb prog: t vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcvabits stdout_filter: filter_make_empty Modified: trunk/gdbserver_tests/mcwatchpoints.vgtest =================================================================== --- trunk/gdbserver_tests/mcwatchpoints.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mcwatchpoints.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,5 +1,6 @@ # test the memcheck watchpoint functionality # Note: we need --vgdb=full to stop at the instruction following the watchpoint. +prereq: test -e gdb prog: watchpoints vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcwatchpoints stdout_filter: filter_make_empty Modified: trunk/gdbserver_tests/mssnapshot.vgtest =================================================================== --- trunk/gdbserver_tests/mssnapshot.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/mssnapshot.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -1,4 +1,5 @@ # test the memcheck monitor help +prereq: test -e gdb prog: t vgopts: --tool=massif --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mssnapshot stdout_filter: filter_make_empty Modified: trunk/gdbserver_tests/nlcontrolc.vgtest =================================================================== --- trunk/gdbserver_tests/nlcontrolc.vgtest 2011-05-15 05:44:59 UTC (rev 11751) +++ trunk/gdbserver_tests/nlcontrolc.vgtest 2011-05-15 06:07:57 UTC (rev 11752) @@ -10,7 +10,7 @@ args: 1000000000 1000000000 1000000000 BSBSBSBS vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc stderr_filter: filter_stderr -prereq: test -f vgdb.ptraceinvoker +prereq: test -e gdb -a -f vgdb.ptraceinvoker progB: gdb argsB: --quiet -l 60 --nx ./sleepers stdinB: nlcontrolc.stdinB.gdb |
|
From: <sv...@va...> - 2011-05-15 05:45:09
|
Author: bart
Date: 2011-05-15 06:44:59 +0100 (Sun, 15 May 2011)
New Revision: 11751
Log:
gdbserver_tests/t.c: Fixed two occurrences of the same typo.
Modified:
trunk/gdbserver_tests/t.c
Modified: trunk/gdbserver_tests/t.c
===================================================================
--- trunk/gdbserver_tests/t.c 2011-05-12 19:15:06 UTC (rev 11750)
+++ trunk/gdbserver_tests/t.c 2011-05-15 05:44:59 UTC (rev 11751)
@@ -54,7 +54,7 @@
{
int i, j;
for (i = 0; i < LOOPS; i++)
- for (j = 0; i < LOOPS; i++)
+ for (j = 0; j < LOOPS; j++)
(*loopnr)++;
}
|