]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
16 years agoFinished renaming of boost_threads into boost_thread.
Bart Van Assche [Sun, 21 Dec 2008 16:08:36 +0000 (16:08 +0000)] 
Finished renaming of boost_threads into boost_thread.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8849

16 years agoGeneralized the glibc _IO_file_xsputn suppression pattern. Added a suppression patter...
Bart Van Assche [Sun, 21 Dec 2008 16:08:07 +0000 (16:08 +0000)] 
Generalized the glibc _IO_file_xsputn suppression pattern. Added a suppression pattern for Boost.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8848

16 years agoMove description of --read-var-info= from the "debugging options"
Julian Seward [Sun, 21 Dec 2008 10:45:55 +0000 (10:45 +0000)] 
Move description of --read-var-info= from the "debugging options"
section to the "uncommon user options" section.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8847

16 years agoFollowing r8845, explicitly enable Dwarf3 variable/type info reading
Julian Seward [Sun, 21 Dec 2008 10:44:28 +0000 (10:44 +0000)] 
Following r8845, explicitly enable Dwarf3 variable/type info reading
on tests whose output depends on it.

 --This line, and those below, will be ignored--

M    helgrind/tests/tc20_verifywrap.vgtest
M    helgrind/tests/tc16_byterace.vgtest
M    helgrind/tests/tc01_simple_race.vgtest
M    helgrind/tests/rwlock_race.vgtest
M    helgrind/tests/tc06_two_races.vgtest
M    helgrind/tests/hg03_inherit.vgtest
M    helgrind/tests/tc21_pthonce.vgtest
M    helgrind/tests/tc05_simple_race.vgtest
M    helgrind/tests/hg04_race.vgtest
M    helgrind/tests/hg05_race2.vgtest

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8846

16 years agoVarious changes:
Julian Seward [Sun, 21 Dec 2008 10:43:10 +0000 (10:43 +0000)] 
Various changes:

* remove flags --trace-addr= and --trace-level=.  These no longer
  have any effect, so there's no point in having the associated flags.

* add flag --show-conflicts=no|yes [yes], which makes it possible to
  disable the conflicting-access collection machinery.  This makes
  Helgrind run much faster.  Perhaps useful in regression testing,
  when it is desired only to find out if a race exists, but not to
  collect enough information to easily diagnose it.

* add flag --conflict-cache-size= [1000000], which makes it possible
  to control how much memory is used for storage of information about
  historical (potentially-conflicting) accesses.

* Update comments on the conflicting-access machinery to more closely
  reflect the code.  Includes comments on the important aspects of
  the value N_OLDREF_ACCS.  Increase said constant from 3 to 5.

* Fix bug in event_map_bind: when searching for an OldRef.accs[]
  entry that matches the current access, don't forget to also
  compare the access sizes.  The old code only compared the thread
  identity and the read/writeness.

* hg_main.c: disable Dwarf3 variable/type info reading by default.
  Mostly this provides little benefit and can cause Helgrind to use
  a lot more time and memory at startup.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8845

16 years agoRearrange suppressions a bit, and add a couple more from David Faure.
Julian Seward [Sat, 20 Dec 2008 09:20:33 +0000 (09:20 +0000)] 
Rearrange suppressions a bit, and add a couple more from David Faure.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8844

16 years agoUpdate expected outputs for glibc25-amd64.
Julian Seward [Fri, 19 Dec 2008 09:46:17 +0000 (09:46 +0000)] 
Update expected outputs for glibc25-amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8843

16 years agoUpdate the expected outputs following changes in Helgrind over the
Julian Seward [Thu, 18 Dec 2008 20:21:13 +0000 (20:21 +0000)] 
Update the expected outputs following changes in Helgrind over the
past few weeks.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8842

16 years agoCallgrind: add code pattern for runtime_resolve on OpenSuse11.0/x86
Josef Weidendorfer [Thu, 18 Dec 2008 19:48:35 +0000 (19:48 +0000)] 
Callgrind: add code pattern for runtime_resolve on OpenSuse11.0/x86

OpenSuse 11.0 has glibc 2.8, which changed the assembly code for
runtime_resolve. This patch rearranges the code search such that
multiple variants can be scanned.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8841

16 years agoDon't apply cross-compilation patch during the nightly build any more,
Julian Seward [Thu, 18 Dec 2008 08:33:24 +0000 (08:33 +0000)] 
Don't apply cross-compilation patch during the nightly build any more,
as it's no longer necessary.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8840

16 years agoMove the functionality from filter_threadnums into filter_stderr, so that
Julian Seward [Thu, 18 Dec 2008 08:27:32 +0000 (08:27 +0000)] 
Move the functionality from filter_threadnums into filter_stderr, so that
it applies to all tests.  Then remove all references to filter_threadnums.

Also:

* match and transform not only "Thread #n" and "thread #n"
  but also "Thread n" and "thread n", where n is [0-9][0-9]*.

* use -e ... for the sed commands where possible, to reduce the number
  of processes that have to be started

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8839

16 years agoHG_(instrument): don't assert on Imbe_SnoopedStore{Begin,End}.
Julian Seward [Thu, 18 Dec 2008 01:20:11 +0000 (01:20 +0000)] 
HG_(instrument): don't assert on Imbe_SnoopedStore{Begin,End}.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8838

16 years agoAdded another regression test.
Bart Van Assche [Wed, 17 Dec 2008 19:21:17 +0000 (19:21 +0000)] 
Added another regression test.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8837

16 years agoFixed semaphore vector clock updating / simplified semaphore tracing.
Bart Van Assche [Wed, 17 Dec 2008 19:20:13 +0000 (19:20 +0000)] 
Fixed semaphore vector clock updating / simplified semaphore tracing.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8836

16 years agoFixed grammar / split a paragraph in two.
Bart Van Assche [Wed, 17 Dec 2008 19:15:58 +0000 (19:15 +0000)] 
Fixed grammar / split a paragraph in two.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8835

16 years agoAdded a suppression pattern.
Bart Van Assche [Wed, 17 Dec 2008 19:10:26 +0000 (19:10 +0000)] 
Added a suppression pattern.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8834

16 years agoAdded a paragraph about the Boost.Thread library.
Bart Van Assche [Wed, 17 Dec 2008 19:10:06 +0000 (19:10 +0000)] 
Added a paragraph about the Boost.Thread library.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8833

16 years agoCreate rough entries for the 3.4.0 changes.
Julian Seward [Wed, 17 Dec 2008 12:26:24 +0000 (12:26 +0000)] 
Create rough entries for the 3.4.0 changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8832

16 years agoInclude new file (why-no-libc.txt) in the distro tarball.
Julian Seward [Wed, 17 Dec 2008 12:25:05 +0000 (12:25 +0000)] 
Include new file (why-no-libc.txt) in the distro tarball.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8831

16 years agoFixed regression test tc20_verifywrap2, which was broken through r8829.
Bart Van Assche [Wed, 17 Dec 2008 07:32:09 +0000 (07:32 +0000)] 
Fixed regression test tc20_verifywrap2, which was broken through r8829.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8830

16 years agoFix some format string mismatch warnings, associated with r8825.
Julian Seward [Wed, 17 Dec 2008 01:21:06 +0000 (01:21 +0000)] 
Fix some format string mismatch warnings, associated with r8825.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8829

16 years agoAdd another magic constant to the Iex_Const case in isBogusAtom, as
Julian Seward [Wed, 17 Dec 2008 01:12:58 +0000 (01:12 +0000)] 
Add another magic constant to the Iex_Const case in isBogusAtom, as
seen in glibc on ppc32.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8828

16 years agoAdd some useful info.
Nicholas Nethercote [Mon, 15 Dec 2008 21:29:29 +0000 (21:29 +0000)] 
Add some useful info.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8827

16 years agoAdd support ioprio_get and wire up ioprio_set on all platforms.
Tom Hughes [Mon, 15 Dec 2008 08:58:29 +0000 (08:58 +0000)] 
Add support ioprio_get and wire up ioprio_set on all platforms.
Fixes bug #177819.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8826

16 years agoAdded more semaphore tracing info.
Bart Van Assche [Sun, 14 Dec 2008 08:56:49 +0000 (08:56 +0000)] 
Added more semaphore tracing info.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8825

16 years agoUpdate an FAQ to account for --track-origins=yes.
Nicholas Nethercote [Sat, 13 Dec 2008 22:27:05 +0000 (22:27 +0000)] 
Update an FAQ to account for --track-origins=yes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8824

16 years agoInclude vg-in-place in the distro tarball.
Julian Seward [Sat, 13 Dec 2008 18:46:44 +0000 (18:46 +0000)] 
Include vg-in-place in the distro tarball.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8823

16 years agoUpdate.
Julian Seward [Sat, 13 Dec 2008 16:53:35 +0000 (16:53 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8822

16 years agoMake sure $mflag_primary is used in the tests for Boost and QtCore
Julian Seward [Sat, 13 Dec 2008 16:45:19 +0000 (16:45 +0000)] 
Make sure $mflag_primary is used in the tests for Boost and QtCore
features.  Also add a big comment explaining why this is important.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8821

16 years agoAvoid causing an assertion failure in VG_(make_ExeContext_from_StackTrace)
Julian Seward [Sat, 13 Dec 2008 01:20:21 +0000 (01:20 +0000)] 
Avoid causing an assertion failure in VG_(make_ExeContext_from_StackTrace)
in the case where VG_(clo_backtrace_size) < N_FRAMES (that is, with
--num-callers=N where N < N_FRAMES).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8820

16 years agoAdd a couple of suppressions relating to unwinding the stack following
Julian Seward [Sat, 13 Dec 2008 01:18:38 +0000 (01:18 +0000)] 
Add a couple of suppressions relating to unwinding the stack following
pthread_exit.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8819

16 years agoThis commit subtly changes the meaning of the values obtained via the
Julian Seward [Fri, 12 Dec 2008 13:23:03 +0000 (13:23 +0000)] 
This commit subtly changes the meaning of the values obtained via the
stack unwind mechanism (the function VG_(record_ExeContext) et al),
clears up some associated kludges, and makes suppression matching work
more reliably.

Prior to this commit, a stack snapshot contained, at [0], the IP of
the relevant thread, and at all positions [1] and above, the return
addresses for the open calls.

When showing a snapshot to the user (in VG_(apply_StackTrace)), and
searching the stack for stack blocks (in VG_(get_data_description)), 1
is subtracted from positions [1] and above, so as to move these return
addresses back to the last byte of the calling instruction.  This
subtraction is also done even in VG_(get_StackTrace_wrk) itself, in
order to make the stack unwinding work at all.

It turns out that suppression-vs-function-name matching requires the
same hack, and sometimes failed to match suppressions that should
match, because of this self-same problem.

So the commit changes the stack unwinder itself, so that entries [1]
and above point to the last byte of the call instruction, rather than
the return address.  The associated kludges in VG_(apply_StackTrace)
and VG_(get_StackTrace_wrk) are removed, and suppression matching is
observed to work in a case where it failed before.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8818

16 years agoFix format string warning in PRE(sys_eventfd2).
Julian Seward [Fri, 12 Dec 2008 08:08:58 +0000 (08:08 +0000)] 
Fix format string warning in PRE(sys_eventfd2).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8817

16 years agoAdd a new module, m_seqmatch, which does very simple sequence (regexp)
Julian Seward [Fri, 12 Dec 2008 08:07:49 +0000 (08:07 +0000)] 
Add a new module, m_seqmatch, which does very simple sequence (regexp)
matching, in the function VG_(generic_match).  Patterns to be matched
against may contain only '*'-style wildcards (matches any number of
elements, we don't care what they are), '?' wildcards (matches exactly
one element, we don't care what it is) and literal elements.

It is totally abstractified, in the sense that the pattern and input
arrays may be arrays of anything.  The caller provides enough
information so that VG_(generic_match) can step along both arrays, and
can ask the questions "is this pattern element a '*' ?", "is this
pattern element a '?' ?", and "does this pattern element match an
input element ?".

The existing function VG_(string_match) is reimplemented using
VG_(generic_match), although the ability to escape metacharacters in
the pattern string is removed -- I don't think it was ever used.

In m_errormgr, matching of suppression stacks (including wildcard
"..." lines) against error stacks is re-implemented using
VG_(generic_match).

Further detailed comments are in m_seqmatch.h and pub_tool_seqmatch.h.

A negative side effect is that VG_(string_match) will be much slower
than before, due to the abstractification.  It may be necessary to
reimplement a specialised version later.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8816

16 years agoAdd support for eventfd2 (and wire up pipe2 on PPC platforms).
Tom Hughes [Wed, 10 Dec 2008 09:28:56 +0000 (09:28 +0000)] 
Add support for eventfd2 (and wire up pipe2 on PPC platforms).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8815

16 years agoAdded suppression pattern for random_r(), which is a.o. called by rand().
Bart Van Assche [Tue, 9 Dec 2008 11:07:55 +0000 (11:07 +0000)] 
Added suppression pattern for random_r(), which is a.o. called by rand().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8814

16 years agoFix bug introduced by frame-level wildcarding changes for suppressions
Julian Seward [Mon, 8 Dec 2008 13:45:35 +0000 (13:45 +0000)] 
Fix bug introduced by frame-level wildcarding changes for suppressions
in r8725.  (Konstantin Serebryany)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8813

16 years agoDon't segfault the guest during a call MPI_Init(NULL,NULL), since
Julian Seward [Mon, 8 Dec 2008 10:27:31 +0000 (10:27 +0000)] 
Don't segfault the guest during a call MPI_Init(NULL,NULL), since
those are valid parameters to MPI_Init.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8812

16 years agoevent_map_lookup: when looking for a previous access to an address,
Julian Seward [Mon, 8 Dec 2008 00:12:28 +0000 (00:12 +0000)] 
event_map_lookup: when looking for a previous access to an address,
find conflicting accesses that overlap the current access in any way,
rather than just match at the addresses.  This allows reporting of
conflicts between accesses which overlap but are not the same
size/alignment.

Doesn't seem to always work reliably, for reasons I don't understand,
but I so far failed to make a small test case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8811

16 years agoTidy up and comment sanity-checking code/configuration.
Julian Seward [Sun, 7 Dec 2008 11:40:17 +0000 (11:40 +0000)] 
Tidy up and comment sanity-checking code/configuration.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8810

16 years ago* In the conflicting-event mechanism, also record the size and
Julian Seward [Sun, 7 Dec 2008 01:41:46 +0000 (01:41 +0000)] 
* In the conflicting-event mechanism, also record the size and
  read-or-writeness of each access, so that these can be displayed in
  error messages.

* Use recorded read-or-writeness info to avoid producing error
  messages that claim claim two reads race against each other -- this
  is clearly silly.  For each pair of racing accesses now reported, at
  least one of them will (should!) always now be a write, and (as
  previously ensured) they will be from different threads.

* Lookups in the conflicting-access map is expensive, so don't do that
  as soon as a race is detected.  Instead wait until the update_extra
  method is called.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8809

16 years ago* Add a VG_(sizeSWA) function
Julian Seward [Sat, 6 Dec 2008 23:34:52 +0000 (23:34 +0000)] 
* Add a VG_(sizeSWA) function

* Fix spacing a bit

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8808

16 years agoUse the new SparseWA data type, rather than WordFM, to implement the
Julian Seward [Sat, 6 Dec 2008 22:10:54 +0000 (22:10 +0000)] 
Use the new SparseWA data type, rather than WordFM, to implement the
(primary) mapping of the conflicting-access mechanism.  This speeds
up Helgrind by 0% to 30% depending on the workload.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8807

16 years agoAdd a new container data type, a Sparse Word Array: an array of UWord
Julian Seward [Sat, 6 Dec 2008 22:07:35 +0000 (22:07 +0000)] 
Add a new container data type, a Sparse Word Array: an array of UWord
which is also indexed by UWord.  This can be used as a replacement for
WordFM with unboxed keys, when the key ranges are dense.  It is
implemented as a 256-way radix tree (4-deep on 32-bit platforms,
8-deep on 64-bit platforms).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8806

16 years agoFollowup to vx1875: use .guest_amd64_assume_fs_is_zero == True on
Julian Seward [Thu, 4 Dec 2008 00:07:30 +0000 (00:07 +0000)] 
Followup to vx1875: use .guest_amd64_assume_fs_is_zero == True on
amd64-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8805

16 years agoAssert that the guest state size is a multiple of 16, not 8.
Julian Seward [Wed, 3 Dec 2008 21:31:48 +0000 (21:31 +0000)] 
Assert that the guest state size is a multiple of 16, not 8.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8804

16 years agoChange the memory allocation strategy used by the conflicting-access
Julian Seward [Wed, 3 Dec 2008 11:39:37 +0000 (11:39 +0000)] 
Change the memory allocation strategy used by the conflicting-access
machinery, so as to allocate fewer chunks of memory.  This increases
the speed of Helgrind by about 10% on some apps, which probably means
the conflicting-access machinery itself is about 20% faster.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8803

16 years agoSimplified test program.
Bart Van Assche [Thu, 27 Nov 2008 17:48:36 +0000 (17:48 +0000)] 
Simplified test program.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8802

16 years agoupdate bug status
Dirk Mueller [Sat, 22 Nov 2008 23:35:32 +0000 (23:35 +0000)] 
update bug status

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8801

16 years agoReran SPLASH2 benchmark and updated results.
Bart Van Assche [Sat, 22 Nov 2008 16:19:11 +0000 (16:19 +0000)] 
Reran SPLASH2 benchmark and updated results.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8799

16 years agoignore .valgrindrc files that are world writeable
Dirk Mueller [Sat, 22 Nov 2008 12:03:19 +0000 (12:03 +0000)] 
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

16 years agoUpdated notes section.
Bart Van Assche [Fri, 21 Nov 2008 19:18:47 +0000 (19:18 +0000)] 
Updated notes section.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8797

16 years agoHelgrind's event-map garbage collector hammers VG_(OSetGen_Next).
Julian Seward [Thu, 20 Nov 2008 23:33:05 +0000 (23:33 +0000)] 
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

16 years agoevent_map_maybe_GC: use a flat array when computing the distribution
Julian Seward [Thu, 20 Nov 2008 23:17:01 +0000 (23:17 +0000)] 
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

16 years agoRe-set constraints in 'consistent' style after a race is detected,
Julian Seward [Thu, 20 Nov 2008 11:20:50 +0000 (11:20 +0000)] 
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

16 years agoadd glibc 2.9 support to changelog
Dirk Mueller [Thu, 20 Nov 2008 00:01:21 +0000 (00:01 +0000)] 
add glibc 2.9 support to changelog

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8792

16 years agoglibc 2.9 support
Dirk Mueller [Wed, 19 Nov 2008 23:58:36 +0000 (23:58 +0000)] 
glibc 2.9 support

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8790

16 years agoAdded prereq clause.
Bart Van Assche [Wed, 19 Nov 2008 17:51:44 +0000 (17:51 +0000)] 
Added prereq clause.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8789

16 years agoDon't put raced-on locations in an (E)rror state; instead leave them
Julian Seward [Wed, 19 Nov 2008 16:35:15 +0000 (16:35 +0000)] 
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

16 years agoFix comment typo.
Julian Seward [Wed, 19 Nov 2008 16:33:59 +0000 (16:33 +0000)] 
Fix comment typo.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8787

16 years agoAdd informal correctness argument for the logic in
Julian Seward [Wed, 19 Nov 2008 11:52:14 +0000 (11:52 +0000)] 
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

16 years agoAdd some suppressions for Qt4-related code.
Julian Seward [Wed, 19 Nov 2008 10:41:55 +0000 (10:41 +0000)] 
Add some suppressions for Qt4-related code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8785

16 years ago* Update Qt4 interceptors and add, as comments, findings of analysis
Julian Seward [Wed, 19 Nov 2008 10:40:56 +0000 (10:40 +0000)] 
* 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

16 years agoevent_map_maybe_GC: handle corner case that was previously simply
Julian Seward [Tue, 18 Nov 2008 23:40:00 +0000 (23:40 +0000)] 
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

16 years agoA couple of 'make dist' fixes.
Julian Seward [Tue, 18 Nov 2008 02:10:33 +0000 (02:10 +0000)] 
A couple of 'make dist' fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8782

16 years agoMore DRD suppression pattern simplifications.
Bart Van Assche [Mon, 17 Nov 2008 18:22:10 +0000 (18:22 +0000)] 
More DRD suppression pattern simplifications.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8781

16 years agoSimplified DRD suppression patterns.
Bart Van Assche [Mon, 17 Nov 2008 17:57:15 +0000 (17:57 +0000)] 
Simplified DRD suppression patterns.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8780

16 years agoAdded bar_bad and bar_trivial to the regression tests.
Bart Van Assche [Mon, 17 Nov 2008 17:38:28 +0000 (17:38 +0000)] 
Added bar_bad and bar_trivial to the regression tests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8779

16 years agoUpdated expected output after spelling fix in drd_barrier.c.
Bart Van Assche [Mon, 17 Nov 2008 17:37:08 +0000 (17:37 +0000)] 
Updated expected output after spelling fix in drd_barrier.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8778

16 years agoRenamed boost_threads* into boost_thread*.
Bart Van Assche [Mon, 17 Nov 2008 17:36:29 +0000 (17:36 +0000)] 
Renamed boost_threads* into boost_thread*.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8777

16 years agoPrint an error message instead of asserting when the count argument of pthread_barrie...
Bart Van Assche [Mon, 17 Nov 2008 17:35:26 +0000 (17:35 +0000)] 
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

16 years agoAdded yet another DRD suppression pattern.
Bart Van Assche [Mon, 17 Nov 2008 17:33:39 +0000 (17:33 +0000)] 
Added yet another DRD suppression pattern.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8775

16 years agoExpand filename for coredumps correctly. Fixes #174908. Also take
Julian Seward [Mon, 17 Nov 2008 12:45:58 +0000 (12:45 +0000)] 
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

16 years agoAdd a comment re VG_(expand_file_name).
Julian Seward [Mon, 17 Nov 2008 12:45:01 +0000 (12:45 +0000)] 
Add a comment re VG_(expand_file_name).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8773

16 years agoDon't let GDB_PATH be "" if no GDB is found at configure time, as this causes
Julian Seward [Mon, 17 Nov 2008 00:20:45 +0000 (00:20 +0000)] 
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

16 years agoMake these compile on older systems.
Julian Seward [Sun, 16 Nov 2008 23:25:43 +0000 (23:25 +0000)] 
Make these compile on older systems.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8771

16 years agoMake test 'tc21_pthonce' less scheduling-sensitive.
Julian Seward [Sun, 16 Nov 2008 21:59:29 +0000 (21:59 +0000)] 
Make test 'tc21_pthonce' less scheduling-sensitive.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8770

16 years agoHandle sys_lookup_dcookie on amd64-linux (Andrew Haley). Also take
Julian Seward [Sun, 16 Nov 2008 21:40:54 +0000 (21:40 +0000)] 
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

16 years agoAdd some regression tests for pthread_barrier handling.
Julian Seward [Fri, 14 Nov 2008 19:43:44 +0000 (19:43 +0000)] 
Add some regression tests for pthread_barrier handling.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8768

16 years agoAdd a couple more tests for API errors in
Julian Seward [Fri, 14 Nov 2008 19:41:19 +0000 (19:41 +0000)] 
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

16 years agoAdd initial support for POSIX barriers (pthread_barrier_{init,wait,destroy}).
Julian Seward [Thu, 13 Nov 2008 13:33:09 +0000 (13:33 +0000)] 
Add initial support for POSIX barriers (pthread_barrier_{init,wait,destroy}).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8766

16 years agoAdd performance comments to VG_(sizeFM), and add new method
Julian Seward [Thu, 13 Nov 2008 13:17:06 +0000 (13:17 +0000)] 
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

16 years agoFix debug printing of fd in mmap system calls.
Julian Seward [Thu, 13 Nov 2008 13:14:00 +0000 (13:14 +0000)] 
Fix debug printing of fd in mmap system calls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8764

16 years agoAdded regression test for Boost.Threads.
Bart Van Assche [Mon, 10 Nov 2008 18:54:46 +0000 (18:54 +0000)] 
Added regression test for Boost.Threads.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8763

16 years agoAdded configure test for Boost.Threads.
Bart Van Assche [Mon, 10 Nov 2008 18:53:42 +0000 (18:53 +0000)] 
Added configure test for Boost.Threads.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8762

16 years agoUpdate this test a bit. It's basically flawed though.
Julian Seward [Mon, 10 Nov 2008 16:33:29 +0000 (16:33 +0000)] 
Update this test a bit.  It's basically flawed though.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8761

16 years agoHandle EvM GC messaging properly.
Julian Seward [Mon, 10 Nov 2008 16:19:21 +0000 (16:19 +0000)] 
Handle EvM GC messaging properly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8760

16 years agoMake sure laog__handle_one_lock_deletion actually gets called as a
Julian Seward [Mon, 10 Nov 2008 16:16:46 +0000 (16:16 +0000)] 
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

16 years agoAdjust sed scripts used to generate the linker scripts on Linux, so as
Julian Seward [Mon, 10 Nov 2008 15:05:30 +0000 (15:05 +0000)] 
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

16 years agoUse a couple of reader-writer-lock tests from drd.
Julian Seward [Mon, 10 Nov 2008 02:01:17 +0000 (02:01 +0000)] 
Use a couple of reader-writer-lock tests from drd.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8757

16 years agoUpdate expected outputs following a (trivial) change in the source of
Julian Seward [Mon, 10 Nov 2008 01:16:46 +0000 (01:16 +0000)] 
Update expected outputs following a (trivial) change in the source of
tc09 in r8753.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8756

16 years agoAdd a new expected output that applies to glibc-2.7 and later.
Julian Seward [Mon, 10 Nov 2008 00:55:21 +0000 (00:55 +0000)] 
Add a new expected output that applies to glibc-2.7 and later.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8755

16 years agoAdd a new expected output that applies to glibc-2.7 and later.
Julian Seward [Mon, 10 Nov 2008 00:46:52 +0000 (00:46 +0000)] 
Add a new expected output that applies to glibc-2.7 and later.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8754

16 years agoMore updates to expected outputs. This currently gives Helgrind zero
Julian Seward [Mon, 10 Nov 2008 00:16:34 +0000 (00:16 +0000)] 
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

16 years agoUpdate expected output.
Julian Seward [Sun, 9 Nov 2008 23:33:32 +0000 (23:33 +0000)] 
Update expected output.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8752

16 years agoMove the conflicting accesses in each thread earlier, so that pure h-b
Julian Seward [Sun, 9 Nov 2008 23:31:19 +0000 (23:31 +0000)] 
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

16 years agoUpdate baseline expected outputs, now that Helgrind uses a different
Julian Seward [Sun, 9 Nov 2008 20:47:57 +0000 (20:47 +0000)] 
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

16 years agoA bit of tidying up:
Julian Seward [Sat, 8 Nov 2008 20:36:26 +0000 (20:36 +0000)] 
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

16 years agoUpdate.
Julian Seward [Sat, 8 Nov 2008 15:26:53 +0000 (15:26 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8748

16 years agoWhen trying to establish whether or not debuginfo should be read from
Julian Seward [Sat, 8 Nov 2008 15:22:19 +0000 (15:22 +0000)] 
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