284 Commits

Author SHA1 Message Date
Bart Van Assche
f2526f4f35 Moved macro's that specify branch prediction hints to include/pub_tool_basics.h
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7745
2008-03-22 08:04:29 +00:00
Julian Seward
14af4957fc Merge in the DATASYMS branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540
2008-03-03 01:35:41 +00:00
Nicholas Nethercote
79f12818bd This wasn't supposed to go in the last commit; undo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7539
2008-03-02 22:48:48 +00:00
Nicholas Nethercote
2e4c67743e Ignore Emacs temporary files. Also, produce the correct .diff filename when
the .exp filename has a non-numeric suffix.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7538
2008-03-02 22:48:14 +00:00
Bart Van Assche
eae26ca31c Make sure tc20_verifywrap does not trigger an assertion failure in combination with glibc 2.7.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7488
2008-02-27 15:38:10 +00:00
Julian Seward
64fcd437eb Intercept pthread_rwlock_try{rd,wr}lock. Fixes #158212.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7454
2008-02-25 12:10:07 +00:00
Julian Seward
568ef8964c Comment-only changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7418
2008-02-17 11:46:58 +00:00
Julian Seward
a5afe549e0 Try to sort out signedness problems in hg_wordfm.[ch], and do a bunch
of other tidying too.

* All these word-based abstractions (WordFM, WordSet, WordBag) now
  operate on unsigned words (UWord), whereas they previously operated
  on signed words (Word).  This became a problem, when using unboxed
  comparisons, with the introduction of HG_(initIterAtFM), which
  allows iteration over parts of mappings.  Iterating over a mapping in
  increasing order of signed Word keys is not what callers expect when
  iterating through maps whose keys representing addresses (Addr) since
  Addr is unsigned, and causes logical problems and assertion
  failures.

* Change various size-of-things types from signed to unsigned, and
  make them consistently word sized.  For example the return type
  of HG_(sizeFM) used to be an Int, which never made any sense
  (the size can't be negative, and, on a 64-bit platform, the 
  map could have more than 2G elements, in which case an Int can't
  represent the result).  So make the return value a UWord instead.
  This should generally help avoid obscure overflow problems on 64-bit 
  platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7409
2008-02-15 22:02:30 +00:00
Julian Seward
5679a22410 Update copyright dates ("200X-2007" --> "200X-2008").
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398
2008-02-11 11:34:59 +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
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
Julian Seward
840f6f5b33 Don't do comparisons of (signed) Words by merely subtracting them, as
this does not always produce correct results.  Instead use a slower
but correct method.  Analogous fix to that applied to m_oset.c by
r7283.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7284
2007-12-09 02:14:35 +00:00
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