Commit Graph

299 Commits

Author SHA1 Message Date
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
9c149e9981 Fix inconsistent order of fields. I think this is purely aesthetic
since nothing depends on the actual layout of this struct, but anyway.
Noticed by Vinay Nallamothu.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7352
2008-01-17 14:37:24 +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
Tom Hughes
cbb3cb05a5 Add support for the sync_file_range system call.
Based on patch from Russell Sears <sears@cs.berkeley.edu>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7324
2008-01-08 16:31:25 +00:00
Tom Hughes
e25736ec6c Valid file descriptor argument to llseek system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7322
2008-01-08 13:54:43 +00:00
Julian Seward
d03d7532bd Handle semaphore-related syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7273
2007-12-04 16:12:54 +00:00
Julian Seward
953b8549d7 Changes to make Memcheck work sanely on recent incarnations of AIX 5.3:
* add a few more syscall wrappers, and fix a couple of buggy ones

* intercept strcmp et al in a few more libraries



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7249
2007-11-29 03:08:32 +00:00
Julian Seward
a60ad6740d AIX 5.3 build fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7232
2007-11-26 22:43:03 +00:00
Julian Seward
931a40e83b Core-tool iface changes needed to support exp-drd (Bart Van Assche).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7212
2007-11-25 14:06:06 +00:00
Julian Seward
4d601bfed7 Support sys_utimensat on x86-linux. (Dan McGee)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7195
2007-11-20 23:41:23 +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
29ff6066e9 Add a new flag, --child-silent-after-fork=no|yes [no]. When enabled,
causes child processes after fork to fall completely silent, which can
make the output a lot less confusing.  In addition it is pretty much
essential in XML output mode, so as to avoid mixing up any child XML
output with the parent's.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7177
2007-11-17 22:29:25 +00:00
Julian Seward
db29debc13 Make handling of setuid executables marginally more sensible, as
suggested in #119404.

Prior to this commit, if the current traced process attempted to
execve a setuid executable, an error was always returned.  The revised
behaviour is:

If the current (traced) process attempts to execve a setuid
executable:

* If --trace-children=yes is not in effect, the execve is allowed.

* If --trace-children=yes is in effect, the execve is disallowed
  (as at present), but an error message is printed (unless in XML mode),
  so at least the execve does not fail silently any more.

As per discussion on #119404 we could probably do a lot better, but
these changes are at least simple, useful and uncontroversial.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7175
2007-11-17 21:11:57 +00:00
Julian Seward
8dd547a530 Don't segfault on syscall (SYS_io_destroy, 0). (Jakub Jelinek) Fixes
#147325.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7170
2007-11-17 01:49:06 +00:00
Julian Seward
4044188f76 Add support for private futexes (whatever they might be). Patch from
Eric Dumazet.  Fixes #146781.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7169
2007-11-17 01:35:08 +00:00
Julian Seward
33e93b4514 Oops (a second time), this was missed out of r7118 (Merge (from
branches/THRCHECK) the following amd64-linux stack unwind kludges)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7124
2007-11-09 23:24:09 +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
Julian Seward
57793cffdc gcc-4.3 compile fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6777
2007-08-24 20:37:09 +00:00
Julian Seward
3d25b440fe All platforms: make it clearer that missing syscalls constitute
reportable bugs.

AIX only: print name of missing syscall as well as number -- important
because there is no fixed name/number binding.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6765
2007-07-10 00:18:46 +00:00
Julian Seward
984e45e88f Add disclaimers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6709
2007-04-29 09:06:40 +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
a64b0bfb0c Followup to r6650: tidy up sys_sigreturn/sys_rt_sigreturn on ppc32/64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6652
2007-03-19 15:29:23 +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
664364751b Document and tidy up one of the more arcane corners of signal
handling: why PRE(sys_sigreturn) has to construct a fake syscall
return value which, when written back to the guest state, leaves it
unchanged.  It's only taken me about 3 years to realise why :-)
Fixes to ppc platforms to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6650
2007-03-19 13:38:11 +00:00
Julian Seward
77c7c9adc2 Handle sys_ioprio_set on amd64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6641
2007-03-11 19:28:02 +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
Tom Hughes
4c402c0681 Add support for some I2C ioctls.
Based on patch from Jean Delvare <khali@linux-fr.org>.
Fixes bug #142186.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6631
2007-03-07 10:07:13 +00:00
Tom Hughes
cbb98bc70d Handle some additional ptrace reason codes. Based on a patch
from Magnus Vesterlund <magnus_vesterlund@hotmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6630
2007-03-07 09:48:32 +00:00
Julian Seward
7efbc7213b Track recent XArray changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6625
2007-02-27 22:36:14 +00:00
Julian Seward
b7302d9258 Get rid of the type XArrayStrings in m_clientstate and use new generic
equivalents in module m_xarray instead.  A suprisingly pervasive
change.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6616
2007-02-25 15:08:24 +00:00
Dirk Mueller
ac2bbadda5 implement support for AT_FDCWD in openat()
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6566
2007-01-31 23:06:08 +00:00
Julian Seward
967cd7b6fd Enable the pselect6 wrapper on amd64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6530
2007-01-18 00:13:24 +00:00
Julian Seward
e71365244a When '-d' (one or more) is specified, disallow the client from closing
fd 2 (stderr) since that's what m_debuglog writes to, and the
resulting disappearance of the debug log can be confusing.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6519
2007-01-13 22:27:51 +00:00
Julian Seward
20a55a1469 ML_(generic_PRE_sys_mmap): In the case of a hinted mapping (for the
client) which aspacemgr accepts at the hint address but the kernel
declines, try again as a non-hinted mapping.  Fixes ld.so mapping
failures observed on ppc32-linux, although the problem potentially
applies to all Linux targets.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6495
2007-01-09 16:47:20 +00:00
Julian Seward
172505c978 Update copyright dates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488
2007-01-08 06:01:59 +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
141bfac9cf Add support for some USB ioctls. Based on patches from Jon Burgess and
Marcus Meissner in bugs #136059 and #138896.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6411
2006-12-18 16:48:10 +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
34198cf597 Rename VG_(get_lwp_tid) to VG_(lwpid_to_vgtid).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6409
2006-12-17 19:36:06 +00:00
Julian Seward
a96416a3e2 A naming-only change: rename VG_(set_running) to VG_(acquire_BigLock)
and VG_(set_sleeping) to VG_(release_BigLock).  And some other minor
renamings to the thread locking stuff, to make it easier to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6408
2006-12-17 18:58:55 +00:00
Julian Seward
52cf6ff843 Tidy fd-leak stuff a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6391
2006-12-11 01:11:02 +00:00
Julian Seward
2040c9cd05 Syscall tidying.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6349
2006-11-10 22:47:27 +00:00
Julian Seward
e962ad7da5 signedness wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6347
2006-11-04 18:18:14 +00:00
Julian Seward
639f06a928 Fix regression caused by recent merging, picked up by none/tests/shell.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6316
2006-10-18 00:34:21 +00:00
Julian Seward
56240918e0 Get rid of # comments in assembly files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6311
2006-10-17 20:47:13 +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
f92e61becb Merge r6101:
Syscall wrappers for AIX5.  Unfortunately they duplicate some of the
stuff in syswrap-generic.c since making that compile on AIX is just
too difficult.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6250
2006-10-17 01:08:19 +00:00