Julian Seward [Sat, 22 Oct 2011 09:29:41 +0000 (09:29 +0000)]
Change and simplify the way that Memcheck instruments saturating
narrowing operations. The previous scheme was simply wrong and could
cause false negatives, by causing some narrowing operations to have a
defined output even when the inputs are undefined. This was what
#279698 reported. This patch is a fix for that bug.
Bart Van Assche [Sat, 22 Oct 2011 09:21:24 +0000 (09:21 +0000)]
Ran configure.in through autoupdate:
- Replaced AC_CONFIG_HEADER() by AC_CONFIG_HEADERS().
- Replaced AC_TRY_LINK() by AC_LINK_IFELSE().
- Replaced AC_TRY_COMPILE() by AC_COMPILE_IFELSE().
- Removed AC_TYPE_SIGNAL because RETSIGTYPE isn't used anywhere.
Bart Van Assche [Sat, 22 Oct 2011 08:24:32 +0000 (08:24 +0000)]
XML output: escape XML-metacharacters in executable path and arguments. This is a modified version of the patch submitted by Evgeniy Stepanov <eugeni.stepanov@gmail.com>. See also #284621.
Julian Seward [Fri, 21 Oct 2011 06:16:27 +0000 (06:16 +0000)]
Cause the build to fail when man pages aren't built properly. At
present that doesn't happen. #272967, which is Debian bug 599563.
(Pierre Habouzit, madcoder@debian.org)
Julian Seward [Fri, 21 Oct 2011 04:59:56 +0000 (04:59 +0000)]
Debug printing only: when printing SB translation header lines,
print the object and SVMA too, so as to make it easy to find the
relevant bit of code by objdump -d of the object, even if the
function name is unknown. Also re-order some of the fields.
Florian Krohm [Fri, 21 Oct 2011 02:32:49 +0000 (02:32 +0000)]
Adapt the faultstatus.c testcase to work properly on systems with larger
page size. E.g. ppc64 running SLES 11 has 64k pages.
Patch by Maynard Johnson (maynardj@us.ibm.com) with small modification
to minimize source code changes. Fixes bugzilla #283709.
Florian Krohm [Thu, 20 Oct 2011 01:17:12 +0000 (01:17 +0000)]
Add missing filter scripts to Makefile.am so they are included in
the tarball generated by "make dist".
With this change running regtest from the tarball produces the same
results as a regtest on a checked out repository (on x86 that is).
Julian Seward [Wed, 19 Oct 2011 15:26:36 +0000 (15:26 +0000)]
Add test cases for PMULUDQ and PCMPEQQ. Duh -- in future, add test
cases at the end, since adding in the middle changes the random
data used for all tests that follow, and makes the diff huge.
Bart Van Assche [Fri, 14 Oct 2011 09:30:21 +0000 (09:30 +0000)]
Add insn_pclmulqdq regression test files to the distribution tarball even if the system on which the tarball has been generated does not support pclmulqdq
Florian Krohm [Sun, 9 Oct 2011 19:58:19 +0000 (19:58 +0000)]
This patch by Philippe Waroquiers, philippe.waroquiers@skynet.be
replaces r12124. His analysis of the testcase failure:
I think I understand what is happening: even if the ptrace invoker functionality
is not needed, the timeout to invoke might expire, which then leads
to a message produced by vgdb if ptrace is restricted by the kernel.
I think the best way to fix this is to add the option --max-invoke-ms=0 to vgdb.
Bart Van Assche [Fri, 7 Oct 2011 09:45:14 +0000 (09:45 +0000)]
memcheck/tests/unit_libcbase.c: Convert from old-style gcc designated
initializers to C99-style designated initializers. According to the gcc manual,
the former syntax is obsolete since gcc 2.5
(see also http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Designated-Inits.html).
Bart Van Assche [Fri, 7 Oct 2011 09:39:56 +0000 (09:39 +0000)]
Avoid that using any of the VALGRIND_DISABLE_ERROR_REPORTING,
VALGRIND_ENABLE_ERROR_REPORTING, VALGRIND_DO_ADDED_LEAK_CHECK,
VALGRIND_DO_CHANGED_LEAK_CHECK macros causes gcc 4.6 to print
a warning message about assigning a value to an unused variable.
Florian Krohm [Wed, 5 Oct 2011 03:29:57 +0000 (03:29 +0000)]
Attempt to unbreak this testcase on systems with GCC 4.5.1 and newer.
I suspect the breakage is related to GCC's debug info.
Replace initialization with explicit assignment statement.
Florian Krohm [Wed, 5 Oct 2011 03:09:01 +0000 (03:09 +0000)]
Change the filter order. Filename base backtrace filtering
must come first before the filename gets changed to bogus.S
This should unbreak the failure on x86_64. But I can't test it.
We shall see.
Florian Krohm [Wed, 5 Oct 2011 02:34:33 +0000 (02:34 +0000)]
Update exp files for memcheck's supp_unknown testcase.
Promote the s390x exp file to be the golden one because it has the
correct result. Add an exp-kfail file for those platforms where the testcase
fails (x86).
Florian Krohm [Tue, 4 Oct 2011 20:14:59 +0000 (20:14 +0000)]
Rewrite badjump and badjump2 such that the error occurs now on the
same line for all architectures.
Promote the s390x exp file to be the golden one because it has the
correct result. Add exp-kfail files for those platforms where the testcases
fail (x86).
Florian Krohm [Tue, 4 Oct 2011 03:55:04 +0000 (03:55 +0000)]
Fix execve2 testcase.
First, due to a typo in Makefile.am it was compiled with the wrong flags.
Secondly, the testcase gives an incorrect backtrace on x86 (missing the
line where the error occurs). Updated the generic exp to contain the
correct result and added exp-kfail for platforms where this test fails.
Florian Krohm [Tue, 4 Oct 2011 03:33:59 +0000 (03:33 +0000)]
Turns out there is at least one version of glibc tat contains
a file name writev.c. This screws our filename based backtrace
filtering. Rename writev to writev1 to avoid that problem.
Florian Krohm [Tue, 4 Oct 2011 03:15:38 +0000 (03:15 +0000)]
The testcases execve1 and fwrite actually fail on x86 in the sense that
they produce an incomplete backtrace. Added exp-kfail files to capture the
results with the incomplete backtraces. Updated the generic exp files.
Florian Krohm [Mon, 3 Oct 2011 23:39:54 +0000 (23:39 +0000)]
Improve filtering of backtrace noise in the memcheck bucket
and update exp files accordingly. This works well for x86
and all testcases pass on my machine.
New file filter_memcheck to do the work.
There is a bit of a ripple here as filter_memcheck requires
command line arguments to be passed in. So all users of
filter_memcheck (direct or indirect) were updated as well.
filter_stderr was simplified as was filter_libc.
Florian Krohm [Mon, 3 Oct 2011 23:05:56 +0000 (23:05 +0000)]
Rename testcase from execve to execve1.
The reason is that the point of failure is in glibc
in a file named execve.c The backtrace filtering
(which is filename based) cannot distinguish the
two execve.c file names. Renaming the testcsae does the
trick.