65 Commits

Author SHA1 Message Date
Dirk Mueller
5515a58af0 fix initial installation problem
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@71
2002-04-15 00:54:13 +00:00
Dirk Mueller
4b7f632edd some workarounds for newer automake
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@70
2002-04-15 00:31:58 +00:00
Frédéric Gobry
d44c060e37 use install-exec-hook to create the .so.0 symlink.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@69
2002-04-14 15:31:19 +00:00
Julian Seward
c5d0d4a965 Fix problems to do with make dist/make distcheck not finding the source
file vg_libpthread.so.0.c.  Now:

* libpthread.so is built as just-another-so, like valgrind.so and
  valgrinq.so.

* there is a new dummy target libpthread.so.0 which is build just
  by a symlink.

Unfortunately for some reason, when the .so.0 is installed, it gets
a complete copy rather than just the symlink being copied.  But it
works, at least.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@68
2002-04-14 14:32:54 +00:00
Julian Seward
738517097f Turn off debug printing by default.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@67
2002-04-14 13:27:00 +00:00
Julian Seward
5d8300dd17 Add dummy stubs for pthread_key_create, pthread_key_delete,
pthread_setspecific, pthread_getspecific.  They don't do anything
right now and may well crash programs which use them.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@66
2002-04-14 13:13:05 +00:00
Julian Seward
6885b33e91 * external namespace check
* VG_(printf) format strings check


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@65
2002-04-14 13:01:38 +00:00
Julian Seward
8138f264e0 Plumb the right %EIP and %EBP values through to VG_(get_ExeContext)
now that we have the additional complication of multiple threads.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@64
2002-04-14 04:16:48 +00:00
Julian Seward
00dbbed2a1 Minor cleanups:
* when a thread exits, mark its stack as noaccess
* print VgTs_Sleeping status correctly


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@63
2002-04-14 02:46:33 +00:00
Julian Seward
d8e7eaed15 Take notice of SA_RESTART flags on signals, so as to deal (at least
partially properly) with blocking system calls interrupted by signals.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@62
2002-04-14 02:29:29 +00:00
Julian Seward
acf89323f4 Add wrapper for lseek().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@61
2002-04-13 04:18:32 +00:00
Julian Seward
fe80d43903 poll_for_read_fds(): don't waste time calling select() if there are
no waiting fds.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@60
2002-04-13 04:09:07 +00:00
Julian Seward
80dc6e4215 Ultra-hacking implementation of non-blocking select() using blocking
select and non-blocking nanosleep().  Barf.  Does seem to work tho.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@59
2002-04-13 03:45:44 +00:00
Julian Seward
ac45cc3e38 Write return address for threads in assembly so we can reliably
grab their return values.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@58
2002-04-13 00:08:51 +00:00
Julian Seward
4248ca0b0a Cleanup of the dispatch mechanism. Now syscall returns and the final
request to shutdown valgrind are done with the client request
mechanism too.  This is much better than having to check all
call/return addresses.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@57
2002-04-12 23:24:59 +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
c59b539faf Clean up debug printing for scheduler / pthreads. Two new flags,
--trace-sched=no|yes and --trace-pthread=no|yes, if you really want
to see tons of gory details.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@55
2002-04-12 20:12:20 +00:00
Frédéric Gobry
9158ab04e5 added rules to generate libpthread.so
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@54
2002-04-12 13:32:11 +00:00
Julian Seward
d9f72279d7 Oops! An important file I forgot to add (is part of the pthread_
mega-merge).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@53
2002-04-12 11:49:29 +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
1271ae8557 New files to support pthreads.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@51
2002-04-12 10:26:32 +00:00
Frédéric Gobry
f7401756a8 cosmetic fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@50
2002-04-11 06:58:55 +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
Frédéric Gobry
49046065a6 cosmetic fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@47
2002-04-05 07:02:00 +00:00
Frédéric Gobry
29f83bd240 updated the info about the default.supp file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@46
2002-04-05 06:56:07 +00:00
Frédéric Gobry
8185e4582f splitted the suppression files so that default.supp can be created by picking
from the library specific supp files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@45
2002-04-04 09:18:39 +00:00
Julian Seward
3e34a61b7b Please change my e-mail address to amu@alum.mit.edu; monk is just a
finger server that knows how to deal with my account.  (Perhaps I
should clarify my .sig?)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@44
2002-03-30 02:02:04 +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
364f90395d version --> 20020329
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@42
2002-03-29 15:34:47 +00:00
Julian Seward
c8e7d16b40 wrappers for ioctl TIOCSCTTY and for syscall __NR_nice.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@41
2002-03-29 14:22:46 +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
c712005a75 Add wrapper for ioctl TIOCGPGRP (Alexandre Duret-Lutz <duret_g@epita.fr>)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@39
2002-03-29 04:39:00 +00:00
Julian Seward
df8253eda3 Significantly improved SYSV IPC call handling. Unfortunately some of
this stuff doesn't use safe_dereference when it should.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@38
2002-03-29 04:35:08 +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
Frédéric Gobry
fcfa7274a8 added support for maintainer mode.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@36
2002-03-27 21:00:33 +00:00
Frédéric Gobry
7469cdca1a added support for maintainer mode
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@35
2002-03-27 20:58:58 +00:00
Frédéric Gobry
94f4cbf5ad Applied patch from Simon Hausmann <hausmann@kde.org> to enable automake1.5
compilation, except for the use of $(EXEEXT) which generates annoying warnings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@34
2002-03-26 20:44:55 +00:00
Julian Seward
eb920f9f85 Change VG_N_EPOCHS to 20000 to avoid resolution loss for long-running
loops.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@33
2002-03-25 02:02:52 +00:00
Julian Seward
2ec0ebd9dc Add experimental omission of V-bits for address values, using
--check-addrVs=no.  The default behaviour, =yes, is the original
behaviour.  So far this is undocumented.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@32
2002-03-25 00:07:36 +00:00
Frédéric Gobry
61a11f917a added a bzdist target
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@31
2002-03-24 18:01:46 +00:00
Julian Seward
5b1ca0492b Detect FPU instructions which set %EFLAGS and mark the resulting
UInstrs accordingly.  Fixes a bug in the simulated CPU in which the
results of f{u}comi{p} FPU insns were ignored, potentially leading to
wrong program behaviour.  This will only have happened to people using
P6/P7/K7 class CPUs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@30
2002-03-24 13:52:19 +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
990cfcba30 Remove mention of vg_version.h.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@28
2002-03-24 12:32:13 +00:00
Julian Seward
fe84217f78 Use autoconf tests for glibc version in argc/argv/envp search.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@27
2002-03-24 12:22:39 +00:00
Julian Seward
bd48889f4a Fix plumbing of version number from config.h to vg_main.c
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@26
2002-03-24 12:18:35 +00:00
Julian Seward
55f4b6e0b4 version --> 20020324
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@25
2002-03-24 12:10:57 +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
6b710076fa Print suggested fix to avoid this panic:
VG_ASSUMED_EXE_BASE doesn't match reality


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@23
2002-03-24 12:03:00 +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