Commit Graph

154 Commits

Author SHA1 Message Date
Julian Seward
feaee3ac3a Fix really stupid error in computation of timeout point in nonblocking
poll().  After this change, Mozilla-0.9.2.1 and Galeon 0.11.3 finally
behave reasonably on my box.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@165
2002-04-29 12:20:34 +00:00
Julian Seward
bf379fa8d7 Fix a subtle (?) bug in sched_do_syscall to with read/write calls for
which the client has already got the fd in nonblocking mode.  In such
cases, do not wait for an IO completion -- since the client presumably
handles that somehow.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@164
2002-04-29 01:58:08 +00:00
Julian Seward
26207e6d5a CDROM ioctls. (Lionel Ulmer)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@163
2002-04-27 02:28:19 +00:00
Julian Seward
e1341b79ec ioctls for /dev/rtc (Fredrik Kuivinen)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@162
2002-04-27 02:20:14 +00:00
Julian Seward
64aa64a2a9 Add __NR_getpriority (Richard Boulton).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@161
2002-04-27 02:13:24 +00:00
Julian Seward
f941ad21fd Use safe_dereference in IPCOP_msgrcv. (Tom Hughes)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@160
2002-04-27 02:06:15 +00:00
Julian Seward
61525a77d6 Do __NR_sched_get_priority_min and __NR_setpriority (Cody Russell).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@159
2002-04-27 01:56:30 +00:00
Julian Seward
acf082b7d7 Allow apparently invalid keys in libc_internal_tsd_{get,set}. This
allows koffice-1.2beta1 to work.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@158
2002-04-27 01:35:38 +00:00
Julian Seward
1c1c89c61b handle_signal_return: when a waiting read/write syscall is interrupted
by a signal which has been set to non-SARESTART, clean up the waiting_fds
table correctly.

xemacs (cvs, --pdump only) now works.  Yay!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@157
2002-04-26 22:47:57 +00:00
Julian Seward
c082a81f8f Fix more stuff broken by recent exported-symbol hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@156
2002-04-26 21:01:13 +00:00
Julian Seward
205ec6efd2 Finish first pass of the symbols cleanup. Only versioned symbols remain
to do.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@155
2002-04-26 14:31:40 +00:00
Julian Seward
c81d619159 Administrivia.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@154
2002-04-26 14:30:52 +00:00
Julian Seward
66b4d0b7ca Mess around with aliases to make the exported T/D/W syms look like those
of the real libpthread.so.  This is a Good Thing, despite the fact it
temporarily breaks some threaded programs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@153
2002-04-26 13:25:00 +00:00
Julian Seward
338e826079 A simple script to help me ensure that my libpthread.so looks
from the outside, to the linker, identical to the original.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@152
2002-04-26 11:50:43 +00:00
Julian Seward
edf9ed279b Fix many holes and bugs in an attempt to get my libpthread.so to export
the same set of symbols as the real one, which I now realise is crucial
for it to work at all.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@151
2002-04-26 03:28:18 +00:00
Julian Seward
a70e548ee7 Fix various bugs getting in the way of licq starting up.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@150
2002-04-26 00:27:53 +00:00
Julian Seward
c107508a0f Try and give at least some minimal binding for all functions exported
by the real libpthread.so.  In the process fix a bunch of stuff, including
adding thread-specific h_errno and resolver state storage.  This fixes
licq crashing at startup.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@149
2002-04-25 20:17:29 +00:00
Julian Seward
6f9fc98a96 Jiggle timing delays yet again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@148
2002-04-25 01:33:50 +00:00
Julian Seward
6b7c2737c1 * Performance enhancements: put syscalls and pthread_getspecific in
fast path.

* Jiggle timing intervals yet again, probably completely pointless.

* Teach the scheduler that a thread in cond_timedwait is in a bounded
  wait.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@147
2002-04-25 01:32:10 +00:00
Julian Seward
2a1e3ffbf1 Define VKI_SIGUSR1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@146
2002-04-25 01:29:35 +00:00
Julian Seward
6f4e48d3de Debugging hook which turns on a lot of debug printing when SIGUSR1
arrives.  Commented out.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@145
2002-04-25 01:27:35 +00:00
Julian Seward
673c00263c ---> 20020425
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@144
2002-04-25 01:24:42 +00:00
Julian Seward
77c918c110 Back out rev 1.10. It can't possibly be the right fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@143
2002-04-24 21:44:17 +00:00
Julian Seward
b3a52be517 VG_(oursignalhandler): when catching a fatal signal, don't longjmp
back to the scheduler if the signal is already pending.  There's
something very suspicious about all this, though.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@142
2002-04-24 21:39:11 +00:00
Julian Seward
cb33f92ef2 Get rid of incomprehensible special-case treatment of SIGABRT.
Might have made sense once but it doesn't any more.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@141
2002-04-24 21:25:46 +00:00
Julian Seward
f36ab7016f adjust error count thresholds
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@140
2002-04-24 21:24:18 +00:00
Julian Seward
1a257661de VG_(maybe_add_context): also stop collecting errors when the total
number (in contrast to the total number of _different_) of them
gets too high.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@139
2002-04-24 21:03:47 +00:00
Julian Seward
2256869242 VG_(malloc_aligned): accept req_alignB == 4.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@138
2002-04-24 20:32:50 +00:00
Julian Seward
3b6da6b7a3 Wrappers for open64/lseek64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@137
2002-04-24 20:29:58 +00:00
Julian Seward
09b324dc72 Once VG_(maybe_add_context) starts ignoring errors, ignore them
right up front, in the VG_(record_*_error) functions.  This is an
attempt to avoid excessive performance problems with programs which
have excessive numbers of errors.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@136
2002-04-24 20:20:22 +00:00
Julian Seward
9bb983694b - Fast-track pthread_mutex_trylock(), even though programs which use
it extensively are probably badly designed -- they are polling.

- VG_(deliver_signals): return a Bool indicating if any signals
  really were delivered.  Used only to try and reduce excessive
  frequency of system sanity checks.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@135
2002-04-24 19:51:31 +00:00
Julian Seward
8060ad5525 Add wait() wrapper.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@134
2002-04-24 19:26:47 +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
6fde2066d9 Add a simplistic implementation of pthread_once().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@132
2002-04-24 19:21:39 +00:00
Julian Seward
b3a47aa615 Allow more slack with VG_STARTUP_STACK_MASK. Also increase some
table sizes, for Galeon.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@131
2002-04-24 14:44:23 +00:00
Julian Seward
9247bfce1f Add wrapper for system().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@130
2002-04-24 13:28:15 +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
b8be805011 Detect, print warning, and "correctly" handle implausible requests
such as malloc(negative-argument).  You'd be amazed at the stupidity
of some of the programs people run on valgrind.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@128
2002-04-24 11:37:37 +00:00
Julian Seward
66e3ae4b8f - Use CFLAGS in demangle/Makefile.am
- Get rid of -Werror; it breaks to many people's builds.  It can be
  passed in with make variable WERROR if needed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@127
2002-04-24 11:14:22 +00:00
Julian Seward
fedef93da6 --> 20020424.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@126
2002-04-24 02:32:30 +00:00
Julian Seward
8c5467fdb1 Add wrapper for sendto().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@125
2002-04-24 02:28:34 +00:00
Julian Seward
f3634c179c Add __NR_madvise.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@124
2002-04-24 02:24:44 +00:00
Julian Seward
26934d5615 More glibc-2.1.X compiler fixes (Lionel Ulmer).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@123
2002-04-24 02:20:20 +00:00
Julian Seward
e009a193da minor tweaks to constants
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@122
2002-04-24 02:19:36 +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
5b220c8d4c Fix total b0rkage of signal handling caused by stupidly giving the
same value to VG_USERREQ__READ_MILLISECOND_TIMER and
VG_USERREQ__SIGNAL_RETURNS.  Duh.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@120
2002-04-24 01:17:42 +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
a35ac92ef8 Deal properly with client arguments with spaces in. (Aharon Robbins).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@118
2002-04-22 22:26:51 +00:00
Julian Seward
cee0398714 Compilation fixes for glibc-2.1.X systems. (Lionel Ulmer).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@117
2002-04-22 12:45:25 +00:00
Julian Seward
c3636aeb43 I feel like doing a snapshot today; hence date -> 0422.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@116
2002-04-22 12:42:55 +00:00