the new thread's stack, then make the stack unwinder use that information
to make a better guess at the stack bounds.
This helps avoid crashes trying to unwind the stack under wine when
the starting point is a routine without a proper stack frame.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7383
- The exp-drd regression tests now run without producing assertion
failures and without hanging on Red Hat 7.3. It doesn't make sense
however to run exp-drd on Red Hat 7.3 -- while exp-drd works fine with
the NPTL, more work would be required to make exp-drd work with
linuxthreads.
- Converted several tl_assert() calls into error messages.
- Added a regression test called pth_barrier, which tests whether data
races are detected in a program that uses barriers. The output exp-drd
produces for this test program is not yet correct however.
- Updated exp-drd/TODO.txt.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7358
- Fix helgrind/tests/tc18_semabuse.c on glibc 2.7 (RedHat 8).
- Fixed a glibc 2.7 specific assertion failure in exp-drd, namely one
that was triggered when sem_post()'s return value is not zero.
- exp-drd/test/matinv.c compiles now also on RedHat 7.3.
Note: more work will be required to get exp-drd working correctly on
RedHat 7.3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7354
values below a given value. This allows efficiently iterating over
small subsets of a mapping. Use this in Helgrind to avoid a
performance bad case. Patch from Konstantin Serebryany.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7353
since nothing depends on the actual layout of this struct, but anyway.
Noticed by Vinay Nallamothu.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7352
- Updated copyright statement: replaced 2006-2007 by 2006-2008.
- Added copyright statement in the files where it was missing
(drd_track.h and drd_clientreq.c)
- Eliminated dependencies on core header files -- there are no more
#include "pub_core....h" directives in the exp-drd source code.
- Added semaphore support.
- Added barrier support.
- Added pthread_mutex_timedlock() support.
- Stack depth of stack traces printed by exp-drd can now be set via
--num-callers=...
- Added command-line option --trace-barrier=[yes|no].
- Added regression test for pthread_barrier() (matinv, a program that
performs matrix inversion).
- Added regression test sem_as_mutex, which tests whether race
detection works correctly when a semaphore is used to ensure mutual
exclusion of critical sections.
- Some of helgrind's regression tests are now used to test both
helgrind and exp-drd: tc17_sembar and tc18_semabuse.
- Cleaned up bitmap implementation code now that the const keyword has
been added to the declarations of the OSet functions.
- Cleaned up exp-drd/Makefile.am
- Updated exp-drd/TODO.txt
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7346
regtest" and "make exp-regtest". Then change the nightly build system
to run all-regtest instead of exp-regtest.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7332
space manager for the name of the file it was mapped from as a fallback
solution.
This allows us to print the names of exe/dll files in the stack trace
when running programs under wine.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7327
are made to the tool so that the tool can associate that memory with
the main thread if it wishes.
Also cleanup existing hacks in the drd tool which worked around the
fact that the core did not set the current thread while declaring the
initial memory.
Path from Bart Van Assche <bart.vanassche@gmail.com>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7310
signal frame constructors and use it (on x86 and amd64) to fill in
the trap number in the signal context information.
Needed for wine which likes to look at the trap number...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7305
of VG_(record_ExeContext), which just records the first stack frame
but does not attempt to unwind the (guest) stack. This is useful in
situations where we suspect unwinding the stack might cause a
segfault.
Use this in m_signals, when getting a backtrace following a guest
segfault.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7304
stacks. Instead of hardwiring the main thread stack to a max of 16MB
and segfaulting the app beyond that point, allow the user to specify
the main stack size using the new flag --main-stacksize=<number>.
If said flag is not present, the current default, which is "MIN(16GB,
current ulimit -s value)", is used.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7302
the --max-stackframe value. This makes it possible to run programs
with very large (primary) stack requirements simply by specifying
--max-stackframe.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7300