4538 Commits

Author SHA1 Message Date
Nicholas Nethercote
3d12e0e9db Terminology change: previously in Memcheck we had the four states:
noaccess, writable, readable, other

Now they are:

   noaccess, undefined, defined, partdefined

As a result, the following names:

   make_writable, make_readable,
   check_writable, check_readable, check_defined

have become:

   make_mem_undefined, make_mem_defined,
   check_mem_is_addressable, check_mem_is_defined, check_value_is_defined

(and likewise for the upper-case versions for client request macros).
The old MAKE_* and CHECK_* macros still work for backwards compatibility.

This is much better, because the old names were subtly misleading.  For
example:

  - "readable" really meant "readable and writable".
  - "writable" really meant "writable and maybe readable, depending on how
    the read value is used".
  - "check_writable" really meant "check writable or readable"

The new names avoid these problems.

The recently-added macro which was called MAKE_DEFINED is now
MAKE_MEM_DEFINED_IF_ADDRESSABLE.

I also corrected the spelling of "addressable" in numerous places in
memcheck.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802
2006-03-31 11:57:59 +00:00
Nicholas Nethercote
c4cde48b67 Avoid compile warnings for tinycc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5801
2006-03-30 10:26:44 +00:00
Julian Seward
4513adda3d Hmm. Why is this file still here? (It got folded into aspacemgr.c
a while back.)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5800
2006-03-29 19:33:54 +00:00
Julian Seward
bddfd8d600 Delete VG_(sigaltstack) and VG_(sigpending) as they are unused.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5799
2006-03-29 03:15:25 +00:00
Julian Seward
af8a73a7eb Delete VG_(poll), as it is unused.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5798
2006-03-28 23:20:38 +00:00
Nicholas Nethercote
e6abeb8b0a Change to some better function names.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5797
2006-03-28 12:51:02 +00:00
Nicholas Nethercote
ad92170332 Change some uses of bytes to bits for consistency.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5796
2006-03-28 12:35:08 +00:00
Julian Seward
d579d5f93e Only complain once for each missing wrapper.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5795
2006-03-28 01:02:38 +00:00
Nicholas Nethercote
a9a0969a05 tweak
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5794
2006-03-28 00:05:16 +00:00
Nicholas Nethercote
a464c34c4a Partial release notes for 3.2.0, talking about the performance improvements
and removal of Addrcheck.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5793
2006-03-27 12:23:44 +00:00
Nicholas Nethercote
89f300ae0f update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5792
2006-03-27 11:55:09 +00:00
Nicholas Nethercote
991367c922 Merge in the COMPVBITS branch to the trunk. This is a big change to
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.

For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.

At the same time, Addrcheck is removed.  It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around.  Hooray!

Nb: this code hasn't been tested on PPC.  If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791
2006-03-27 11:37:07 +00:00
Nicholas Nethercote
c271b4af41 Avoid unnecessary whitespace at end of printed lines.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5790
2006-03-27 00:39:43 +00:00
Tom Hughes
ce490aed74 Handle msg_flags correctly - for recvmsg this field is written by the
kernel not read.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5789
2006-03-24 16:48:19 +00:00
Julian Seward
23218c0ec8 Update expected output following r5785; also add a missing 's'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5788
2006-03-22 11:18:50 +00:00
Nicholas Nethercote
c1095ffb0a Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5787
2006-03-21 23:23:22 +00:00
Nicholas Nethercote
d1987a4b7d Make the unrecognised-instruction error message more informative.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5786
2006-03-21 23:15:43 +00:00
Tom Hughes
4eb782b553 Add wrappers for a load of new 2.6.16 system calls. Fixes bug #123248.
Also expands pathname arguments as strings in a lot more system call
trace messages and fixed the poll wrapper to not be x86 specific.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5785
2006-03-21 10:58:35 +00:00
Julian Seward
4246f1054a Enable sys_fchdir on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5784
2006-03-21 02:23:27 +00:00
Tom Hughes
eefa3d9574 Sync system call lists with the 2.6.16 kernel.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5783
2006-03-20 15:36:45 +00:00
Tom Hughes
6331c1b82d Make hard limit enforcement work for RLIMIT_DATA and RLIMIT_STACK in
the setrlimit system call wrapper.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5782
2006-03-20 15:36:28 +00:00
Josef Weidendorfer
1cdac21bd9 Callgrind merge: documentation
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5781
2006-03-20 10:29:30 +00:00
Josef Weidendorfer
a3b8d67b91 Callgrind merge: code
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5780
2006-03-20 10:27:30 +00:00
Julian Seward
c287a8837d Add a comment about the library's license.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5779
2006-03-20 00:54:54 +00:00
Julian Seward
70bdd1b273 Yet another essay: document the MPI wrapper library.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5778
2006-03-19 18:19:11 +00:00
Julian Seward
ce447282f6 Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5776
2006-03-16 11:33:29 +00:00
Julian Seward
439c8fd491 Merge stuff for 3.1.1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5775
2006-03-16 11:33:14 +00:00
Julian Seward
623a127875 upmerge r5768 (Allow a thread to spin longer when yielding before
switching to a different thread.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5774
2006-03-16 11:31:29 +00:00
Julian Seward
51dd75a602 Recycle Dirk's glibc-2.3.90 suppressions, since at some point it will
really become glibc-2.4.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5769
2006-03-15 17:27:56 +00:00
Julian Seward
477737598a A couple of initialisations to keep gcc-4.1.0 happy.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5765
2006-03-15 11:50:32 +00:00
Julian Seward
e97332eaee Minor futzing (fontification, etc) of the function-wrappers documentation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5764
2006-03-14 00:56:29 +00:00
Julian Seward
315601a4b4 First pass at documenting how to use the function-wrapping facility.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5763
2006-03-13 13:40:57 +00:00
Julian Seward
fe3195038c Sigh; rename mpiwrap.c to libmpiwrap.c so that 'make dist' doesn't barf
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5762
2006-03-12 19:28:34 +00:00
Julian Seward
f3ac92c16b When testing 'mpicc', try at least somewhat to test for the primary
target, as that is what it will be used to compile for.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5761
2006-03-12 18:29:18 +00:00
Julian Seward
18b93ae29d Unbreak mtoctf configure check.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5760
2006-03-12 17:27:44 +00:00
Julian Seward
14fc0c54bb Mess with this even more so that fn_1 doesn't return zero.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5759
2006-03-12 16:57:07 +00:00
Julian Seward
6cc171e050 Add missing CALL_FN_* macros for ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5758
2006-03-12 16:48:14 +00:00
Julian Seward
090c5bd0e4 Work around lameness in older ppc assemblers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5757
2006-03-12 16:47:10 +00:00
Julian Seward
3323731af8 LAM/MPI compile fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5756
2006-03-12 16:44:05 +00:00
Julian Seward
41cc1d0804 Updated expected output following r5753.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5755
2006-03-12 14:15:23 +00:00
Julian Seward
fb374bd1f5 Add CALL_FN_* missing cases for ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5754
2006-03-12 13:39:15 +00:00
Julian Seward
a452b1fca6 TRASH_IREGS: add enough live variables to make ppc32 spill (not easy)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5753
2006-03-12 13:38:46 +00:00
Julian Seward
d354e78afe sizeofOneNamedTy(): handle long double correctly on non-x86/amd64 platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5752
2006-03-12 13:37:19 +00:00
Julian Seward
3142a61b73 Add ppc32-linux details.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5751
2006-03-12 13:36:06 +00:00
Julian Seward
0b7e01a2fa Fix a redirection bug created by the overhaul of m_redir.c. Bug
caused hardwired Actives to be discarded at the first call to
VG_(redir_notify_delete_SegInfo).  This causes crashes on amd64-linux
by throwing away the hardwired redirections

  0xFFFFFFFFFF600000 -> VG_(amd64_linux_REDIR_FOR_vgettimeofday)
  0xFFFFFFFFFF600400 -> VG_(amd64_linux_REDIR_FOR_vtime)

which I'm sure got mentioned at some point recently, but I cannot find
the email now.

Bug does not affect 3.1.X, since that line contains the old m_redir.c
implementation.

Bug does not affect any platform other than amd64-linux since no
others have hardwired Actives at the start.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5750
2006-03-12 00:39:19 +00:00
Julian Seward
42ace2cacd A 64-bit fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5749
2006-03-12 00:35:42 +00:00
Julian Seward
c4a8d96725 Complete CALL_FN_W_* wrappers for amd64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5748
2006-03-11 16:19:14 +00:00
Julian Seward
b74d8afad0 Majorly beef up this test:
* test all wrapped-function arities from 0 to 12

* try hard to run both callers and callees out of integer registers,
  so as to detect problems where the CALL_FN_* macros do not
  properly save registers around the call

This will cause failure in building the regtests on all non-x86
platforms.  Will fix shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5747
2006-03-11 13:20:41 +00:00
Julian Seward
4aa28584f5 Fix comment typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5746
2006-03-11 12:58:03 +00:00
Julian Seward
b0c46d47bd Add missing x86-linux CALL_FN_W_11W macro.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5745
2006-03-11 12:57:41 +00:00