Commit Graph

271 Commits

Author SHA1 Message Date
Julian Seward
1a7c3b3407 Wibble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7263
2007-12-02 02:05:23 +00:00
Julian Seward
2b2ea81f12 Add a test case for semaphores with nonzero initial values.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7254
2007-11-30 11:22:35 +00:00
Julian Seward
47680cfc98 Correctly handle semaphores with nonzero initial values. Fixes bug
observed by Matthieu Castet.  Also, add another sanity-check flag.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7253
2007-11-30 11:11:02 +00:00
Julian Seward
3f55d3fa51 So much for C's "type system" (ha ha). Correct version of r7250.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7251
2007-11-29 13:04:03 +00:00
Julian Seward
dff66750ab Don't assert when destroying a locked rwlock.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7250
2007-11-29 12:53:25 +00:00
Julian Seward
dc96d0a97a Don't break the build on AIX5.3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7240
2007-11-27 11:23:55 +00:00
Julian Seward
d4ab41b54b Try to fix, or at least avoid if possible, some arbitrary delays at
thread creation time observed when running on POWER5 64-bit Linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7179
2007-11-18 01:16:52 +00:00
Julian Seward
5e2a8da202 Spelling fixes and misc tidying for the manual. (Brian Gough)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7173
2007-11-17 09:43:25 +00:00
Julian Seward
9fd225ac18 Back out bogus strict-aliasing hacks and use -fno-strict-aliasing by
default.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7163
2007-11-16 12:02:43 +00:00
Julian Seward
40eb3fba0f Change the baseline optimisation level from -O to -O2.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7162
2007-11-16 10:05:47 +00:00
Julian Seward
bf6574af7c Rename a couple more UInts which really should be SVals.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7160
2007-11-16 03:55:48 +00:00
Julian Seward
f3198010f6 Give shadow values their own type (SVal) for the usual
good-software-engineering-practice reasons.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7158
2007-11-14 15:53:11 +00:00
Nicholas Nethercote
aed0f8cceb Add some seemingly unnecessary initialisations to shut GCC 4.0.2 up.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7148
2007-11-11 21:12:28 +00:00
Julian Seward
141fb3f15d Comment-only change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7144
2007-11-11 05:58:41 +00:00
Julian Seward
565f0a4d32 Don't hang on some old systems, since that makes the entire regtest
system hang.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7143
2007-11-11 05:52:36 +00:00
Julian Seward
5af7d1d73d Followup to r7105: stop gcc complaining about violations of ANSI C
aliasing rules by casting through (char*) as an intermediate type,
rather than through (void*).  This seems at least moderately
justifiable since the ANSI C standard explicitly says that any object
may be accessed through a char pointer.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7141
2007-11-10 22:50:13 +00:00
Julian Seward
969c77b267 Rename in the manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7130
2007-11-09 23:59:49 +00:00
Julian Seward
6109e89b04 Import thrcheck from the THRCHECK branch, and rename it Helgrind (with
permission of the existing Helgrind authors).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7116
2007-11-09 22:49:28 +00:00
Julian Seward
7d6046494a Rename this directory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7113
2007-11-09 15:44:15 +00:00
Nicholas Nethercote
7cb817e078 Fix various format string errors, courtesy of Florian Krohm.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6902
2007-09-23 00:51:24 +00:00
Julian Seward
0e70d01bdd Changes to m_hashtable:
Allow hashtables to dynamically resize (patch from Christoph
Bartoschek).  Results in the following interface changes:

* HT_construct: no need to supply an initial table size.
  Instead, supply a text string used to "name" the table, so
  that debugging messages ("resizing the table") can say which
  one they are resizing.

* Remove VG_(HT_get_node).  This exposes the chain structure to 
  callers (via the next_ptr parameter), which is a problem since
  callers could get some info about the chain structure which then
  changes when the table is resized.  Fortunately is not used.

* Remove VG_(HT_first_match) and VG_(HT_apply_to_all_nodes) as
  they are unused.

* Make the iteration mechanism more paranoid, so any adding or
  deleting of nodes part way through an iteration causes VG_(HT_next)
  to assert.

* Fix the comment on VG_(HT_to_array) so it no longer speaks 
  specifically about MC's leak detector.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6778
2007-08-25 07:19:08 +00:00
Julian Seward
172505c978 Update copyright dates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488
2007-01-08 06:01:59 +00:00
Julian Seward
10c505c003 Get rid of the core-tool events pre_mutex_lock, post_mutex_lock and
post_mutex_unlock.  The core can't detect them anyway any more, so
there's no point in having them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6456
2006-12-28 20:26:08 +00:00
Julian Seward
1083ded7e2 Non-functional commit: track IR renaming in vex r1689.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6416
2006-12-24 02:24:11 +00:00
Dirk Mueller
6662c989dc change void* to Addr in mutex helpers. patch by Bard Van Assche.
I've bumped the tool interface version because it seems binary
incompatible.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6350
2006-11-14 14:32:46 +00:00
Julian Seward
5b26b045dd Change a bunch of pointer <-> int casts to pointer <-> long casts so
as to stop gcc complaining so much on 64-bit platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6306
2006-10-17 11:09:03 +00:00
Julian Seward
ec0dc88e98 Merge r6214 (some parts):
Futz with the estimated-translation sizes to make them more plausible [..]



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6296
2006-10-17 02:21:17 +00:00
Julian Seward
713b2d46c0 Merge r6086:
Makefile.am changes for AIX5.  Almost all boilerplate stuff fitting in
with the existing factorisation scheme.  The only change of interest
is that configure.in now generates automake symbols of name
VGP_platform and VGO_os, whereas previously it just made VG_platform
which was a bit inconsistent with the VGP/VGO/VGA scheme used in C
code.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6242
2006-10-17 00:56:43 +00:00
Julian Seward
ae8215b3ac Create a new module, m_vki, and move all knowledge about the kernel
interface, except for the syscall numbers, into that.  Mostly this
means moving include/vki-*.h to include/vki/vki-*.h.

include/pub_tool_basics.h previously dragged in the entire kernel
interface.  I've done away with that, so that modules which need to
see the kernel interface now have to include pub_{core,tool}_vki.h
explicitly.  This is why there are many modified .c files -- they have
all acquired an extra #include line.

This certainly breaks all platforms except x86.  Will fix shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225
2006-10-14 19:26:10 +00:00
Julian Seward
ad67fd79fe Update copyright dates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954
2006-06-05 23:21:15 +00:00
Nicholas Nethercote
67ce2183c9 Update 64-bit cleanness info.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5863
2006-04-23 10:51:48 +00:00
Nicholas Nethercote
bfbdafcaef Clarify the Helgrind-doesn't-work message.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5846
2006-04-12 22:53:23 +00:00
Julian Seward
27b95f28a5 Cleanup/restructure m_debuginfo, as described in
coregrind/m_debuginfo/README.txt.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5823
2006-04-04 15:12:44 +00:00
Josef Weidendorfer
96887583d3 Fix typos
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5805
2006-03-31 12:53:22 +00:00
Nicholas Nethercote
7852ab7f22 Make the BSD-style license notices slightly more accurate.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5803
2006-03-31 12:05:04 +00:00
Julian Seward
ff379c439c Don't use -gstabs on ppc64-linux, as it doesn't work with some gccs (Dave Nomura).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5628
2006-02-10 12:42:11 +00:00
Julian Seward
f0d678baab These files all speak about instrumentation functions.
Instrumentation functions now take a callback closure structure
(VgCallbackClosure*), so this commit changes the signatures
accordingly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5535
2006-01-17 02:06:39 +00:00
Julian Seward
32f134b8c1 Somewhat rehash the biarch-build machinery so as to (1) formalise the
distinction between primary and secondary build targets, and (2) make
it independent of the default behaviour of gcc (iow, what gcc does
when you specify neither -m32 nor -m64).

As a result, an out-of-the-box build on ppc64-linux now builds a
system which is basically for 64-bit PowerPC, but also has the ability
to run 32-bit ppc-linux binaries (exactly the same arrangement as you
get when building on amd64-linux).

There are various twists and turns.  multiple-architectures.txt is
updated all the gory details.

This will break amd64 builds until such time as
<tool>/tests/{amd64,x86}/Makefile.am are fixed up (shortly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5493
2006-01-04 01:20:28 +00:00
Nicholas Nethercote
3866282110 Remove all remaining profiling gunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5388
2005-12-19 22:48:39 +00:00
Donna Robinson
9888e86b06 Tidying up stuff re generating manpage from *.xml docs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5277
2005-12-03 23:02:33 +00:00
Julian Seward
8ba9a34088 Add framework for ppc64 support. Apologies in advance for the
inevitable breakage to other platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250
2005-11-29 13:05:56 +00:00
Julian Seward
d07dbe4a52 Complete documentation trawl for 3.1.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5137
2005-11-15 20:56:23 +00:00
Tom Hughes
06e2ca6cf1 Fix compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5083
2005-11-11 12:30:36 +00:00
Tom Hughes
b5c033e906 Dual architecture support - this commit is a major rework of the build
system that allows multiple copies of valgrind to be built so that we
can build both x86 and amd64 versions of the tools on amd64 machines.

The launcher is then modified to look at the program being run and
decide which tool to use to run it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5027
2005-11-07 15:24:38 +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
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
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
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
c881e934c3 Add a note about a nice paper describing data races.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4591
2005-08-30 19:47:32 +00:00
Nicholas Nethercote
b0887d95d2 Give informative failure messages if you try to use Helgrind or
Addrcheck.  As a results, we are now building Addrcheck again, which
required commenting out lots of code.

BACKPORT TO 3_0_X, AND POSSIBLY TO 2_4_X (the Helgrind part, with
    modifications)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4384
2005-08-12 15:23:57 +00:00