29 Commits

Author SHA1 Message Date
Julian Seward
312f5a2c51 Add test from Lionel Ulmer showing incorrect behaviour of overloaded
new.  Not fixed yet.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@294
2002-05-18 19:54:36 +00:00
Julian Seward
4bc87a6ab3 Add a test for semaphore facilities: the Dining Philosophers, no less.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@282
2002-05-16 23:30:25 +00:00
Julian Seward
d53ff8366a Add some more recent tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@277
2002-05-16 11:18:05 +00:00
Julian Seward
6610ca19b3 Remove existing non-working support for self-modifying code, and instead
add a simple compromise, in which the client can notify valgrind
that certain code address ranges are invalid and should be retranslated.
This is done using the VALGRIND_DISCARD_TRANSLATIONS macro in valgrind.h.

At the same time take the opportunity to close the potentially fatal
loophole that translations for executable segments were not being
discarded when those segments were munmapped.  They are now.

Documentation updated.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@274
2002-05-16 11:06:21 +00:00
Julian Seward
930d862210 More new-signal-hacks fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@272
2002-05-15 22:25:47 +00:00
Julian Seward
c738e7407c Add another threads+signals test case along with the fix to make it work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@267
2002-05-13 00:38:52 +00:00
Julian Seward
0ba6f33e4f Add support for pthread_sigmask() and sigwait(). All absolutely
horrible, especially the latter.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@266
2002-05-13 00:16:03 +00:00
Julian Seward
d6920d2b5c Fix spelling mistake: wierd*hacks --> weird*hacks
Also add a testcase.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@265
2002-05-12 10:52:16 +00:00
Julian Seward
836e6d3fd0 Add a very simple test for pthread_once().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@133
2002-04-24 19:23:50 +00:00
Julian Seward
3f664faf8f Add test for stupid malloc etc args.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@129
2002-04-24 11:44:27 +00:00
Julian Seward
498a501a10 Fast-track pthread_mutex_{lock,unlock} in the scheduler. This reduces
their cost by about a factor of 20, which fixes the performance probs
observed with Opera.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@121
2002-04-24 01:57:27 +00:00
Julian Seward
418902218c Various upgrades, with the effect that mozilla now runs, although
it has tremendous performance problems.

* Implement pthread_key_{create,delete} and pthread_{set,get}specific.

* Implement pthread_cond_timedwait.  A nuisance.

* New timer infrastructure, based on the RDTSC instruction.  This
  allows fast, accurate time measurement without swamping the host with
  gettimeofday() syscalls.

There's something definitely screwy about the scheduler, making opera
run slowly and mozilla run unbelievably slowly.  To be investigated.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@119
2002-04-23 16:52:51 +00:00
Julian Seward
e39f3f644a Add fairly complete, and apparently working, support for condition
variables.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@102
2002-04-20 13:53:23 +00:00
Dirk Mueller
9db9d919be ignore
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@90
2002-04-16 10:53:53 +00:00
Julian Seward
495ba4092e Fix -Wall complaints.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@77
2002-04-16 00:57:02 +00:00
Julian Seward
05207b3508 Relent, and properly implement bt/bts/btc/btr for literal bit-offsets.
bt_literal.c is a somewhat halfhearted test case for it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@76
2002-04-16 00:42:12 +00:00
Julian Seward
5f6317476f Add fairly comprehensive test case for bt/bts/btc/btc, mem and reg
targets, although size-L (4-byte) only.  In any event the jitter
doesn't handle the size 2 case and has never been asked too, AFAIK.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@74
2002-04-15 16:01:47 +00:00
Julian Seward
c6419ac8b7 simple_mutex program from the OReilly pthreads book.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@56
2002-04-12 21:57:01 +00:00
Julian Seward
7a36f60133 Mega-merge of my last 2 weeks hacking. This basically does the groundwork
for pthread_* support.  Major changes:

* Valgrind now contains a (skeletal!) user-space pthreads
  implementation.  The exciting bits are in new file vg_scheduler.c.
  This contains thread management and scheduling, including nasty crud
  to do with making some syscalls (read,write,nanosleep) nonblocking.
  Also implementation of pthread_ functions: create join
  mutex_{create,destroy,lock,unlock} and cancel.

* As a side effect of the above, major improvements to signal handling
  and to the client-request machinery.  This is now used to intercept
  malloc/free etc too; the hacky way this is done before is gone.
  Another side effect is that vg_dispatch.S is greatly simplified.
  Also, the horrible hacks to do with delivering signals to threads
  blocked in syscalls are gone, since the new mechanisms cover this case
  easily.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@52
2002-04-12 11:12:52 +00:00
Julian Seward
d326a38326 Add spurious comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@49
2002-04-10 13:48:03 +00:00
Julian Seward
3f06087829 From the OReilly book, page 15. Uses _create and _join.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@48
2002-04-10 12:14:34 +00:00
Julian Seward
bec724cc8d Someone claimed that this gives reads below %esp when compiled with
g++ 3.0.4; I can't repro it.  But am collecting anyway.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@43
2002-03-29 16:47:19 +00:00
Julian Seward
232f2a3c57 (VG_(do__NR_sigaction)): Don't allow setting of
handlers for SIGKILL or SIGSTOP.  This fixes
valgrind: vg_signals.c:723 (vgPlain_do__NR_sigaction):
Assertion `our_old_handler == ((void *)0)' failed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@40
2002-03-29 14:02:34 +00:00
Julian Seward
437bd7c428 Add a couple of bogons people sent.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@37
2002-03-29 04:11:48 +00:00
Julian Seward
8eddad528b compile wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@29
2002-03-24 13:47:51 +00:00
Julian Seward
570c686f5c Add test case for the fucomip probable-bug.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@24
2002-03-24 12:06:29 +00:00
Julian Seward
13c77e7c76 Implement DAA as well as DAS. Byrial Jensen <byrial@image.dk>
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@22
2002-03-24 11:54:07 +00:00
Frédéric Gobry
b17d5d40a3 improved the build system
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9
2002-03-22 13:38:30 +00:00
Julian Seward
72a784f3b1 Initial revision
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2
2002-03-22 01:27:54 +00:00