Commit Graph

5487 Commits

Author SHA1 Message Date
Julian Seward
8d76c51997 Add SSSE3 tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7385
2008-02-09 01:55:52 +00:00
Julian Seward
f377dbbba8 Tool-side support for the new primops required by SSSE3 instructions.
I think this is all that is required on the tools side.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7384
2008-02-09 01:49:32 +00:00
Tom Hughes
2e55cfac69 Make the clone system call wrappers call VG_(register_stack) to record
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
2008-02-08 15:17:07 +00:00
Julian Seward
a0bb20556c Update (mostly to check that the svn server still works after host change)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7371
2008-02-05 20:07:23 +00:00
Nicholas Nethercote
8a2a6b99ce minor tweak
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7368
2008-02-03 22:35:21 +00:00
Julian Seward
20e0f4893f Fix 'make dist' -- don't list nonexistent files for inclusion in the
tarball.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7366
2008-02-03 12:46:45 +00:00
Nicholas Nethercote
88e585d735 fix typo
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7364
2008-01-31 05:00:42 +00:00
Nicholas Nethercote
509f661096 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7363
2008-01-29 21:36:47 +00:00
Nicholas Nethercote
a42c4ce504 Massif: --time-unit=ms was broken in the ms_print script. People obviously
aren't using that option much!



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7361
2008-01-29 21:33:25 +00:00
Nicholas Nethercote
601dd142a1 comment-only change
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7360
2008-01-29 04:12:48 +00:00
Nicholas Nethercote
5233a5de62 Add an alternative .post.exp output for Massif's long-names test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7359
2008-01-29 04:11:00 +00:00
Julian Seward
02c9054a2b drd changes (Bart Van Assche)
- 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
2008-01-21 14:19:07 +00:00
Nicholas Nethercote
c591ee13a0 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7357
2008-01-20 23:30:58 +00:00
Nicholas Nethercote
dc0ecff28e When truncating long lines in the output file, make sure they end with a
newline.  Fixes bug #155929.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7355
2008-01-20 22:30:52 +00:00
Julian Seward
994193f9bb Regtest/stability changes for drd (Bart Van Assche)
- 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
2008-01-18 07:42:01 +00:00
Julian Seward
ff9ac9a99d Allow a WordFM iterator to be initialised so as to exclude all key
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
2008-01-17 23:19:54 +00:00
Julian Seward
9c149e9981 Fix inconsistent order of fields. I think this is purely aesthetic
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
2008-01-17 14:37:24 +00:00
Julian Seward
5dfa7202f4 Intercept memcpy on 64-bit ld.so's.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7350
2008-01-15 08:42:56 +00:00
Julian Seward
61b40d2d66 Handle DW_OP_plus_uconst. Possibly fixes #155091 (not yet confirmed
by reporter).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7347
2008-01-14 12:04:11 +00:00
Julian Seward
22b3fe2a3e DRD updates (Bart Van Assche):
- 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
2008-01-14 11:54:56 +00:00
Julian Seward
c798246fb2 Enable some syscalls needed to run firefox on 64-bit ppc on Fedora 8.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7334
2008-01-09 22:01:40 +00:00
Julian Seward
662d4c622c Start a bug-tracking file for the 3.3 line.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7333
2008-01-09 21:19:44 +00:00
Julian Seward
1e888cfd02 Make a new regtest target, "all-regtest", being the union of "make
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
2008-01-09 21:03:43 +00:00
Julian Seward
443b85bdee Move VG_(clo_backtrace_size) to a tool-visible header file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7331
2008-01-09 18:37:41 +00:00
Tom Hughes
b67822d578 If we don't find the address in the segInfo list that ask the address
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
2008-01-08 17:44:04 +00:00
Tom Hughes
4ad22500c0 Made the argument to VG_(am_get_filename) const as it doesn't need
to be modified and the routine to find the segment for an address now
returns a const pointer.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7325
2008-01-08 16:48:30 +00:00
Tom Hughes
cbb3cb05a5 Add support for the sync_file_range system call.
Based on patch from Russell Sears <sears@cs.berkeley.edu>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7324
2008-01-08 16:31:25 +00:00
Tom Hughes
cc3aba0192 Update linux system call lists based on 2.6.23.1 kernel source.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7323
2008-01-08 16:10:47 +00:00
Tom Hughes
e25736ec6c Valid file descriptor argument to llseek system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7322
2008-01-08 13:54:43 +00:00
Tom Hughes
6899f1cad3 Add drd suppression file to the default suppressions and avoid
including core headers in the drd tool.

Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7318
2008-01-05 00:12:45 +00:00
Tom Hughes
eab4171285 Fix compiler warnings by using a variable to hide the null pointer
from the compiler.

Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7317
2008-01-05 00:01:20 +00:00
Tom Hughes
71fcca27fe Add const qualifiers to fix compiler warnings.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7316
2008-01-04 23:58:32 +00:00
Tom Hughes
0ee51fd825 Add missing include to fix compiler warning.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7315
2008-01-04 23:57:15 +00:00
Tom Hughes
f4994bb97f Fix compiler warning.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7314
2008-01-04 23:55:27 +00:00
Julian Seward
78e156ef4c Rename drd_preloaded.c to drd_intercepts.c (Bart Van Assche)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7312
2008-01-04 11:36:41 +00:00
Tom Hughes
d3def869f3 Mark the main thread as running while the initial memory declarations
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
2008-01-02 10:13:04 +00:00
Tom Hughes
94286fd840 Stop drd trying to get a backtrace when there is no stack pointer.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7309
2008-01-02 10:07:44 +00:00
Tom Hughes
3f4849d83f Add const qualifiers to appropriate arguments of OSet routines.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7308
2007-12-30 12:28:26 +00:00
Julian Seward
9009dc75bf Comment-only change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7307
2007-12-22 14:14:04 +00:00
Julian Seward
652c5531b1 AIX5 counterpart to r7302: Improve handling of programs which require
very large main thread stacks.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7306
2007-12-22 14:12:42 +00:00
Tom Hughes
690019c337 Propagate the ucontext information with a received signal to the
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
2007-12-21 10:24:24 +00:00
Julian Seward
da0726854c Add a new method VG_(record_depth_1_ExeContext), a trivial derivative
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
2007-12-21 01:24:59 +00:00
Julian Seward
0f3db08246 Add a couple of regtests for large stack frame management.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7303
2007-12-19 11:01:13 +00:00
Julian Seward
4f282e99ce Improve handling of programs which require very large main thread
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
2007-12-18 01:49:23 +00:00
Julian Seward
bfb682b18c Print a nice message if allocation of the stack fails, rather than just
asserting.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7301
2007-12-15 23:08:35 +00:00
Julian Seward
ee4b37fb8e When allocating space for the client stack on Linux, take notice of
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
2007-12-15 22:13:05 +00:00
Julian Seward
42f6984a14 Fix stupid error spotted by by Konstantin Serebryany.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7299
2007-12-12 11:42:33 +00:00
Robert Walsh
9eeb38f3a3 Update ignores.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7298
2007-12-12 03:16:52 +00:00
Julian Seward
de14819b2b Bop version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7296
2007-12-11 00:50:54 +00:00
Julian Seward
39e7192801 Update notes on repo-mangling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7295
2007-12-11 00:49:33 +00:00