Commit Graph

56 Commits

Author SHA1 Message Date
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
7b2a259bea DARWIN sync: pread64 and pwrite64 wrappers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9971
2009-05-19 06:50:37 +00:00
Nicholas Nethercote
131ab00744 Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the
DARWIN branch.  A big ugly DARWIN/trunk sync commit, mostly to do with
changing the representation of SysRes and vki_sigset_t.  Functionality of
the trunk shouldn't be changed by it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876
2009-05-18 02:12:08 +00:00
Nicholas Nethercote
2001629c3f Updated copyright years.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344
2009-03-10 22:02:09 +00:00
Nicholas Nethercote
87b5e49494 Merge a large chunk of r8949 (the part that moved fcntl and ioctl wrappers
out of syswrap-generic into syswrap-linux) from the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9219
2009-02-22 23:00:30 +00:00
Nicholas Nethercote
3bfae3eec1 Merged r9185 (fix up getsockopt mess) from the DARWIN branch, minus the
Darwin-specific parts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9186
2009-02-17 00:23:30 +00:00
Tom Hughes
f1ac1fd992 Add signalfd4 support.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8930
2009-01-09 16:42:51 +00:00
Tom Hughes
2ebda825b1 Add support ioprio_get and wire up ioprio_set on all platforms.
Fixes bug #177819.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8826
2008-12-15 08:58:29 +00:00
Tom Hughes
4d4d4c10fe Add support for eventfd2 (and wire up pipe2 on PPC platforms).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8815
2008-12-10 09:28:56 +00:00
Bart Van Assche
86ff87c102 Enabled capget and capset system calls for amd64, ppc32 and ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8554
2008-08-27 17:41:56 +00:00
Julian Seward
832a3d400b Tidy up the wrappers for pread64 and pwrite64, and make these two
syscalls available on ppc64-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8519
2008-08-07 20:29:55 +00:00
Bart Van Assche
783f123bab Enabled support for the sched_setparam() system call on the amd64, ppc32 and ppc64 platforms (was already enabled on x86).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8405
2008-07-09 07:39:09 +00:00
Bart Van Assche
8e96150945 Merged FORMATCHECK branch (r8368) to trunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369
2008-07-07 06:49:24 +00:00
Bart Van Assche
bd28f145d5 Moved support for Linux-specific system call sys_init_module from generic to Linux wrappers. Added wrapper for sys_delete_module system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8266
2008-06-21 16:28:24 +00:00
Bart Van Assche
4938c1f0ba Added support for the fadvise64() system call on ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8130
2008-05-25 18:09:11 +00:00
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
c798246fb2 Enable some syscalls needed to run firefox on 64-bit ppc on Fedora 8.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7334
2008-01-09 22:01:40 +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
Tom Hughes
0075b20e84 Add support for linux key management system calls.
Based on patch from Ezra Peisach <epeisach@bu.edu>.
Fixes bug #139300.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6632
2007-03-07 11:12:13 +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
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
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
ff75600128 A few more syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5649
2006-02-14 21:48:42 +00:00
Julian Seward
fb32c626b7 Enable enough syscalls to make self-hosting work on ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5634
2006-02-11 14:35:17 +00:00
Julian Seward
62d0f75a88 Enable sys_getrusage.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5624
2006-02-09 11:16:58 +00:00
Julian Seward
da90c31368 Enable message-queue syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5589
2006-01-23 04:34:22 +00:00
Julian Seward
c53cdd12af Handle __NR_madvise.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5577
2006-01-20 21:46:03 +00:00
Julian Seward
94e2a571bc More syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5551
2006-01-19 03:36:13 +00:00
Julian Seward
e9d09cb891 Allow more syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5544
2006-01-18 04:15:42 +00:00
Julian Seward
69cd1990e5 Even more ppc64-linux syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5503
2006-01-05 14:13:14 +00:00
Julian Seward
c70190e6da More syscalls ...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5498
2006-01-04 15:40:16 +00:00
Cerion Armour-Brown
9e96cc2540 Tidy up some ppc64 assembly & comments a little.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5490
2006-01-03 14:28:02 +00:00
Julian Seward
cf20ba8f52 Signal-related syscall support.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5485
2006-01-03 04:10:13 +00:00
Julian Seward
e76e55b1f1 Enable various syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5477
2006-01-02 19:06:37 +00:00
Julian Seward
a5f29945c9 Fun n games making sys_clone() work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5474
2006-01-02 16:25:31 +00:00
Julian Seward
bcb975cf44 A couple more ppc64-linux syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5463
2005-12-30 22:49:24 +00:00
Julian Seward
d5f6f1b38a More ppc64-linux syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5461
2005-12-30 15:02:49 +00:00