Commit Graph

6472 Commits

Author SHA1 Message Date
Dirk Mueller
706dd9fa67 ignore .valgrindrc files that are world writeable
or not owned by the current user (CVE-2008-4865)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8798
2008-11-22 12:03:19 +00:00
Bart Van Assche
15c571b48a Updated notes section.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8797
2008-11-21 19:18:47 +00:00
Julian Seward
96b2ce64c0 Helgrind's event-map garbage collector hammers VG_(OSetGen_Next).
Import an optimisation from the analogous function in m_wordfm.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8795
2008-11-20 23:33:05 +00:00
Julian Seward
468ca56d5d event_map_maybe_GC: use a flat array when computing the distribution
(counts) of generation numbers in the oldrefTree, instead of using a
WordFM as an associative array.  This significantly accelerates the
event map garbage collector.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8794
2008-11-20 23:17:01 +00:00
Julian Seward
36ca6df95a Re-set constraints in 'consistent' style after a race is detected,
instead of the more aggressive setting, which appeared to cause a
large number of extra race reports.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8793
2008-11-20 11:20:50 +00:00
Dirk Mueller
0ebe1bbe1e add glibc 2.9 support to changelog
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8792
2008-11-20 00:01:21 +00:00
Dirk Mueller
31548743a6 glibc 2.9 support
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8790
2008-11-19 23:58:36 +00:00
Bart Van Assche
299848c52e Added prereq clause.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8789
2008-11-19 17:51:44 +00:00
Julian Seward
9398b50c4a Don't put raced-on locations in an (E)rror state; instead leave them
in a (C)onstraint state.  The former approach can cause races to be
missed.  Also, update state machine slightly following re-analysis
thereof.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8788
2008-11-19 16:35:15 +00:00
Julian Seward
b2bd92dc6e Fix comment typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8787
2008-11-19 16:33:59 +00:00
Julian Seward
dcf4483796 Add informal correctness argument for the logic in
evh__HG_PTHREAD_BARRIER_WAIT_PRE, as it is somewhat subtle.

Also, free the SO after use, else there's a space leak.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8786
2008-11-19 11:52:14 +00:00
Julian Seward
637b4cd0d7 Add some suppressions for Qt4-related code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8785
2008-11-19 10:41:55 +00:00
Julian Seward
330495b563 * Update Qt4 interceptors and add, as comments, findings of analysis
of Qt4 threading functions.

* Add a bunch of replacements for strlen etc, to avoid races from
  optimised glibc versions that overread memory.  Copied directly from
  memcheck/mc_replace_strmem.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8784
2008-11-19 10:40:56 +00:00
Julian Seward
c9b2f74417 event_map_maybe_GC: handle corner case that was previously simply
asserted on: if all the entries in the event map are in the same
generation, then we have no LRU information at all with which to
decide which entries to discard.  So in this case throw away half of
them randomly -- there's nothing better we can do.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8783
2008-11-18 23:40:00 +00:00
Julian Seward
e791eae7c6 A couple of 'make dist' fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8782
2008-11-18 02:10:33 +00:00
Bart Van Assche
b34d7bb182 More DRD suppression pattern simplifications.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8781
2008-11-17 18:22:10 +00:00
Bart Van Assche
d7910a953d Simplified DRD suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8780
2008-11-17 17:57:15 +00:00
Bart Van Assche
4ffcaf805d Added bar_bad and bar_trivial to the regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8779
2008-11-17 17:38:28 +00:00
Bart Van Assche
d2dac1ea80 Updated expected output after spelling fix in drd_barrier.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8778
2008-11-17 17:37:08 +00:00
Bart Van Assche
76d98e2895 Renamed boost_threads* into boost_thread*.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8777
2008-11-17 17:36:29 +00:00
Bart Van Assche
9a2e5abe9e Print an error message instead of asserting when the count argument of pthread_barrier_init() is zero. Fixed a spelling error in an error message.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8776
2008-11-17 17:35:26 +00:00
Bart Van Assche
2abd131696 Added yet another DRD suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8775
2008-11-17 17:33:39 +00:00
Julian Seward
69fcffda22 Expand filename for coredumps correctly. Fixes #174908. Also take
the opportunity to remove some sprintf-ing into a fixed-sized buffer.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8774
2008-11-17 12:45:58 +00:00
Julian Seward
3b60492dc1 Add a comment re VG_(expand_file_name).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8773
2008-11-17 12:45:01 +00:00
Julian Seward
08069a1f9a Don't let GDB_PATH be "" if no GDB is found at configure time, as this causes
any attempts to attach a gdb to the process to fail in a confusing way.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8772
2008-11-17 00:20:45 +00:00
Julian Seward
c003738f13 Make these compile on older systems.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8771
2008-11-16 23:25:43 +00:00
Julian Seward
318bd7cf8b Make test 'tc21_pthonce' less scheduling-sensitive.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8770
2008-11-16 21:59:29 +00:00
Julian Seward
2ebd38040f Handle sys_lookup_dcookie on amd64-linux (Andrew Haley). Also take
the opportunity to move the handlers from syswrap-generic.c (which
they certainly aren't) to syswrap-linux.c.  Fixes #175044.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8769
2008-11-16 21:40:54 +00:00
Julian Seward
2ce349dd7b Add some regression tests for pthread_barrier handling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8768
2008-11-14 19:43:44 +00:00
Julian Seward
324d8558d6 Add a couple more tests for API errors in
evh__HG_PTHREAD_BARRIER_DESTROY_PRE.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8767
2008-11-14 19:41:19 +00:00
Julian Seward
ee11d2781d Add initial support for POSIX barriers (pthread_barrier_{init,wait,destroy}).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8766
2008-11-13 13:33:09 +00:00
Julian Seward
24917a1daa Add performance comments to VG_(sizeFM), and add new method
VG_(isEmptyFM), currently commented out.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8765
2008-11-13 13:17:06 +00:00
Julian Seward
70e5fbdf04 Fix debug printing of fd in mmap system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8764
2008-11-13 13:14:00 +00:00
Bart Van Assche
a4ddba81ca Added regression test for Boost.Threads.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8763
2008-11-10 18:54:46 +00:00
Bart Van Assche
0fc6d04d97 Added configure test for Boost.Threads.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8762
2008-11-10 18:53:42 +00:00
Julian Seward
b69995b756 Update this test a bit. It's basically flawed though.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8761
2008-11-10 16:33:29 +00:00
Julian Seward
2a7aedcf12 Handle EvM GC messaging properly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8760
2008-11-10 16:19:21 +00:00
Julian Seward
4a3723e8a7 Make sure laog__handle_one_lock_deletion actually gets called as a
result of the client doing pthread_mutex_destroy() or
pthread_rwlock_destroy().



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8759
2008-11-10 16:16:46 +00:00
Julian Seward
ab920f80a8 Adjust sed scripts used to generate the linker scripts on Linux, so as
to delete everything after the trailing ======.  This apparently makes
the system buildable with icc 9.1.  (patch from Philip Blakely).
Fixes #173099.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8758
2008-11-10 15:05:30 +00:00
Julian Seward
c4759767c7 Use a couple of reader-writer-lock tests from drd.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8757
2008-11-10 02:01:17 +00:00
Julian Seward
cac5a4e9b1 Update expected outputs following a (trivial) change in the source of
tc09 in r8753.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8756
2008-11-10 01:16:46 +00:00
Julian Seward
fb05007dbc Add a new expected output that applies to glibc-2.7 and later.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8755
2008-11-10 00:55:21 +00:00
Julian Seward
b705677134 Add a new expected output that applies to glibc-2.7 and later.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8754
2008-11-10 00:46:52 +00:00
Julian Seward
19529c1c38 More updates to expected outputs. This currently gives Helgrind zero
failures on opensuse 10.2 on amd64 (glibc 2.5, gcc-4.1.3).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8753
2008-11-10 00:16:34 +00:00
Julian Seward
7bba5ef8aa Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8752
2008-11-09 23:33:32 +00:00
Julian Seward
eb5e457e3e Move the conflicting accesses in each thread earlier, so that pure h-b
is not fooled by the locking on non-conflicted parts of the arrays.
(Not really sure what's going on here, but DRD and Helgrind behave
identically, so I'm not too concerned.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8751
2008-11-09 23:31:19 +00:00
Julian Seward
4757ac5356 Update baseline expected outputs, now that Helgrind uses a different
algorithm than in 3.3.x.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8750
2008-11-09 20:47:57 +00:00
Julian Seward
a500c38d13 A bit of tidying up:
* get rid of 'struct _EC' (a.k.a 'struct EC_') and use ExeContext
  everywhere

* remove stacktrace_to_EC and call
  VG_(make_ExeContext_from_StackTrace) directly

* comment out some unused code



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8749
2008-11-08 20:36:26 +00:00
Julian Seward
91442c55a8 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8748
2008-11-08 15:26:53 +00:00
Julian Seward
cf588ba40d When trying to establish whether or not debuginfo should be read from
a file, first the mapping permissions _before_ peering at the file's
header, rather than afterwards.  This changes the logic to behave more
like it does in 3.3.x.  Fixes #164669, although really it is all still
rather fragile.  The bug report,
http://bugs.kde.org/show_bug.cgi?id=164669, contains a detailed
explanation.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8747
2008-11-08 15:22:19 +00:00