2582 Commits

Author SHA1 Message Date
Nicholas Nethercote
d5717b3e8c The two patches attached resolve the exit-hang (of OOo) bug for me. The first
fixes getppid(), and the second fixes the next bug which is revealed
once getppid() does what LinuxThreads wants;  LinuxThreads uses SIGKILL
to kill off stray threads, but if we send naked SIGKILLs to Valgrind
threads, they'll die without cleaning up or informing anyone of their
death, which means that they're waited on forever. 

ADAPTED FROM CVS HEAD



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3449
2005-03-26 20:08:06 +00:00
Nicholas Nethercote
203b7b6638 Add missing declaration.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3448
2005-03-26 20:03:07 +00:00
Nicholas Nethercote
f385afbb5c sys_futex's FUTEX_(CMP_)REQUEUE requests use the futex2 pointer (not
timeout); FUTEX_CMP_REQUEUE also uses the timespec pointer as an integer.       
                                                                                
Also, more clearly document the argument usages, and make the per-operation     
special cases clearer.             

MERGED FROM CVS HEAD


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3447
2005-03-26 16:44:19 +00:00
Nicholas Nethercote
32dd4093dc Handle a couple kinds of executable mutation: a read-only bss, and a
zero-length segment.           

MERGED FROM CVS HEAD


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3446
2005-03-26 16:22:43 +00:00
Nicholas Nethercote
23f4ba44cd Skip a stab if it has no ':' at all.
MERGED FROM CVS HEAD



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3445
2005-03-26 16:10:49 +00:00
Nicholas Nethercote
55b62aeffb Sync NEWS with CVS version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3444
2005-03-26 16:04:27 +00:00
Julian Seward
64824ad318 More amd64 signal handling fixes (Tom Hughes)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3443
2005-03-26 13:48:19 +00:00
Julian Seward
b320c6c9e4 On amd64, use default cache sizes for now, rather than bombing out
completely.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3442
2005-03-26 13:46:49 +00:00
Julian Seward
c5dc229747 Unbreak amd64 build. We need to have an overnight autobuild running
on amd64 asap.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3441
2005-03-26 13:33:27 +00:00
Nicholas Nethercote
425c86253b Remove unneeded vg_intercept.c.base, which was still hanging around from the
CVS/SVN merge.  Also removed a reference to it in vg_replace_malloc.c.base.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3440
2005-03-26 04:20:04 +00:00
Nicholas Nethercote
ce81b52a84 Make our VG_(isspace)() match libc's isspace(). And remove ISSPACE and
VG_ISSPACE, replacing them with calls to VG_(isspace)().



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3439
2005-03-26 04:14:01 +00:00
Nicholas Nethercote
bb4598350e Obsoleted three client requests that were still hanging around from the old
libpthread implementation: USERREQ__READ_MILLISECOND_TIMER, USERREQ__MALLOC,
USERREQ__FREE.

As a consequence, all the PTHREQ macros (eg. VGA_PTHREQ_RET,
SET_PTHREQ_RETVAL) could be removed.  And VG_(tl_malloc_called_by_scheduler)
has been renamed VG_(tl_malloc_called_deliberately) to reflect how its role
has changed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3438
2005-03-26 03:50:14 +00:00
Nicholas Nethercote
b08a041b56 Use "VGO_" prefix for various OS-specific exports.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3437
2005-03-26 02:57:36 +00:00
Nicholas Nethercote
8853545f0f Use VGP_ prefix more consistently for platform-specific exports.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3436
2005-03-26 02:42:31 +00:00
Nicholas Nethercote
27066dbfc5 Don't use the VGP_ for profiling any more, just use VG_ -- we want to use
VGP_ for platform-specific things.  



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3435
2005-03-26 00:42:02 +00:00
Nicholas Nethercote
66b2b7d5ad Use "VGA_" prefix more consistently.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3434
2005-03-26 00:32:29 +00:00
Nicholas Nethercote
cb6c8b4bd2 Use "VGA_" prefix more consistently for arch-specific things.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3433
2005-03-26 00:18:45 +00:00
Nicholas Nethercote
0f0863110d Rename some arch-specific macros to use the more consistent "VGA_" prefix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3432
2005-03-26 00:04:03 +00:00
Nicholas Nethercote
bc95f773e8 Avoid compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3431
2005-03-25 23:50:11 +00:00
Nicholas Nethercote
ff514fd09b Rename M_VG_ERRTXT as VG_ERRTXT_LEN, which is more consistent with other
names.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3430
2005-03-25 23:47:16 +00:00
Nicholas Nethercote
f474d2e51a A modularisation + refactoring commit. vg_execontext.c has been split into
two halves: stacktrace.c, which deals with getting, traversing and printing
stack traces;  and execontext.c, which deals with storing stack traces
permanently in a way that avoids duplicates, and comparing them.

One nice outcome:  previously we were often creating ExeContexts, which live
forever, even when they were only needed temporarily.  Ie. this was a memory
leak, which has been removed.

As part of this, new headers have been created, carved off core.h and
tool.h.  Lots of function names have changed, too.

In Massif, I also changed a lot of "eip" names to "ip" to make them less
x86-specific.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3429
2005-03-25 23:35:48 +00:00
Julian Seward
2f61b2f293 setup_pointercheck(): be silent
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3428
2005-03-24 20:38:24 +00:00
Julian Seward
7e67ae71fd Initial get-threads-working patch (Tom Hughes)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3427
2005-03-24 19:38:57 +00:00
Nicholas Nethercote
ad4a2de3c3 Sync ACKNOWLEDGEMENTS with the CVS version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3426
2005-03-24 18:35:41 +00:00
Julian Seward
43e6c44681 Various amd64 syscall improvements (Tom Hughes)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3425
2005-03-24 17:52:02 +00:00
Julian Seward
cd44efd2cf A first cut at amd64 signal frame build/unbuild, from Tom Hughes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3424
2005-03-24 17:48:02 +00:00
Nicholas Nethercote
8bda11d0c1 Remove a couple of compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3423
2005-03-24 04:44:26 +00:00
Nicholas Nethercote
1826c24b7f Bah, get the compiler-warning avoidance right this time.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3422
2005-03-24 04:41:16 +00:00
Nicholas Nethercote
16f9a077c7 Avoid numerous compiler warnings by being more precise with REGPARM
attributes in declarations.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3421
2005-03-24 04:40:08 +00:00
Nicholas Nethercote
3f724359ac Avoid compile warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3420
2005-03-24 04:39:33 +00:00
Nicholas Nethercote
b15d9cae1a Track recent Vex change, in order to remove a compile warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3419
2005-03-24 04:35:11 +00:00
Nicholas Nethercote
70d6b30002 Avoid GCC warnings by adding necessary declarations for non-static
functions.

Also, renamed VALGRIND_INTERNAL_PRINTF() and internal_printf().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3418
2005-03-24 04:15:44 +00:00
Nicholas Nethercote
7a5c53d749 Use a macro to add declarations for functions like memcpy(), so that GCC
doesn't warn about missing declarations.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3417
2005-03-24 04:00:03 +00:00
Julian Seward
e0a92e30c3 Make the regtests buildable on amd64, by moving various x86 specific
programs to the right place.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3416
2005-03-23 13:32:27 +00:00
Julian Seward
76e2d21ef6 Wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3415
2005-03-23 13:31:48 +00:00
Julian Seward
4b0b87e6fd cachegrind/tests/myprintf needs -fPIC on amd64
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3414
2005-03-23 13:11:14 +00:00
Julian Seward
c0107bd421 Sort out amd64 issues.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3413
2005-03-23 13:10:32 +00:00
Julian Seward
2e5e444f34 amd64-linux build fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3412
2005-03-23 13:09:55 +00:00
Julian Seward
42bce07a58 More syscall fixes (Tom Hughes).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3411
2005-03-23 11:41:15 +00:00
Julian Seward
0d46389ab0 Fix a bunch of amd64 syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3410
2005-03-23 03:42:26 +00:00
Julian Seward
8366aee7e1 64-bit cleanness fix for command-line printing
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3409
2005-03-23 03:06:30 +00:00
Julian Seward
f8682ee14f PRE_(mmap2) and PRE(old_mmap): if not MAP_FIXED but addr != 0, don't
fail if we can't get addr; instead get something arbitrary.  This is
what SUSv3 requires.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3408
2005-03-23 02:53:13 +00:00
Nicholas Nethercote
6a687109c0 De-convolute somewhat the client request usage for reporting overlap errors.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3407
2005-03-22 04:27:14 +00:00
Nicholas Nethercote
e65bcc8d43 make function names more uniform
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3406
2005-03-22 04:02:43 +00:00
Julian Seward
cdb6df5b59 Track recent jmp_with_stack hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3405
2005-03-22 02:43:14 +00:00
Julian Seward
e964515010 Remove debug printing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3404
2005-03-22 02:29:22 +00:00
Julian Seward
10d241c300 Finally finish pissing around with jmp_with_stack. Now at least we
can get a startup on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3403
2005-03-22 02:03:09 +00:00
Julian Seward
9d7b4d9ae2 Mucho buggering about jmp_with_stack and its kin. Jeez. Now the
amd64 version is broken again.  Writing code with undocumented
assumptions should be a firable offense.  At the very least.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3402
2005-03-22 01:55:35 +00:00
Julian Seward
28650c3aa0 jmp_with_stack is a hack which makes no sense on archs which pass args
in registers.  Replace it (for amd64) with something more disciplined:
call_on_new_stack_0_0 and call_on_new_stack_0_1.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3401
2005-03-22 00:19:55 +00:00
Julian Seward
d156fe938e Horrible syscall-related hacks to make it at least compile on amd64.
Doesn't work yet.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3400
2005-03-21 17:43:34 +00:00