Commit Graph

91 Commits

Author SHA1 Message Date
Bart Van Assche
7d072b3b4a Enabled timerfd() and timerfd_create() support for ppc32 and ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8051
2008-05-12 18:16:14 +00:00
Julian Seward
3c25a48a0c Temporarily work around compilation failures caused by non-definition
of __NR_timerfd, pending proper resolution.  See
http://bugs.kde.org/show_bug.cgi?id=160907



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7983
2008-05-01 21:22:38 +00:00
Julian Seward
4cae5c3ed5 Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds
support to Memcheck for tracking the origin of uninitialised values,
if you use the --track-origins=yes flag.

This currently causes some Memcheck regression tests to fail, because
they now print an extra line of advisory text in their output.  This
will be fixed.

The core-tool interface is slightly changed.  The version number for
the interface needs to be incremented.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982
2008-05-01 20:24:26 +00:00
Bart Van Assche
c6d4c09e7c Added support for timerfd_create(), timerfd_gettime() and timerfd_settime() system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7942
2008-04-27 12:56:06 +00:00
Bart Van Assche
46fd0e3040 Enabled syslog and create_module system calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7920
2008-04-26 10:57:07 +00:00
Bart Van Assche
e31611fb5c Added support for epoll_pwait(), utimensat(), eventfd(), timerfd() and signalfd(). Fixes bug 160907.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7917
2008-04-26 07:45:10 +00:00
Tom Hughes
34d1e3b268 Always call ML_(generic_POST_sys_shmat) when a shmat call succeeds, even
if the memory was attached at address zero. Fixes bug #157665.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7399
2008-02-11 14:47:05 +00:00
Julian Seward
5679a22410 Update copyright dates ("200X-2007" --> "200X-2008").
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398
2008-02-11 11:34:59 +00:00
Julian Seward
7cebb7d626 Include headers for VG_(register_stack) calls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7396
2008-02-11 11:23:12 +00:00
Tom Hughes
2e55cfac69 Make the clone system call wrappers call VG_(register_stack) to record
the new thread's stack, then make the stack unwinder use that information
to make a better guess at the stack bounds.

This helps avoid crashes trying to unwind the stack under wine when
the starting point is a routine without a proper stack frame.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7383
2008-02-08 15:17:07 +00:00
Julian Seward
15295992a0 Handle sys_getitimer on ppc32-linux and ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7193
2007-11-20 19:59:51 +00:00
Julian Seward
06666933d9 Merge (from branches/THRCHECK) the following two changes to the core-tool
interface:

r6805: Modify two thread-notification events in the core-tool
interface.  This removes track_post_thread_create and
track_post_thread_join.  The core can only see low level thread
creation and exiting, and has no idea about pthread-level concepts
like "pthread_create" and "pthread_join", so these are a bit
ambiguous.

Replace them with track_pre_thread_ll_create, which is notified before
a new thread makes any memory references, and
track_pre_thread_ll_exit, which is notified just before the new thread
exits, that is, after it has made its last memory reference.

r6823: Core-tool interface: give 'needs_tool_errors' an extra Boolean
indicating whether or not the core should print thread id's on error
messages.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7123
2007-11-09 23:21:44 +00:00
Nicholas Nethercote
802b418634 Fix some copyright notices:
- extend some to 2007
- use njn@valgrind.org instead of njn25@cam.ac.uk
- use "tool" instead of "skin"


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6703
2007-04-15 22:15:57 +00:00
Julian Seward
1d31d0b60c Followup to r6650: tidy up sys_sigreturn/sys_rt_sigreturn on ppc32/64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6651
2007-03-19 14:34:08 +00:00
Julian Seward
37c3d2ead6 Merge (from 3_2_BRANCH) r6457/8 (Support 64k pages on ppc32/64-linux
(Jakub Jelink, Dave Nomura) )



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6459
2006-12-30 17:45:08 +00:00
Tom Hughes
69c8af5179 Improve prctl support - based on patch from Eric Pouech in bug #138627.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6410
2006-12-18 15:22:46 +00:00
Julian Seward
bbe7f55813 Merge r6140 (some of):
- track SysRes changes

- track VG_(am_find_nsegment) const-ness change

- increase number of client syscall args supported from 6 to 8

- simplify type SyscallStatus.  Simply hold a copy of the SysRes
  for the syscall rather than have this be a data structure
  incorporating something very similar to the fields of a SysRes,
  and more besides.  Change various macros in priv_types_n_macros.h
  to match.

- syswrap-main.c: instantiate the various impedance-matching
  functions for AIX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6276
2006-10-17 01:47:30 +00:00
Julian Seward
f8f709fc6e Unbreak ppc{32,64}-linux after recent commits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6228
2006-10-14 19:51:19 +00:00
Julian Seward
1213e9bcf7 Merge (from 3_2_BRANCH) r6048 (SuSE 10.1 (ppc32) minor fixes)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6051
2006-09-11 20:33:55 +00:00
Julian Seward
ed31950b18 Enable syslog/sysinfo (Andy Doan). Fixes #130638.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5989
2006-07-24 10:14:37 +00:00
Julian Seward
6149c5ff30 More ppc32/64-linux syscall wrappers, from Jakub Jelinek. Fixes #129246.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5988
2006-07-24 10:06:09 +00:00
Julian Seward
8367bd8ed0 Syscall wrappers for ppc32-linux (and one for amd64-linux).
(from Jakub Jelinek)  See #125492.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5849
2006-04-14 01:04:04 +00:00
Tom Hughes
2b63758b93 Enable sigsuspend on x86-linux and ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5819
2006-04-03 16:38:33 +00:00
Julian Seward
4246f1054a Enable sys_fchdir on ppc32-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5784
2006-03-21 02:23:27 +00:00
Dirk Mueller
f1a7bdd33f various syscall wrappings needed for SUSE 10.1
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5669
2006-02-22 12:54:44 +00:00
Julian Seward
6a00071217 ppc32-linux: enable __NR_statfs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5594
2006-01-26 14:25:51 +00:00
Dirk Mueller
d8c7166c26 more syscalls for PPC32
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5289
2005-12-05 22:11:02 +00:00
Julian Seward
7ef795beca ppc32-linux: enable sys_{set,get}priority.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5270
2005-12-02 16:45:28 +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
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