692 Commits

Author SHA1 Message Date
Tom Hughes
2467698569 The memcheck/tests/sigprocmask test is designed to test that we handle
the old style sigprocmask system call correctly without corrupting
memory when we copy out the new (larger) signal mask into the user
provided old (smaller) signal mask.

It therefore makes no sense to run it on amd64 or any other platform
which only has the newer rt_sigprocmask system call, and indeed it
wasn't working because we weren't passing the extra argument which
that call expects.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4990
2005-11-02 15:46:07 +00:00
Tom Hughes
68124232d8 Update EXTRA_DIST to include new results files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4987
2005-11-02 15:17:43 +00:00
Tom Hughes
81be19bfd7 Add alternate results for memcheck/tests/strchr on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4986
2005-11-02 15:03:12 +00:00
Tom Hughes
7cd9d86d6e Removed memcheck/tests/weirdioctl as it is badly broken and seems
to serve no useful purpose.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4984
2005-11-02 13:58:39 +00:00
Tom Hughes
781e5e7fa4 Update memcheck/tests/xml1 results.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4982
2005-11-02 13:00:41 +00:00
Tom Hughes
a1b2de6e74 Update memcheck/tests/xml1 results.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4981
2005-11-02 13:00:03 +00:00
Tom Hughes
030b1aac10 Fixed test to not assume that malloc(10) will return 10 nul bytes!
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4978
2005-11-01 17:21:03 +00:00
Julian Seward
cfb4061f69 Handle a few more primops result from running Altivec code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4964
2005-10-22 12:50:43 +00:00
Julian Seward
7ee131a3e3 Increase the threshold above which new errors are not shown from 300
unique / 30000 total to 1000 unique / 100000 total.  Programs are
generally bigger now than 3 years ago.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4957
2005-10-20 01:57:29 +00:00
Julian Seward
4e2059f06a The Spin-Doctor arrives in Valgrind-Land: rename --weird-hacks= to
--simulation-hints=.  Bwaha.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4955
2005-10-20 01:09:57 +00:00
Julian Seward
5be669c562 In the spirit of other changes over the past month aimed at supporting
monster-sized programs better, increase the default freelist volume
from 1M to 5M.  Maybe even that is too small.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4954
2005-10-20 00:31:31 +00:00
Nicholas Nethercote
f2ec4febfe Make the usage message a little neater and more self-consistent.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4948
2005-10-19 22:39:40 +00:00
Julian Seward
1813e8fdcd Change the core-tool interface so that tools are fully aware of both
the guest extents for the presented translation and also its original
un-redirected guest address.  These changes are needed in particular
to make cachegrind's code cache management work properly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4943
2005-10-18 12:04:18 +00:00
Tom Hughes
014fc8c051 Use an soname of libc.so* for libc redirects so that we catch a wider
range of libc's such as uclibc as well as glibc. Fixes bug 114289.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4916
2005-10-13 15:51:12 +00:00
Tom Hughes
0e57349a13 We can print native word sized values sensibly now...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4915
2005-10-13 15:29:39 +00:00
Julian Seward
00c09f8f0d Build fixes for gcc-2.96. The system now builds and regtests with the
default gcc-2.96 on Red Hat 7.3.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4911
2005-10-12 12:53:20 +00:00
Julian Seward
e0bc6c2951 ppc32 only: improve handling of CmpORD32S, so as to avoid false
positives from ppc code of the form "cmpi %reg,0 ; branch-if-negative
.." where the top bit of %reg is defined but not all of the other bits
are (common-ish enough to cause a considerable number of false
positives if not done right).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4890
2005-10-07 12:13:21 +00:00
Julian Seward
1824baf714 Fix the handling of CmpORD32{S,U} which was completely bogus and
would have caused ppc32 to miss many uninitialised value errors.
(Change affects ppc32 only).

Also add reference to the Usenix paper.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4888
2005-10-07 11:08:55 +00:00
Julian Seward
d1c79a1830 Fix a memcheck anomaly observed by Nick: lazy propagation of
undefinedness was not being done properly for scalar shifts and that
could have led to undefined-value errors being falsely reported in the
obscure case where the shift amount was undefined but the end result
of the shift was unused.  This commit handles shifts more in
accordance with the maximally-lazy V-bit-testing scheme used by the
rest of memcheck.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4887
2005-10-07 09:49:53 +00:00
Nicholas Nethercote
2349f41c86 Add a comment about Memcheck not doing anything for mprotect.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4886
2005-10-07 04:48:37 +00:00
Nicholas Nethercote
081f618ed7 Fix expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4885
2005-10-07 02:53:51 +00:00
Tom Hughes
daf507dee2 Fix realloc wrappers to handle the out of memory case properly - if
the call to VG_(cli_malloc) returns NULL then don't try and copy the
data or register a new block and just leave the old block in place
instead, but still return NULL to the caller.

Fixes bug 109487 and it's duplicates.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4875
2005-10-06 09:00:17 +00:00
Nicholas Nethercote
85545d1a1c Changed some overflow-prone counters from UInt to ULong.
Changed some printf specifiers accordingly, plus some more that were
incorrect.

Also put commas in various output numbers, eg. the leak check stats.  
This makes them much easier to read when they get big.  One
exception is in XML number-only fields such as <leakedbytes>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4874
2005-10-06 03:32:42 +00:00
Julian Seward
75d5c9fbd4 %u -> %lu
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4813
2005-09-28 20:00:30 +00:00
Julian Seward
40f6598ba4 Increase some sizes to deal better with the new multigigabyte world:
- on 64-bit platforms, double the size of the supported address
  space to 32G.

- Increase the size of the ExeContext table 6 times.  Some very
  large apps have been observed to have been doing a lot of 
  searching in the old 4999 entry table.  This table may be
  OSetified in the fullness of time.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4808
2005-09-28 11:50:20 +00:00
Nicholas Nethercote
60aae81ae6 Remove now-unused "shadow_memory" need.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4797
2005-09-27 21:35:01 +00:00
Nicholas Nethercote
01ace453bb Record an observation about addr_is_in_MAC_Chunk().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4796
2005-09-27 20:51:12 +00:00
Nicholas Nethercote
97f1d67fb7 Disable vgtest_ume, which is broken.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4791
2005-09-27 19:52:02 +00:00
Nicholas Nethercote
11dfb2e8a0 Fix scalar and cmdline[12].
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4790
2005-09-27 19:46:46 +00:00
Julian Seward
cc8ccbbfb4 This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive).  That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome.  The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
  and include it in a couple of places.  Building etc seems to still
  work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
  stuff was moved from -generic to -linux after the branch was created.
  I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
  is strange, and makes it hard to diagnose regtest failures.  In
  particular memcheck/tests/x86/scalar.stderr.exp remains in a 
  conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable.  I'll
  attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789
2005-09-27 19:20:21 +00:00
Nicholas Nethercote
a00ea1b94b fix for #113230
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4751
2005-09-24 19:42:41 +00:00
Cerion Armour-Brown
ffa2cf0ac5 add case Iop_V128to32 to memcheck
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4626
2005-09-12 22:29:38 +00:00
Julian Seward
29058c3576 Fix suspicious code in the memcheck instrumenter which probably
rendered many of the assertions in this file ineffective.  Spotted by
Tom Truscott.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4587
2005-08-30 12:54:36 +00:00
Nicholas Nethercote
e715ae93fa add comment
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4491
2005-08-24 19:55:51 +00:00
Nicholas Nethercote
7e60141d65 Remove unnecessary #includes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4490
2005-08-24 19:50:39 +00:00
Nicholas Nethercote
8232209275 Make "silly arg" message 64-bit clean.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4476
2005-08-23 16:10:36 +00:00
Julian Seward
8be9f5eef7 Fix signedness-of-char problem which caused this to segfault on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4462
2005-08-19 09:07:34 +00:00
Nicholas Nethercote
224dad480c Make it possible to match against "???" line in suppressions,
using "obj:*" or "fun:*".  Also generate "obj:*" for such lines
with --gen-suppressions.  Includes a regtest.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4447
2005-08-18 15:49:21 +00:00
Nicholas Nethercote
64974a1033 Added VG_(OSet_LookupWithCmp)(), which can be useful.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4444
2005-08-17 21:06:07 +00:00
Nicholas Nethercote
dbae71819c malloc_usable_size() was totally broken, crashing immediately.
I guess it's not very widely used :)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4439
2005-08-17 04:03:31 +00:00
Nicholas Nethercote
39589630bf minor fixes (probably not worth backporting)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4434
2005-08-16 03:42:44 +00:00
Nicholas Nethercote
d5f110a674 wibbles
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4433
2005-08-16 03:34:56 +00:00
Nicholas Nethercote
d5738fd68d lots of little wibbles
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4432
2005-08-16 03:29:50 +00:00
Nicholas Nethercote
233a1fc175 How do you like this: there was no proper description in the manual
of leak error messages, nor any examples.  So I added one, and moved
what info there was about leaks out of its separate section, and into
the section describing all the kinds of error message.

BACKPORT TO 3_0_X



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4427
2005-08-16 02:20:17 +00:00
Nicholas Nethercote
b329702e3b A few minor manual updates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4419
2005-08-15 04:26:13 +00:00
Nicholas Nethercote
7ec1597605 Bleh, forgot this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4418
2005-08-15 02:06:39 +00:00
Nicholas Nethercote
e009050880 Whoops... I guess the regtests don't exercise that code...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4416
2005-08-15 01:54:05 +00:00
Nicholas Nethercote
fcdc60441e Something I realised recently: in C, iterators are much better than
higher-order functions for traversing data structures.  The higher-order
approach is too clumsy due to the lack of polymorphism and closures;  you
have to use void* too much and it is more verbose than it should be.

Hence, I replaced all the uses of HT_first_match() and
HT_apply_to_all_nodes() with equivalent uses of the hashtable iterator.
Also replaced higher-order traversal functions for Memcheck's freed-list
and the thread stacks with iterators.  That last change changes the
core/tool interface, so I've increased the version number.







git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4415
2005-08-15 01:52:02 +00:00
Nicholas Nethercote
756f513b51 Add a thorough unit test for m_oset. Note that this is Memcheck
testing code that's part of Valgrind, which is a good thing.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4412
2005-08-14 22:43:53 +00:00
Nicholas Nethercote
7062ca6bc7 Remove more now-unnecessary casts, thanks to the recent VgHashTable changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4409
2005-08-14 18:32:16 +00:00