63 Commits

Author SHA1 Message Date
Julian Seward
19e8e951e5 Counterpart to r5202: restore previous assembler state with .previous
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5204
2005-11-19 02:02:57 +00:00
Julian Seward
418aae5c97 Hmm. Perhaps all those top-level pieces of assembly weren't such a
clever idea.  There's no reason to assume the assembler is in
.text-mode when it encounters them, and as gcc 2.96 rudely
demonstrates, sometimes it isn't.  So put .text in front of all of
them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5202
2005-11-18 23:50:43 +00:00
Julian Seward
f5b115b77a Enable mq syscalls (untested).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5172
2005-11-17 19:09:02 +00:00
Julian Seward
8a8c980ba0 Connect properly to the tgkill wrapper.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5168
2005-11-17 14:22:22 +00:00
Julian Seward
2e084e8121 Enable sys_lstat on ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5160
2005-11-17 11:01:55 +00:00
Julian Seward
4e648a2346 Fix up ppc32-linux handlers for sys_sigreturn and sys_rt_sigreturn. I really
have no idea how these work (what's there is a conceptual transcription of
what we have for x86-linux) and so if those of you more Skilled In The Art 
Of Signals than myself would care to peer at it, that would be appreciated.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5153
2005-11-16 19:15:33 +00:00
Julian Seward
6203fe7cdc Enable sys_rt_sigsuspend. This is needed by LinuxThreads.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5144
2005-11-16 12:51:34 +00:00
Julian Seward
408f56dbf4 Enable a couple more syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5112
2005-11-13 02:41:58 +00:00
Julian Seward
202f4dadd7 m_libcsignal is needed here.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5068
2005-11-10 13:15:31 +00:00
Nicholas Nethercote
057061d2ae Try to avoid compiler warnings on AMD64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5065
2005-11-10 04:02:19 +00:00
Nicholas Nethercote
8a58b97fbb Factor out some common code in m_syswrap.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5062
2005-11-10 02:48:04 +00:00
Nicholas Nethercote
bf21ecfdb0 Factor out some common code in m_syswrap.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5049
2005-11-09 04:49:28 +00:00
Julian Seward
4050d0bd10 Handle sys_sigaction on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5028
2005-11-07 15:48:31 +00:00
Julian Seward
d12b128625 Reenable a couple more syscalls needed for self-hosting on ppc32,
which now works.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4944
2005-10-19 01:14:22 +00:00
Julian Seward
04bb445744 Various fixes to reduce noise level on SuSE 10 (PPC). Also fix some
ppc32 syscalls.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4927
2005-10-15 02:00:41 +00:00
Julian Seward
273557e5f7 C90 fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4914
2005-10-13 12:41:09 +00:00
Julian Seward
4ba003ee3e ppc32-linux: reinstate sys_fsync, sys_sched_setscheduler
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4894
2005-10-07 23:06:13 +00:00
Julian Seward
614c6418c4 ppc32-linux: handle sys_madvise.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4892
2005-10-07 19:12:18 +00:00
Julian Seward
5027b7a30e Enable sys_ftruncate64 on ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4891
2005-10-07 13:30:48 +00:00
Julian Seward
45b7830107 Unbreak compilation. Duh.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4845
2005-10-02 17:33:07 +00:00
Julian Seward
b7cd9cb3de Plumb 64-bit file offsets throughout the address space manager.
Untested.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4844
2005-10-02 17:01:41 +00:00
Tom Hughes
6c610b89c7 Rationalise the mmap system call handling - after examining the kernel
source it turns out that there are five different versions of mmap for
the three platforms we currently support:

  - On x86-linux there is mmap (aka old_mmap) which takes the
    arguments in a memory block and the offset in bytes; and
    mmap2 (aka sys_mmap2) which takes the arguments in the normal
    way and the offset in pages.

  - On ppc32-linux there is mmap (aka sys_mmap) which takes the
    arguments in the normal way and the offset in bytes; and
    mmap2 (aka sys_mmap2) which takes the arguments in the normal
    way and the offset in pages.

  - On amd64-linux everything is simple and there is just the one
    call, mmap (aka sys_mmap)  which takes the arguments in the normal
    way and the offset in bytes.

To reconcile all this I have created a generic handler and then
written five platform specific wrappers which normalise all the
arguments and then call the generic handler.

I have also modified the address space manager to use mmap2 rather
than mmap on x86 and ppc32 so that large offsets can be correctly
handled.

There is still an issue of OffT truncating offsets as we go through
the address space manager that will need to be addressed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4834
2005-09-30 08:07:53 +00:00
Julian Seward
9f5c43b405 Get rid of duplicated STRINGIFY macros.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4829
2005-09-30 01:20:47 +00:00
Julian Seward
e0a5f54cf9 Make ppc32-linux build again following aspacem merge. Doesn't work, though:
programs crash before reaching main.  I don't know why.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4819
2005-09-29 11:09:56 +00:00
Julian Seward
b98ac01c9f Get rid of pub_core_main.h, so that m_main is not imported by anyone,
and so is not part of a module cycle.  This requires a moderately
grotty hack of passing a continuation-function pointer in a global
variable.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4806
2005-09-28 10:47:38 +00:00
Julian Seward
cc8ccbbfb4 This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive).  That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome.  The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
  and include it in a couple of places.  Building etc seems to still
  work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
  stuff was moved from -generic to -linux after the branch was created.
  I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
  is strange, and makes it hard to diagnose regtest failures.  In
  particular memcheck/tests/x86/scalar.stderr.exp remains in a 
  conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable.  I'll
  attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789
2005-09-27 19:20:21 +00:00
Julian Seward
010862f024 Unbreak ppc32 build.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4608
2005-09-06 08:43:15 +00:00
Nicholas Nethercote
ebb0bb7a05 Unbreak amd64 and ppc32 some more.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4607
2005-09-01 16:27:28 +00:00
Nicholas Nethercote
38e6ac5ae8 Fix AMD64 breakage and possibly the PPC32 breakage, too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4606
2005-09-01 03:35:40 +00:00
Nicholas Nethercote
1394091f86 Moved sys_mmap2 wrapper from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4595
2005-08-31 03:00:40 +00:00
Nicholas Nethercote
c198b967b3 Moved some more syscall wrappers from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4594
2005-08-31 02:44:31 +00:00
Nicholas Nethercote
b951ee0662 unbreak ppc32, I hope
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4584
2005-08-30 03:02:00 +00:00
Nicholas Nethercote
b79e7281d4 Moved sched_* from "generic" to "linux"; Darwin doesn't have them.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4576
2005-08-30 02:17:23 +00:00
Nicholas Nethercote
40eb28bec1 Move *xattr from "generic" to "linux". Darwin has them, but with an extra
parameter.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4575
2005-08-30 01:53:54 +00:00
Nicholas Nethercote
45fc4050f8 Move *chown16 syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4523
2005-08-26 04:36:10 +00:00
Nicholas Nethercote
1fa6f9bf7a Move get*16 and set*16 syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4521
2005-08-26 04:27:54 +00:00
Nicholas Nethercote
7fd1f02169 Move cap{get,set} syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4520
2005-08-26 04:03:04 +00:00
Nicholas Nethercote
832989d4af Move timer_* syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4519
2005-08-26 03:54:30 +00:00
Nicholas Nethercote
c42361bf17 Move clock_* syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4518
2005-08-26 03:49:43 +00:00
Nicholas Nethercote
c710281899 Move mq_* syscalls from "generic" to "linux".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4517
2005-08-26 03:43:28 +00:00
Julian Seward
4768087f6f Even more ppc32 syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4474
2005-08-21 00:49:41 +00:00
Julian Seward
b42cf14c30 Enable a few more syscalls on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4463
2005-08-19 10:07:29 +00:00
Julian Seward
c3de347191 - Fix bug causing thread slots not to get reused
- yet more syscalls on ppc32


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4460
2005-08-19 00:22:44 +00:00
Julian Seward
f964ed405c Enable a couple more syscalls on ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4449
2005-08-18 23:44:13 +00:00
Julian Seward
ec55a5e7bb Fix up do_syscall_clone_ppc32_linux. Seems to improve thread exiting.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4327
2005-08-05 02:15:18 +00:00
Julian Seward
ce962acecb ppc32-linux: implement a bunch more syscalls, and also fix up clone
handling enough so that threads can successfuly be started.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4325
2005-08-05 00:10:11 +00:00
Nicholas Nethercote
05cf8f1611 Replace out-of-date email address.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4322
2005-08-04 19:26:54 +00:00
Julian Seward
08184e8ea4 Enable sys_fchmod and sys_fchown.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4296
2005-07-29 22:01:19 +00:00
Julian Seward
5caa702a1f Enable sys_poll.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4235
2005-07-24 06:30:37 +00:00
Julian Seward
ce1682b2d8 Track API changes in vex r1272.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4159
2005-07-18 11:41:15 +00:00