Add command line flag --trace-notabove which I've found handy.
There are 4 cases now:
(1) Neither --trace-notbelow nor --trace-notabove are given
No superblocks are traced (same behaviour as before)
(2) --trace-notbelow=YY is given
Superblocks in interval [YY ... ] are traced. (same behaviour as before)
(3) --trace-notabove=XX is given
Superblocks in interval [0 ... XX] are traced.
(4) Both --trace-notbelow=YY and --trace-notabove=XX are given
Superblocks in the interval [XX..YY] are traced
Removed some bugs that were marked invalid. I did not move them to NEWS
because I don't think we want to report those.
Moved some more from 3_7_BUGSTATUS to NEWS because they are marked as FIXED
in Bugzilla.
move the mips port bug entry from 3_7_BUGSTATUS.txt to NEWS
Note: a paragraph in PLATFORM CHANGES section of NEWS indicating
the addition of the MIPS port (and some details) would be good
(as this is a major change).
Florian Krohm [Fri, 29 Jun 2012 21:20:52 +0000 (21:20 +0000)]
Increase allowed size of a back-trace to 500 frames.
This limit is large enough for all practical purposes. It exists
only to sanity check the value specified with --num-callers.
Be frugal in record_ExeContext_wrk and only allocate on the stack
as many frames as needed.
Testcase included.
Petar Jovanovic [Wed, 27 Jun 2012 14:14:26 +0000 (14:14 +0000)]
Calculate the size of vki_elf_gregset_t via operator sizeof on MIPS platforms.
The value VKI_ELF_NGREG is now defined with the the help of operator sizeof.
Incorrect size triggered an assertion in the file coredump-elf.c.
The issue was reported as coredump problem at:
https://bugs.kde.org/show_bug.cgi?id=270777
Petar Jovanovic [Tue, 26 Jun 2012 11:30:18 +0000 (11:30 +0000)]
Adding README.mips to Valgrind root directory.
The file lists supported platforms and tools, and it gives suggestions how to
use configure options depending on platform and toolchain.
Previously, these instructions were available at:
https://bugs.kde.org/show_bug.cgi?id=270777.
Petar Jovanovic [Fri, 22 Jun 2012 13:44:04 +0000 (13:44 +0000)]
Initializing destination reg for MoveIns test for MIPS.
The test none/tests/mips32/MoveIns.c did not initialize destination register,
and that is important for movn.s and movn.d instructions. This improves the
test as we will get the same stdout with different compilers and options now.
Julian Seward [Fri, 22 Jun 2012 09:34:58 +0000 (09:34 +0000)]
Update these for Linaro's pre-release build of Ubuntu 12.04, with
Linaro gcc 4.6.3, running on an A9. Not sure why these need to be
updated, but they results are same as native on said platform, so am
not worried.
Petar Jovanovic [Thu, 21 Jun 2012 17:33:35 +0000 (17:33 +0000)]
Correcting sys_shmdt wrapper for MIPS Linux.
This patch fixes incorrect handling of sys_shmdt for MIPS. Linux wrappers have
been added for sys_sigprocmask, sys_timerfd_create, sys_timerfd_gettime, and
sys_timerfd_settime on MIPS.
The bug has been reported at https://bugs.kde.org/show_bug.cgi?id=270777 as
sh_mat issue, and it can be reproduced with shmat-sample.c from
https://bugs.kde.org/show_bug.cgi?id=222545.
The change also fixes sigprocmask from memcheck tests.
Petar Jovanovic [Tue, 19 Jun 2012 18:30:23 +0000 (18:30 +0000)]
Adding MIPS-specific wrapper for syscall pipe.
Syscall pipe returns two descriptors in two registers, and thus a generic
Linux wrapper is not sufficient. This fixes none/tests/fdleak_pipe.
MIPS port is currently tracked as bug #270777.
Bart Van Assche [Sun, 17 Jun 2012 08:46:32 +0000 (08:46 +0000)]
drd: Make sure that frame unwind information is generated for DRD intercepts
such that pthread_cancel() works properly. See also Ulrich Drepper, Cancellation
and C++ Exceptions, 2010 (http://udrepper.livejournal.com/21541.html).
Fix 203877 and 301229 increase to 16Mb maximum allowed alignment for memalign() and posix_memalign
Note that VG_(arena_memalign) is not used by core or tools for the moment.
We have one single maxima for both the V core/tools and the client.
Enhanced memcheck/tests/memalign2.c to test 4 Mb and 16 Mb alignments.
Julian Seward [Fri, 15 Jun 2012 16:20:23 +0000 (16:20 +0000)]
Add a hack (disabled by default) that attempts to unwind the stack on
ARM by simply scanning up and looking for words that look like they
might be return addresses. Last-ditch hack for when the CFI trail
goes cold.
Have the inner Valgrind registering the interim_stack asap.
This is needed to have the outer valgrind able to do stack
traces of the inner Valgrind before the main thread runs.
Without this, the outer crashes (segv) when doing a stack trace.
In mtV.txt, an ugly kludge was described to avoid this crash.
This is the clean solution replacing the kludge.
Fix assert in gdbserver for watchpoints watching the same address
GDB can create watchpoints watching the same address.
This was causing assertion failures.
To handle this, hash table (with key watched address) is replaced
by an xarray of address/lengh/kind.
Fully identical watches are ignored (either not inserted, and
not causing a problem if already deleted).
gdbserver_tests/mcwatchpoint enhanced to test duplicated watchpoints
CDSG needs quad word (16 byte) aligned data structures. Since the stack
on s390 has only 8 byte alignment gcc cant guarantee 16 byte alignment
for local variables. As a global variable gcc can do that.
Julian Seward [Tue, 5 Jun 2012 07:12:15 +0000 (07:12 +0000)]
Add macros I_REPLACE_SONAME_FNNAME_Z{U,Z} for general end-user use.
The I_WRAP_SONAME_FNNAME_Z{U,Z} equivalents have been present for
years. Seems inconsistent for the REPLACE versions to be missing.
Julian Seward [Sun, 3 Jun 2012 22:40:07 +0000 (22:40 +0000)]
m_machine: add new function VG_(machine_get_size_of_largest_guest_register)
cachegrind: use the new function to abort startup if the minumum line
size is smaller than the size of the largest guest register.
Partially derived from a patch by Josef Weidendorfer.
Julian Seward [Sat, 2 Jun 2012 23:48:06 +0000 (23:48 +0000)]
POWER Processor decimal FP support, part 5. (Valgrind side). Bug #299694.
(Carl Love, carll@us.ibm.com and Maynard Johnson, maynardj@us.ibm.com)
This patch adds support for Power Decimal Floating Point (DFP) . This
is the fifth patch set in the series of five to add the DFP
instruction support to Valgrind. Adds support for the ddedpd,
ddedpdq, denbcd, denbcdq, dtstsf, and dtstsfq instructions.