Commit Graph

1590 Commits

Author SHA1 Message Date
Julian Seward
ae8df0379b Fix PRE wrapper for sys_exit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3268
2005-03-11 02:47:32 +00:00
Julian Seward
d5b545da24 These files are no longer needed. Bye!
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3266
2005-03-11 00:22:10 +00:00
Julian Seward
0356d27ca6 Merge in changes from the 2.4.0 line. This basically brings in the
overhaul of the thread support.  Many things are now probably broken,
but at least with --tool=none, simple and not-so-simple threaded and
non-thread programs work.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3265
2005-03-10 23:59:00 +00:00
Julian Seward
7c542ccd39 Add new files resulting from merging in the 2.4.0 line. Many of these
seem to be simply duplication of the x86 instruction set tests into
the addrcheck and helgrind trees.  I'm not sure what this duplication
achieves.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3264
2005-03-10 23:23:45 +00:00
Julian Seward
2e00d9e22a Fix enough syscall stuff so that simple X applications run (xfontsel,
xedit).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3261
2005-03-02 16:01:23 +00:00
Julian Seward
243713971c Minimal, horrible hacks needed to make vsyscalls work on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3259
2005-03-02 14:06:08 +00:00
Julian Seward
3fe41b4fd9 Fix struct ume_auxv so that auxc walking on 64-bit platforms works.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3258
2005-03-02 14:04:19 +00:00
Julian Seward
435d820b6d Clean up handling of socket system calls on amd64-linux, so that the
code for them is shared between amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3257
2005-03-01 19:00:30 +00:00
Julian Seward
a978be5bcb Factor out all the socket-related syscall handlers into their own
functions, so the same handlers can be used on amd64-linux as
x86-linux without tons of code duplications.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3256
2005-03-01 16:45:23 +00:00
Julian Seward
d2445e3d81 Fix more RES-is-not-set assertions, and move a couple of comments to
their correct homes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3255
2005-02-28 20:50:29 +00:00
Julian Seward
006c9e84c3 When handling syscalls, don't try to figure out if the pre-handler set
the syscall result by inspecting RES after the pre-handler has run.
Instead, give each thread a syscall_result_set Bool, and make
SET_RESULT set it.  Inspect that Bool.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3254
2005-02-28 17:27:04 +00:00
Julian Seward
be6b72b2d3 Various cleanups to revised low-level memory manager.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3253
2005-02-28 14:39:21 +00:00
Julian Seward
2cfb6bc855 On AMD64 it's valid to access up to 128 bytes below %rsp. Or to be
more accurate, on the amd64-linux ABI that is allowable.  Anyway,
parameterise the signal handler so it isn't confused by such accesses.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3252
2005-02-25 02:45:39 +00:00
Julian Seward
4bfc4e090b Rearrange debug printing a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3251
2005-02-23 11:36:56 +00:00
Julian Seward
a84f1bd656 More amd64 system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3250
2005-02-19 22:45:15 +00:00
Julian Seward
f62998dc1b Clean up startup grunge a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3249
2005-02-18 09:39:05 +00:00
Julian Seward
4b34a53a19 Make ELF symbol reading work on both 32 and 64 bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3248
2005-02-18 09:38:08 +00:00
Julian Seward
f122d86dc0 Further cleanups to low-level memory management. It's still a
conceptual mess and needs a redesign, but this is a start.  Most stuff
now works again.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3247
2005-02-18 08:28:32 +00:00
Julian Seward
a5787a4558 Fix enough syscalls to get through 'hello world' on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3246
2005-02-17 09:30:21 +00:00
Julian Seward
07be6896f6 Fix comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3245
2005-02-17 09:29:33 +00:00
Julian Seward
353c6ca6c5 Turn off tons of debug printing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3244
2005-02-16 01:58:51 +00:00
Julian Seward
e57df07ce8 Duh; mmap doesn't work if you don't use the post-mmap wrapper too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3243
2005-02-16 01:58:01 +00:00
Julian Seward
245173117c Major rewrite of the machinery which keeps track of segments:
* remove initialisation-time circularities by not using the
  skiplist mechanism and therefore not using any dynamically
  allocated memory in support of this mechanism

* Add comments about how it works (it is pretty opaque) so as
  to help future maintainers/bug-fixers

It only just works and many things are still broken.  That should
improve rapidly however.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3242
2005-02-16 01:31:37 +00:00
Julian Seward
d2897b0a2b Remove more debug printing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3241
2005-02-13 11:05:31 +00:00
Julian Seward
d033437190 Remove misc debug printing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3240
2005-02-13 11:02:12 +00:00
Julian Seward
67a7a983cf Change signature of thread_syscall a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3239
2005-02-13 10:57:01 +00:00
Julian Seward
3e6c170f75 Debugging hacks (switchback routine -- unused)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3238
2005-02-13 10:56:22 +00:00
Julian Seward
2e98ffac01 Debug printing at startup.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3237
2005-02-13 10:55:47 +00:00
Julian Seward
54e34d76ee Debug hacks (currently unused)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3236
2005-02-13 10:53:51 +00:00
Julian Seward
a804b287ad Fix bug causing __NR_read on amd64-linux to always be considered to have
failed -- because __NR_read == 0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3235
2005-02-13 10:49:58 +00:00
Julian Seward
60454f22a5 amd64-linux syscall support.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3234
2005-02-13 10:47:24 +00:00
Julian Seward
768ce51a26 Make amd64 signal returns work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3233
2005-02-08 15:00:48 +00:00
Julian Seward
bb0c8347a1 Make --wait-for-gdb sort-of usable on amd64. I don't know why this
works on x86 -- and I can't make any analogous version work on amd64.
Hence return to a delay loop for the time being.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3231
2005-02-06 14:10:40 +00:00
Julian Seward
f224865e9e Fix enough stuff so it will start up and run for a few bbs on amd64,
before dying.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3230
2005-02-05 18:27:14 +00:00
Julian Seward
a576e88663 Fix amd64 assembly for presumably newer binutils.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3229
2005-02-05 14:59:25 +00:00
Julian Seward
056ed053a8 Increase the number of top-bbs in a profile to a useful number.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3228
2005-01-24 10:42:46 +00:00
Julian Seward
24777514e0 AMD64 build fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3227
2005-01-19 14:05:09 +00:00
Julian Seward
efcf1e61ec Complete rewrite (I think this is the 4th incarnation) of translation
table/cache management.  Two main changes.  (1) Translation areas are
recorded using VexGuestExtents, so that Vex is now properly supported
and code deletion works correctly.  (2) Low overhead BB profiling,
enabled by the --profile-flags=<XXXXXXXX> option.  This finds the top
N bbs at exit and shows them, so as to give a basis from which to do
performane tuning.

To support this, the way tt/tc work is changed.  It is still a
sectored arrangement, but now each sector has its own hash table.
This simplifies a lot of things.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3226
2005-01-19 11:55:34 +00:00
Julian Seward
d19f789514 Track VEX API changes introduced in Vex rev 718.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3225
2005-01-17 18:35:30 +00:00
Julian Seward
9b03779a20 Implement --log-file-exactly= for when the user wants to specify
*exactly* the log file name.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3220
2005-01-11 14:01:02 +00:00
Julian Seward
6c9a668a42 Add a new variant for --gen-suppressions: --gen-suppressions=all,
which just prints a suppression for all reported errors without asking
questions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3219
2005-01-10 17:24:47 +00:00
Julian Seward
4102989396 Run x86 host with FPU in 53-bit precision mode (non default).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3218
2005-01-10 16:51:14 +00:00
Julian Seward
002e27808f Make the Quadrics Elan3 clone-hack be controllable by a command-line
flag.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3216
2005-01-06 16:13:40 +00:00
Julian Seward
3722871a72 Appalling hack which may or may not help making Quadrics Elan 3
drivers work until such time proper support for sys_clone is added.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3215
2005-01-04 16:41:46 +00:00
Julian Seward
696460f884 Error message cosmetics.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3214
2004-12-31 18:10:17 +00:00
Julian Seward
ae638b8a3a gcc-2.96 build fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3213
2004-12-31 18:09:32 +00:00
Julian Seward
e70cd14095 Make --dump-error= work properly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3211
2004-12-31 01:14:04 +00:00
Julian Seward
92896c91a1 Add Valgrind-side support for subarchitecture descriptions, which are
tedious but necessary to support.  Also, get rid of the have_ssestate
variable.  The new valgrind will not work on x86s which do not have at
least fxsave/fxrstor available; this rules all CPUs prior to Pentium
II.  No big deal.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3210
2004-12-21 01:20:49 +00:00
Julian Seward
00fab1f97d Use new function LibVEX_Version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3208
2004-12-20 04:38:31 +00:00
Julian Seward
cde876c63e Update version numbers by hand. Duh. ToDo: automatically
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3207
2004-12-17 19:18:02 +00:00