5138 Commits

Author SHA1 Message Date
Nicholas Nethercote
57e89eb92e update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6670
2007-03-26 23:45:19 +00:00
Nicholas Nethercote
ab3351f6a9 Fix bug 142197: don't free --toolname:foo options after they've been munged,
because tools should be able to assume that they are never freed, just like
other options.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6668
2007-03-26 23:38:42 +00:00
Nicholas Nethercote
b47fe70df1 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6667
2007-03-26 22:12:58 +00:00
Nicholas Nethercote
39c78c7e8b Fix 142488: don't read ./.valgrindrc if CWD==HOME.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6665
2007-03-26 22:05:30 +00:00
Julian Seward
839e8253e8 Add a variant of gsl16test which handles the newer gsl-1.9 package.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6664
2007-03-26 15:27:01 +00:00
Julian Seward
de95f78978 Add assertion + comment to a loop using VG_(getcwd).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6663
2007-03-26 15:23:20 +00:00
Julian Seward
37243a218c Update slightly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6659
2007-03-26 02:11:17 +00:00
Nicholas Nethercote
f79a3419f5 More info about the VEX changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6658
2007-03-22 20:58:50 +00:00
Julian Seward
953e3c3059 Don't build SSE3 tests if the configure test determined that the assembler
does not know about SSE3 instructions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6657
2007-03-22 12:13:13 +00:00
Nicholas Nethercote
38fd939a14 Clarify the "out of memory" message.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6656
2007-03-22 03:36:55 +00:00
Julian Seward
bf1ed2f464 Older assemblers don't speak SSE3. Add a configure test for it.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6655
2007-03-22 00:24:21 +00:00
Julian Seward
63d002a2cd Unbreak the build on ppc64-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6654
2007-03-21 02:27:38 +00:00
Julian Seward
14b9b8b8d2 Make ptrace-based launchers able to handle --help, --version etc.
Problem is that --help etc are handled by the tool exe.  But a
ptrace-based launch scheme can't run "no program" if the user just
types "valgrind --help" because the launcher depends on starting the
client first and only then attaching valgrind to it using ptrace.  So
instead provide a dummy do-nothing program to run when no program is
specified.  m_main notices this and acts as if there really had been
no program specified.

This has no effect at all on Linux/ELF program launching.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6653
2007-03-19 18:38:55 +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
458d626be4 Use a 64-bit counter to keep track of the total number of bytes
allocated, rather than SizeT which is word-sized.  Your average C++
lardware can easily turn over more than 4G in total in a half hour run
on a 32-bit machine, in which case the counter wraps around.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6649
2007-03-14 11:57:37 +00:00
Julian Seward
51c70bbf4c Back out r6640; I'm pretty sure it is the wrong thing to do now.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6648
2007-03-14 11:55:28 +00:00
Julian Seward
e69018fb34 Tidy up a lot
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6647
2007-03-12 15:10:59 +00:00
Julian Seward
2e31ef5380 More redhat8 suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6646
2007-03-12 14:53:58 +00:00
Julian Seward
3235d88de8 Add a test for vex ppc64 code generation bug fixed by vex r1739
(When generating 64-bit code, ensure that any addresses used in 4 or 8
byte loads or stores of the form reg+imm have the lowest 2 bits of imm
set to zero, so that they can safely be used in ld/ldu/lda/std/stdu
instructions.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6645
2007-03-12 02:10:23 +00:00
Julian Seward
34454d5464 Add a custom stderr filter for memcheck/tests/amd64/defcfaexpr.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6644
2007-03-12 01:29:31 +00:00
Julian Seward
bd78cc2d2e Add a test for int3 on x86 (from Peter Maydell)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6643
2007-03-12 00:42:26 +00:00
Julian Seward
599d74dcf0 Add a test for int3 on amd64 (from Peter Maydell)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6642
2007-03-12 00:27:30 +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
Julian Seward
e9a5b6ad4e It appears glibc-2.5's getenv() function steps along environment
strings in 16-bit chunks, which can cause false errors in some cases
(sigh).  So do the usual thing and replace it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6640
2007-03-11 13:00:34 +00:00
Nicholas Nethercote
ace4f264b9 wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6639
2007-03-10 02:27:44 +00:00
Nicholas Nethercote
4088968edd update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6638
2007-03-10 00:52:54 +00:00
Julian Seward
3c01396a56 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6637
2007-03-08 19:57:43 +00:00
Julian Seward
510e185899 Record which SuSE 10.1 packages are needed for a successful 'make dist'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6636
2007-03-08 19:56:58 +00:00
Julian Seward
54ccc6726a Generate valid XML (conforming to docs/internals/xml-output.txt) even
when VG_(name_of_launcher) is NULL.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6635
2007-03-08 19:56:14 +00:00
Julian Seward
5f8a2ddd11 Horrible hacks to make 'make dist' work properly. Previously it only
worked on systems when the configure script found a usable mpicc,
bizarrely.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6634
2007-03-08 01:52:37 +00:00
Tom Hughes
4c77a992dc Update bug status file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6633
2007-03-07 11:14:22 +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
317ceb5fe3 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6629
2007-02-28 14:10:43 +00:00
Julian Seward
9218c18f45 Add a regression test for unwind handling of DW_CFA_def_cfa_expression.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6628
2007-02-28 13:27:37 +00:00
Julian Seward
1907f8c209 Handle DW_CFA_def_cfa_expression; also DW_OP_mul.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6627
2007-02-28 13:03:27 +00:00
Julian Seward
142e2aedb7 Fill in a few more DWARF3 'expression' related cases.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6626
2007-02-28 01:46:30 +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
Nicholas Nethercote
6dc697c0e6 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6624
2007-02-27 22:31:45 +00:00
Julian Seward
046ec22beb Barf more elegantly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6623
2007-02-27 18:38:33 +00:00
Julian Seward
270b21426d Add .eh_frame gunk for VG_(amd64_linux_REDIR_FOR_vgettimeofday) and
VG_(amd64_linux_REDIR_FOR_vgettimeofday) so they can participate in
stack unwinding.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6622
2007-02-27 18:37:21 +00:00
Julian Seward
0cbff69f1c Make the leb readers 64-bit clean. That should guard against another
couple of decades of Moore's law.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6621
2007-02-27 17:43:43 +00:00
Julian Seward
9377cf0ea5 Add limited support for DWARF3 'expressions' in stack-unwind (CFI)
info (DW_CFA_def_cfa_expression, DW_CFA_expression,
DW_CFA_val_expression).  Mechanism to support all of these is in place
although only DW_CFA_val_expression is currently connected up.

This is really nasty.  The basic idea is to partially evaluate each
expression at the debuginfo-reading time by running it on a stack
machine in which each stack element is an expression tree.  If the
expression can be 'run' successfully, the tree (dag, really) remaining
at the top of the stack is massaged and put into the DiCfSI record for
that address range.  At unwind time the tree is evaluated if needed.
Such cases are in fact extremely rare and so the vast majority of
unwindings use the same mechanism as before.

As a result of all this:

* some obscure cases in glibc-2.5's libpthread.so unwind when they
  didn't before

* --debug-dump=frames produces identical output to that of readelf
  for libc-2.5.so and associated libpthread.so

* All the action centers around the new type CfiExpr, which is a
  union expression-tree type in the same style as IRExpr et al

* Many dark corners of the CFI reader have been looked at and
  (re-)validated



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6620
2007-02-27 16:52:23 +00:00
Julian Seward
0a28307fca VG_(addToXA): return index in the array where the item was added.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6619
2007-02-27 16:40:53 +00:00
Josef Weidendorfer
e06ac31db4 Callgrind: Fix potential buffer overruns with user provided strings
This introduces some macros to shorten the code for output of
strings to a file descriptor. I could use this a lot,
but this commit limits itself to the potential buffer overruns
(to ease backporting - provided we want to do this)

Heavy use of the macros probably blows up the code. Perhaps
it would be better to provide e.g. a VG_(write_str3) function
in the tool API.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6618
2007-02-26 00:16:09 +00:00
Julian Seward
9a4164c5f3 Comment-only change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6617
2007-02-25 17:13:19 +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