7311 Commits

Author SHA1 Message Date
Julian Seward
4f730a3c8e Merge memcheck/ changes from branches/MESSAGING_TIDYUP r10464.
See trunk r10465 commit message for details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10467
2009-07-15 14:49:40 +00:00
Julian Seward
c020a7e3b6 Merge drd/ changes from branches/MESSAGING_TIDYUP r10464.
See trunk r10465 commit message for details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10466
2009-07-15 14:49:17 +00:00
Julian Seward
e7dde85a24 Merge coregrind/ changes from branches/MESSAGING_TIDYUP r10464.
This commit tidies up and rationalises what could be called the
"messaging" system -- that part of V to do with presenting output to
the user.  In particular it brings significant improvements to XML
output.

Changes are:

* XML and normal text output now have separate file descriptors,
  which solves longstanding problems for XML consumers caused by
  the XML output getting polluted by unexpected non-XML output.

* This also means that we no longer have to hardwire all manner
  of output settings (verbosity, etc) when XML is requested.

* The XML output format has been revised, cleaned up, and made
  more suitable for use by error detecting tools in general
  (various Memcheck-specific features have been removed).  XML
  output is enabled for Ptrcheck and Helgrind, and Memcheck is
  updated to the new format.

* One side effect is that the behaviour of VG_(message) has been
  made to be consistent with printf: it no longer automatically
  adds a newline at the end of the output.  This means multiple
  calls to it can be used to build up a single line message; or a
  single call can write a multi-line message.  The ==pid==
  preamble is automatically inserted at each newline.

* VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form
  VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and
  VG_(EMSG) for Vg_DebugExtraMsg.  A couple of other useful
  printf derivatives have been added to pub_tool_libcprint.h,
  most particularly VG_(vcbprintf).

* There's a small change in the core-tool interface to do with
  error handling: VG_(needs_tool_errors) has a new method
  void (*before_pp_Error)(Error* err)  which, if non-NULL, is
  called just before  void (*pp_Error)(Error* err).  This is to
  give tools the chance to look at errors before any part of them
  is printed, so they can print any XML preamble they like.

* coregrind/m_errormgr.c has been overhauled and cleaned up, and
  is a bit simpler and more commented.  In particular pp_Error
  and VG_(maybe_record_error) are significantly changed.

The diff is huge, but mostly very boring.  Most of the changes
are of the form

-   VG_(message)(Vg_UserMsg, "this is a message %d", n);
+   VG_(message)(Vg_UserMsg, "this is a message %d\n", n);

Unfortunately as a result of this, it touches a large number
of source files.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10465
2009-07-15 14:48:32 +00:00
Tom Hughes
d9a6e3b3f7 Validate the file descriptor argument to fallocate.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10463
2009-07-15 07:47:49 +00:00
Nicholas Nethercote
3758ff85e8 Add details about an interior-pointer case that can occur with C++.
Addresses bug 136230.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10462
2009-07-15 07:18:16 +00:00
Nicholas Nethercote
9ca3448218 Add support on Darwin for mount(). Finishes off bug 198624.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10461
2009-07-15 06:39:15 +00:00
Nicholas Nethercote
c5310baaff Added support for getfsstat64() on Darwin. This partly fixes bug 198624.
Fixed a couple of other minor things too.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10460
2009-07-15 06:24:57 +00:00
Bart Van Assche
6390b098e2 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10459
2009-07-15 06:17:18 +00:00
Nicholas Nethercote
ef7925e7bc Add support on Darwin for fstat_extended() and fstat64_extended(). Partly
addresses bug 198624.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10458
2009-07-15 06:01:45 +00:00
Nicholas Nethercote
705bcf4d73 Handle setpgid(). Partly addresses bug 198624.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10457
2009-07-15 05:46:43 +00:00
Nicholas Nethercote
f00335141b Handle fallocate() on 64-bit platforms. Fixes bug 185794.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10456
2009-07-15 03:08:35 +00:00
Nicholas Nethercote
2a7a73345f Ignore MALLOCLIKE_BLOCK/FREELIKE_BLOCK if addr==0. Fixes bug 137073. DRD
now has its own copy of custom_alloc.c which is a little different to
Memcheck's;  making them both work with the same version was too difficult.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10455
2009-07-15 02:31:45 +00:00
Bart Van Assche
0182210f78 More Subversion ignore list updates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10454
2009-07-14 16:45:48 +00:00
Bart Van Assche
37252cc26c Fixed recently introduced compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10453
2009-07-14 16:36:40 +00:00
Bart Van Assche
2e848c3530 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10452
2009-07-14 11:56:10 +00:00
Nicholas Nethercote
75b92a2ec9 Shorten the preamble by moving some of it into the --help output. This
partly fixes bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10451
2009-07-14 06:55:05 +00:00
Bart Van Assche
68071e27fd Updated subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10450
2009-07-14 06:39:10 +00:00
Bart Van Assche
6a5fa765fa Updated subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10449
2009-07-14 06:38:38 +00:00
Bart Van Assche
1f3866629f Updated filter after the modification of Valgrind's startup message in r10447.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10448
2009-07-14 06:31:26 +00:00
Nicholas Nethercote
9398df7628 Don't put the Vex SVN revision number in the preamble -- it achieves little
and is an enormous pain.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10447
2009-07-14 04:49:18 +00:00
Nicholas Nethercote
43b716df56 Mention BBV in the README.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10446
2009-07-14 04:24:18 +00:00
Nicholas Nethercote
9bf1386484 Mark exp-bbv filters as executable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10445
2009-07-14 03:02:30 +00:00
Nicholas Nethercote
9c040c96bf Add exp-bbv to the tool-suite. I'm seeing a couple of amd64-linux test
failures, but they can be fixed up in-repo.  This resolves bug 198395.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10444
2009-07-14 01:39:54 +00:00
Nicholas Nethercote
62947ce42f comment change
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10443
2009-07-14 01:29:39 +00:00
Nicholas Nethercote
064ae01c80 Minor update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10442
2009-07-14 00:29:30 +00:00
Nicholas Nethercote
00057df2c4 Some ioctls don't look at ARG3 at all. Based on patches from Clemens
Ladisch.  Fixes bug 159501.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10441
2009-07-14 00:06:00 +00:00
Nicholas Nethercote
5715955132 Fix a couple of tests that could be built with the wrong options, including
the -m32/-m64 option.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10440
2009-07-13 22:20:00 +00:00
Julian Seward
e3c61c642f Fix breakage on ppc{32,64}-linux in post_reg_write_nonptr following
r10084 and also update a comment.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10439
2009-07-13 10:00:06 +00:00
Nicholas Nethercote
62851019a9 Suppress an error within syslog(). Patch from Dan Kegel. Fixes bug 191192.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10438
2009-07-13 07:02:26 +00:00
Nicholas Nethercote
230d940241 Fix wrapper for ioctl(VT_GETSTATE). Patch from Garrett D'Amore. Fixes bug
139076.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10437
2009-07-13 06:43:19 +00:00
Nicholas Nethercote
44fcfd1f30 Disable AC_PROG_OBJC -- it's currently not required and apparently causes
problems on older Linux distros.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10436
2009-07-12 23:07:13 +00:00
Nicholas Nethercote
6141840b2d Make atomic_incs.c build on Mac.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10435
2009-07-12 22:58:26 +00:00
Julian Seward
8e1b7a5bd5 Fix identification of sse3 on amd64s. Previously it was identifying
ssse3, not sse3 (sigh).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10434
2009-07-12 13:19:04 +00:00
Julian Seward
e818cd9481 Only run none/tests/amd64/bug127521-64 on machines supporting cmpxchg16b.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10433
2009-07-12 13:17:18 +00:00
Julian Seward
d8898802fc Track vex r1907 (introduce Iop_CmpCas{EQ,NE}{8,16,32,64} and use them
for CAS-success? tests).

Detailed background and rationale in memcheck/mc_translate, comment
"COMMENT_ON_CasCmpEQ".

This commit changes the Memcheck instrumentation of IRCAS so as not to
do a definedness check on the success/failure indication.  Also, by
being able to identify via the Iop_CasCmpEQ primitives any such checks
independently created by front ends, it can avoid instrumenting these
too.

All this is to avoid reporting new false positives observed on Fedora 7
(x86?) and openSUSE 10.2 (x86) following the recent merge of branches/DCAS.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10432
2009-07-12 13:00:17 +00:00
Bart Van Assche
05c82a3857 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10431
2009-07-11 15:03:20 +00:00
Bart Van Assche
97dac31044 pth_cleanup_handler test compiles and runs now on systems that do not support reader-writer locks too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10430
2009-07-11 15:02:27 +00:00
Bart Van Assche
5f83d3907f Clarified an implementation choice.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10429
2009-07-11 14:35:59 +00:00
Bart Van Assche
6b56e137c9 Suppressed the warnings issued by gcc about unused return values.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10428
2009-07-11 14:14:58 +00:00
Nicholas Nethercote
400b917577 Handle epoll_create1. Patch from Sam Varshavchik. Fixes bug 188427.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10427
2009-07-10 12:02:03 +00:00
Bart Van Assche
720824955e Removed reference to recursive_mutex.stdout.exp from Makefile.am
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10426
2009-07-10 10:02:46 +00:00
Bart Van Assche
a0becefe29 Modified recursive_mutex regression test: improved portability by removing usage of alarm() / all output is now sent to stderr / full output is now compared instead of only a summary.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10425
2009-07-10 09:26:29 +00:00
Bart Van Assche
e4b151c2cc Generalized two suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10424
2009-07-10 09:24:27 +00:00
Nicholas Nethercote
7e075c243f Make --leak-resolution=high the default. Fixes bug 197929.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10423
2009-07-10 08:16:29 +00:00
Bart Van Assche
2d9fda57d0 Added a suppression pattern for call stacks referencing the function _Unwind_ForcedUnwind / generalized the suppression pattern for the function _Unwind_ForcedUnwind_Phase2.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10422
2009-07-10 06:48:13 +00:00
Bart Van Assche
d7b6cb0f6a Added missing $(AM_CFLAGS).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10421
2009-07-10 06:38:20 +00:00
Nicholas Nethercote
50ea939ae1 Attempt to improve the {MALLOC,FREE}LIKE_BLOCK documentation, based on
seeing them misapplied on a real-world example.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10420
2009-07-09 23:35:44 +00:00
Nicholas Nethercote
737f3050ca This file was accidentally empty; fill it with the right output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10419
2009-07-09 22:52:24 +00:00
Julian Seward
4b19c85350 Add support for IRStmt_CAS to the h_ instrumenter. This should stop
exp-ptrcheck asserting on threaded programs on x86 and amd64.  Vast
amounts of fiddly complication that makes my head hurt.  Urr.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10418
2009-07-09 10:52:03 +00:00
Julian Seward
338cd1a59a Liberalise IRTemp bookkeeping in the h_ instrumenter, so as to allow
addition of non-shadow IRTemps without causing it to collapse into
assertion failures.  This changes is a simplified version of what was
committed in
svn://svn.valgrind.org/valgrind/branches/DCAS/memcheck/mc_translate.c
r10109.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10417
2009-07-09 10:45:11 +00:00