Commit Graph

56 Commits

Author SHA1 Message Date
Tom Hughes
d7ecda24bb Enable getpriority and setpriority on amd64. Fixes bug #117369.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5256
2005-12-01 09:21:37 +00:00
Tom Hughes
85bd6d7d0b Enable a few extra system calls on amd64 as found by the Python test suite.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5227
2005-11-21 13:57:49 +00:00
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
Tom Hughes
0cfea5db07 Enable the prctl system call on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5127
2005-11-14 15:26:03 +00:00
Tom Hughes
66af8e3222 Enable remaining *xattr system calls on amd64. Fixes bug #116200.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5106
2005-11-13 00:08:03 +00:00
Tom Hughes
d1c6c1b8d2 Fix compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5081
2005-11-11 11:54:11 +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
Tom Hughes
44b7b48fd3 Add missing quote.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5051
2005-11-09 08:52:21 +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
Tom Hughes
2b553e2835 Add support for the mbind system call on x86 and amd64. Fixes bug #114756.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4958
2005-10-20 17:00:23 +00:00
Tom Hughes
6961dcf591 Fix statement-before-declaration warnings for the core code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4906
2005-10-12 10:45:27 +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
Nicholas Nethercote
00a4e0b162 Enable sys_iopl on AMD64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4826
2005-09-30 01:05:53 +00:00
Julian Seward
002bc6c7e7 Comment-only changes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4818
2005-09-29 10:24:17 +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
6dadd73562 Unbreak build on amd64 following aspacem merge.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4792
2005-09-27 19:57:35 +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
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
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
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
Tom Hughes
d7f4ee0a3c Enable the inotify system calls on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4336
2005-08-06 18:07:17 +00:00
Tom Hughes
3f28625849 Implement the waitid system call. Fixes bug #110202.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4329
2005-08-05 07:32:04 +00:00
Tom Hughes
b2f3925a5f Handle the fadvise64 system calls correctly on 32 bit platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4285
2005-07-27 22:57:18 +00:00
Tom Hughes
a74aa1e74d Yet more system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4227
2005-07-22 15:04:14 +00:00
Tom Hughes
f0fdce6382 Enable rt_sigpending on amd64. Fixes bug #109429.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4223
2005-07-21 20:23:26 +00:00
Tom Hughes
f67d1dc95e Document different argument order for clone on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4217
2005-07-20 13:49:55 +00:00
Tom Hughes
5e7b1d48c7 More system call fixups.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4213
2005-07-20 09:24:04 +00:00
Tom Hughes
87e835de1f Yet more amd64 system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4212
2005-07-20 08:46:50 +00:00
Tom Hughes
dd1e9ed254 Pass clone arguments in the correct order when doing a fork style
clone. This should fix bug #109358.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4201
2005-07-19 22:59:47 +00:00
Tom Hughes
01962be11b Enable sched_yield on amd64. Fixes bug #109362.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4200
2005-07-19 22:48:04 +00:00
Tom Hughes
a658d8c40f Support ARCH_GET_FS with arch_prctl on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4197
2005-07-19 22:35:58 +00:00
Tom Hughes
0d957fbca0 Enable some more system calls on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4191
2005-07-19 16:05:49 +00:00
Tom Hughes
24de900c15 Enable setuid and setgid on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4189
2005-07-19 15:26:33 +00:00
Tom Hughes
dea2bc96c6 Enable the rt_sigqueueinfo syscall on amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4178
2005-07-19 07:21:06 +00:00
Tom Hughes
9fe595a2d3 Enable some more amd64 syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4111
2005-07-05 23:34:44 +00:00
Tom Hughes
fcf186b9c8 Sort out the mess that is pread64/pwrite64 properly. All three platforms
that we currently support use the same handlers in the kernel without any
platform specific wrappers.

The final argument is a 64 bit argument however, which means that it
requires two registers on x86 and ppc32 and only one on amd64. The
reason it works in the kernel is that x86 and ppc32 calling conventions
inside the kernel work out correctly and the values get joined together.

For our purposes we make x86 and ppc32 use the generic veneer with
five arguments and amd64 use a platform specific one with four...


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4110
2005-07-05 23:25:17 +00:00
Julian Seward
56e6d3f332 Reinstate wrappers for epoll_{create,wait,ctl}.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4074
2005-07-01 08:39:38 +00:00
Nicholas Nethercote
88b532de40 Simplify atfork to only provide the functionality we need.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4032
2005-06-26 15:11:37 +00:00
Cerion Armour-Brown
c259dd1e6d VG_() -> ML() for ppc32, amd64
(plus a few scattered ones in comments etc)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4003
2005-06-23 07:52:54 +00:00
Nicholas Nethercote
d463dd2292 Removed the VGA_/VGO_/VGP_ prefixes for arch/OS/platform-specific
things.  These made sense when the arch/OS/platform-specific code was in
one module, but as that code got mixed in with generic code the boundary
between generic and non-generic blurred, and the distinction made less
sense.  So let's get rid of them.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4002
2005-06-23 03:27:57 +00:00