1272 Commits

Author SHA1 Message Date
Tom Hughes
f4ef177f4f When a memory block changes from unreachable to possibly or definitely
reachable, or from possibly reachable to definitely reachable, rescan
it so that any blocks it points to are also upgraded. Fixes #206600.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11395
2010-10-04 20:55:21 +00:00
Julian Seward
d4a4b32e72 Don't assert when doing origin tracking for d16-31, f32-63
or q0-15.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11390
2010-09-29 21:40:44 +00:00
Julian Seward
4d88144c11 When origin tracking, handle the new %RFLAGS.ACFLAG guest state
component introduced in vex r2050.  See #249943.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11388
2010-09-28 16:00:11 +00:00
Julian Seward
70a3472d66 Partially make this work on arm-linux (for 32-bit incs), so as to give
a proper test for LDREX/STREX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11378
2010-09-24 23:51:17 +00:00
Julian Seward
06d2a1e039 Enable --track-origins on ARM code which accesses CPSR.GE3/2/1/0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11373
2010-09-22 22:27:41 +00:00
Julian Seward
93a35b014f Handle new 32-bit SIMD integer primops introduced in vex r2037.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11371
2010-09-22 00:58:51 +00:00
Bart Van Assche
75ac57dc3a Made timerfd-syscall test more robust by improving the time rounding algorithm.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11368
2010-09-19 17:21:31 +00:00
Bart Van Assche
3169936a1b Fixed a typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11367
2010-09-19 17:16:39 +00:00
Bart Van Assche
e7b5c2eb6e memcheck/tests/linux/timerfd-syscall: send output to stderr instead of stdout.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11366
2010-09-19 17:13:53 +00:00
Bart Van Assche
006b3b1228 PowerPC: added expected output files for memcheck/tests/varinfo[1-6], based
on a patch supplied by Maynard Johnson. See also #247526.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11364
2010-09-18 13:34:23 +00:00
Bart Van Assche
94e48485ec PowerPC: corrected expected output for memcheck/tests/origin5-bz2. Patch
supplied by Maynard Johnson -- see also #247526.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11363
2010-09-18 10:45:27 +00:00
Bart Van Assche
2382e79f3d Avoid triggering AM_CFLAGS / AM_CXXFLAGS redefinition warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11356
2010-09-13 17:44:51 +00:00
Julian Seward
e6d2a8b34e Fix a couple of make-dist bugs, caused by recently added ppc32/64
tests.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11352
2010-09-10 14:57:46 +00:00
Julian Seward
9287d802b4 Add tests for new PowerISA_2.05 instructions available on Power6 CPUs.
(Maynard Johnson, maynardj@us.ibm.com and Pete Eberlein, eberlein@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11338
2010-09-03 23:49:33 +00:00
Julian Seward
a96d8cb715 Make the leak tests a whole lot less flaky on ppc32/64-linux by
zeroing out caller saves registers before the leak check.  We should
really do this on all platforms, not just these.
(Maynard Johnson, maynardj@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11336
2010-09-03 15:14:41 +00:00
Bart Van Assche
e9f89f7e28 Updated expected output. The output changed because of r11320.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11321
2010-09-02 10:52:54 +00:00
Bart Van Assche
6de75283c0 Improved support for VALGRIND_MALLOCLIKE_BLOCK in memcheck: error
messages printed for client-annotated blocks do now include a correct
address description. Closes #237371.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11320
2010-09-02 10:24:49 +00:00
Bart Van Assche
6633b3b908 The client requests defined in memcheck.h can now be invoked from programs compiled with the Microsoft C compiler too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11319
2010-09-02 09:41:52 +00:00
Bart Van Assche
35eece7dd5 Added command-line option --prefix-to-strip=... Closes #245535.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11312
2010-08-31 15:18:32 +00:00
Bart Van Assche
04eca8b9d6 Updated memcheck/tests/Makefile.am.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11297
2010-08-27 10:55:04 +00:00
Bart Van Assche
faffc9a902 Filter out lines that differ between x86 and ppc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11296
2010-08-27 10:52:40 +00:00
Bart Van Assche
8122b2aaef Added new memcheck command-line option --show-possibly-lost. Closes #201170.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11292
2010-08-26 10:56:27 +00:00
Julian Seward
d866af8d34 Change the replacement for memcpy to a vectorised version that does
word copies whenever possible.  This drastically reduces the number of
memory references Memcheck has to process and speeds up a test program
that does repeated memcpys of large blocks by a factor of 4 or more.
Also add a vectorised version of memset.

The memcpy version is also constructed with a view to be used in
exp-ptrcheck, so it can copy areas of memory without losing
pointer-identity shadow data, as happens when doing all copies at a
byte granularity.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11288
2010-08-24 09:05:52 +00:00
Julian Seward
58d26cc998 Merge from branches/THUMB: add (partial) --track-origins support for
new guest state components needed for Thumb and NEON support.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11282
2010-08-22 12:16:25 +00:00
Julian Seward
5e6248c7ed Merge from branches/THUMB: tool-side handling of new primops required
for NEON support.  Requires further checking.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11277
2010-08-22 11:54:14 +00:00
Julian Seward
b2113a567d Add in comments a (validated) strspn replacement, should it become
necessary.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11270
2010-08-20 18:24:16 +00:00
Julian Seward
9a8dd3161a Add intercepts for strstr, strpbrk, strcspn. These are needed for
glibc-2.11 when running on SSE4-enabled (virtual) CPUs, for the usual
reason: to avoid ultra-optimised routines using the SSE 4.2 PCMPxSTRx
instructions.  I would not be surprised if it turned out that strspn
was required, but I haven't seen a need for it so far.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11268
2010-08-19 13:22:34 +00:00
Julian Seward
1ec3c376a6 Track vex r2001 (initial PCMPISTRI support):
* handle new pseudo-reg XMM16 in memcheck/mc_machine.c

* run_thread_for_a_while: assert that the amd64 XMM guest reg array
  has no holes and the elements are the right size, so that the
  (PCMP)ISTRI_* helpers can treat it as an array.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11249
2010-08-06 08:01:47 +00:00
Bart Van Assche
229c4c92b3 Follow-up for r11191: made this test pass again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11248
2010-07-31 13:37:58 +00:00
Bart Van Assche
4a91cb990c Passes now when compiled with gcc 4.5.x too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11247
2010-07-31 13:13:53 +00:00
Julian Seward
af6f731ae8 Make the --workaround-gcc296-bugs kludge take into account the stack
redzone size.  Fixes #238208.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11217
2010-07-21 12:46:44 +00:00
Julian Seward
ee41ec86f0 Try to fix 'make dist' -- possible fallout from r11188.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11213
2010-07-15 13:05:42 +00:00
Nicholas Nethercote
11f94ef626 Make error messages at start-up more consistent. Every line of such
messages now begin with "valgrind: ", and they're more often printed before
the preamble.  This required introducing a new message kind, Vg_FailMsg, and
functions VG_(fmsg) and VG_(fmsg_bad_option), and removing
VG_(err_bad_option).

Where we used to have horrible output like this:

    [ocean:~/grind/ws2] vg5 --tool=massif --threshold=101 date
    ==31877== Massif, a heap profiler
    ==31877== Copyright (C) 2003-2010, and GNU GPL'd, by Nicholas Nethercote
    ==31877== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
    ==31877== Command: date
    ==31877== 
    ==31877== --threshold must be between 0.0 and 100.0
    valgrind: Bad option '--threshold'; aborting.
    valgrind: Use --help for more information.

We now have nice output like this:

    [ocean:~/grind/ws2] vg2 --tool=massif --threshold=101 date
    valgrind: Bad option: --threshold=101
    valgrind: --threshold must be between 0.0 and 100.0
    valgrind: Use --help for more information or consult the user manual.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11209
2010-07-06 04:05:23 +00:00
Nicholas Nethercote
fb6d1e0427 Fix various bits of regtest breakage on amd64-linux caused by the MACOSX106
merge.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11199
2010-07-01 01:09:42 +00:00
Nicholas Nethercote
2086d71421 Remove a bogus header file listing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11197
2010-07-01 00:37:46 +00:00
Nicholas Nethercote
5fcd51035e Add a missing filter_stderr file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11196
2010-07-01 00:34:54 +00:00
Nicholas Nethercote
6fd0eb7b07 Merged the MACOSX106 branch to the trunk. Merge command:
svn merge -r11143:HEAD svn://svn.valgrind.org/valgrind/branches/MACOSX106

There were some easy-to-resolve conflicts.

Then I had to fix up coregrind/link_tool_exe*.in -- those files had been
added independently on both the trunk and the branch, AFAICT.  I just
overwrote the trunk versions with the branch versions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11194
2010-07-01 00:20:20 +00:00
Julian Seward
b946fac47a Handle new primop Iop_RoundF32toInt, needed by SSE4 ROUNDSS (vex
r1986).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11189
2010-06-27 09:08:54 +00:00
Julian Seward
1ce6a7eda5 Valgrind-side changes needed to go with vex r1984 (Implement SSE4
insns: CMPGTQ PMAXUD PMINUD PMAXSB PMINSB PMULLD)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11181
2010-06-18 08:18:38 +00:00
Julian Seward
05124264b0 Remove link_tool_exe.c and replace it with perl scripts that do the
same thing.  A .c file doesn't work for cross compilation.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11174
2010-06-13 22:13:58 +00:00
Julian Seward
c46347280b Add a new program (link_tool_exe.c) and use this to link the tool
executables.  Gets rid of the linker script kludgery and uniformly
uses -Ttext=0x38000000 (or whatever) on Linux, so as to accomodate
both traditional ld and gold.  Should fix #193413 although I have
been unable to test it.  Using a whole new program seems like
overkill, but this is infrastructure to support static linking of
the tool executables on MacOS too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11141
2010-06-02 00:31:34 +00:00
Julian Seward
9b0574dff8 Update copyright dates to 2010.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121
2010-05-03 21:37:12 +00:00
Julian Seward
96b3024832 Fix handling of mprotect so as to be more consistent with the handling
of mmap.  Fixes #205541 and its dup #210268.  The fix is simple enough
but the analysis is a bit complex, as detailed in comments.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11031
2010-01-27 10:28:00 +00:00
Julian Seward
dab35973c5 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11022
2010-01-08 10:51:25 +00:00
Julian Seward
db42582f80 Analysis/make-it-work for arm-linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11014
2010-01-04 12:10:24 +00:00
Julian Seward
3c1644f476 Enable origin tracking through arm VFP registers; was apparently
previously not enabled only due to brain-deadness on my part.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11012
2010-01-04 11:48:19 +00:00
Julian Seward
3322cbe3a1 Handle Iop_SqrtF32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11001
2010-01-03 22:29:32 +00:00
Julian Seward
2d7fcf0f82 Make sure the Memcheck tests are built on arm-linux using hardware
floating point, since the softfloat results are way different from the
hardware one (not to mention, V reports lots of accesses-below-the-SP
in the softfloat helper functions.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10999
2010-01-03 21:24:09 +00:00
Julian Seward
7f0663010b Disable this test (effectively) on arm-linux, since that uses
sys_rt_sigprocmask and not the Aulde Fashionede sys_sigprocmask.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10997
2010-01-03 16:10:14 +00:00
Julian Seward
e9de458500 Merge from branches/ARM, all parts of the ARM-Linux port except for
the changes to do with reading and using ELF and DWARF3 info.
This breaks all targets except amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982
2010-01-01 11:59:33 +00:00