Commit Graph

50 Commits

Author SHA1 Message Date
Nicholas Nethercote
2a3d19ae28 Added Makefile.am for tests/unused.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1102
2002-09-23 16:32:40 +00:00
Nicholas Nethercote
dfed07b587 Wibble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1101
2002-09-23 16:27:35 +00:00
Nicholas Nethercote
d8dcbbc58a Changed name of core/ to coregrind/, since 'core' files/dirs have a habit
of being removed with extreme prejudice.

Also added a couple of necessary Makefile.am files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1100
2002-09-23 16:24:41 +00:00
Nicholas Nethercote
78a3a1ff43 Removed defunct .cvsignore files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1091
2002-09-23 11:33:13 +00:00
Nicholas Nethercote
f1689b96db Changed lots of files for the new core/ + skin/ directory structure:
- changed lots of Makefile.am files
   - changed configure.in
   - changed lots of #include lines for changed file names
   - changed lots of file headers n footers for changed file names
   - changed vg_regtest to handle new directory structure -- recursively
     traverses subdirectories for .vgtest test files
   - changed lots of paths in memcheck/ regression test expected outputs


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1090
2002-09-23 11:21:57 +00:00
Nicholas Nethercote
53c2b601cd Removed, not needed any more.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1089
2002-09-23 10:14:50 +00:00
Nicholas Nethercote
c13b50c6b7 Removing files for total repo restructuring; these files were moved elsewhere by *hacking the repository directly*
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1088
2002-09-23 10:01:42 +00:00
Nicholas Nethercote
afebe61b37 Files updated, added and removed in order to turn the ERASER branch into HEAD
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086
2002-09-23 09:36:25 +00:00
Julian Seward
c2818e1b69 Test case for resolver bug fixed by vg_libpthread.c rev 1.91. Thanks to
Waldo Bastian for chasing this one into a corner.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@553
2002-08-06 09:09:53 +00:00
Julian Seward
ac5e011028 Finally get around to implementing pthread_atfork.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@473
2002-06-28 01:46:26 +00:00
Julian Seward
314f516b09 Add test case for sigpending().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@452
2002-06-20 08:17:07 +00:00
Julian Seward
2bdcd29d63 Implement pause().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@442
2002-06-19 10:17:40 +00:00
Julian Seward
46e09a22f6 Minor mods to stop make the leak detector behave properly for the
following kind of stupid test program
   int main (void) { char* a = malloc(100); return 0; }
which many people seem fond of trying for some reason.
In general the leak detector works fine.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@387
2002-06-05 20:28:33 +00:00
Julian Seward
291d495a70 Fix bug in signal handling in threads shown by Peter Gober:
A signal *specifically directed* to one thread cannot be used
to fulfill a sigwait() request by some other thread, reasonably
enough.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@374
2002-06-04 09:44:09 +00:00
Julian Seward
5acdede80e Change counts a bit so as not to spew out so much junk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@339
2002-05-29 23:34:32 +00:00
Julian Seward
05cbb83b34 Tests for cancellation/cleanup mechanisms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@337
2002-05-29 20:47:19 +00:00
Julian Seward
e61a13b92a Fix small bug causing assertion failure in computation of SKSS.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@316
2002-05-23 17:09:43 +00:00
Julian Seward
3c5002fd6c Add test for correct handling of read/write with invalid fds.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@315
2002-05-23 16:53:20 +00:00
Julian Seward
8dda0f3885 sigaltstack -> sigaltstack.c
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@310
2002-05-22 23:55:31 +00:00
Julian Seward
297db5c10c Implement sigaltstack. Most of the logic is copied more-or-less
verbatim from the Linux kernel sources, which has to be a good thing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@309
2002-05-22 23:34:20 +00:00
Julian Seward
cce8a3ebd3 Implement pthread_yield.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@308
2002-05-22 13:17:31 +00:00
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