228 Commits

Author SHA1 Message Date
Florian Krohm
3bce85fd9f Fix syntax error
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12763
2012-07-19 18:16:49 +00:00
Florian Krohm
e78d930a09 Enable testing for the ETF3 facility.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12759
2012-07-19 14:35:55 +00:00
Julian Seward
3e344c57f6 Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mips-valgrind@rt-rk.com, Bug 270777.

Valgrind: changes to existing files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616
2012-06-07 09:13:21 +00:00
Julian Seward
3c1f7ebaa1 Fix breakage I introduced in r12609, sigh.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12610
2012-06-05 00:30:24 +00:00
Julian Seward
ad3493bed6 Add feature testing for AVX. Also make the return values into named
constants.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12609
2012-06-04 07:39:30 +00:00
Christian Borntraeger
abadfaacdc Fix machine detection on s390 to not bail out the regression
test on unknown systems.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12593
2012-05-29 11:02:28 +00:00
Florian Krohm
1f38919afa Avoid regtest failures on x86_64 and ppc64 when toolchains for the
seconday platform (x86 and ppc32, respectively) is not available.
Add -DVGA_SEC_xxxxx and -DVGP_SEC_... to the GCC command line
indicating that a seconday platform is supported. Make arch_test.c
recognise those flags.
Fixes bugzilla #296983.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12556
2012-05-06 03:51:00 +00:00
Philippe Waroquiers
2bd926a725 outer/inner setup: new perf/vg_perf options to run perf tests + support translation chaining in inner.
* perf/vg_perf:
Similarly to tests/vg_regtest, perf/vg_perf now accepts the 3 
optional arguments:
    --outer-valgrind
    --outer-tool
    --outer-args

This allows easy analysis or comparison of performance between
different Valgrind versions (e.g. using callgrind, or cachegrind/cg_diff).

* See README_DEVELOPERS for more details.

* vg_regtest modified so as to use the 'in-place' build of inner, rather
  than the installed version.

* added option --smc-check=all-non-file to vg_perf and vg_regtest 
  outer default arguments (needed when evaluating a Valgrind which does
  translation chaining).




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12496
2012-04-08 19:52:38 +00:00
Julian Seward
d2ca761361 Initial support for POWER Processor decimal floating point
instruction support -- VEX side changes.  See #295221.

This patch adds test cases.  Also adds some minor Memcheck
instrumentation tweaks necessitated by the IR changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12476
2012-04-02 10:22:05 +00:00
Philippe Waroquiers
aa50a7e4df Allows to run regression tests in an outer/inner setup.
A '3 lines how to':
   perl tests/vg_regtest --outer-valgrind=../trunk_untouched/install/bin/valgrind --all
           (the outer results for a test xxx is in xxx.outer.log)
   To run with another tool (e.g. drd), add the argument --outer-tool=drd


Still to do/things to improve:

* Most (inner) tests are successful when running under an outer
  memcheck. Need to analyse the reasons of remaining failures.

* The memcheck annotations in m_mallocfree.c can be improved:
  - A superblock is marked 'undefined', it should rather be marked
    'no access'.
  - When a free block is splitted, the remaining free block is
    not made 'no access'. Instead, it is made 'undefined'.
      => this decreases the chance to find bugs.
      => this is not very efficient (e.g. the rest of a superblock
         is often marked undefined repetitively).
    Similarly, the free block created by VG_(arena_memalign)
    is marked 'undefined'. 'No access' would be preferrable.
  - mkInuseBlock marks the new block as undefined. This is probably
    not needed, as VALGRIND_MALLOCLIKE_BLOCK will do it already.
  - VG_(arena_malloc) should give the requested size to
    VALGRIND_MALLOCLIKE_BLOCK, not the malloc usable size,
    as this decreases the chance to find buffer overrun bugs.
    But giving the requested size is tricky (see comments in
    the code).

* need to do memcheck annotations in m_poolalloc.c
   so as to allow leak checking for pool allocated elements.

* vg_regtest.in
  - should analyse the results of the outer and should
    produce a separate result for the tests for which
    the outer detects an error or a memory leak or ...


Changes done:
   README_DEVELOPERS: document the new outer/inner features.
   manual-core.xml: document the new sim-hint no-inner-prefix
   tests/outer_inner.supp: new file, containing the suppressions for inner.
   vg_regtest.in: implement new args --outer-valgrind, --outer-tool, --outer-args.
   m_mallocfree.c: annotations for memcheck.
   m_libcprint.c: handle the new sim-hint no-inner-prefix
   m_main.c: do an (early) parse of --sim-hints




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12441
2012-03-11 22:24:03 +00:00
Florian Krohm
aae83277bc Update platform_test. Add s390x-linux. Remove AIX.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12259
2011-11-06 22:43:33 +00:00
Florian Krohm
c87d506673 Add some more missing files to the tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12218
2011-10-23 14:30:08 +00:00
Bart Van Assche
b89d16e2ba Check Makefile.am consistency before running regression tests. Closes #283813.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12214
2011-10-23 12:14:51 +00:00
Florian Krohm
8b79b3956f Filter out more warnings (Dwarf reader and debug info).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12180
2011-10-20 20:37:46 +00:00
Florian Krohm
ad7a355b4a 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.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12091
2011-10-03 23:39:54 +00:00
Florian Krohm
a84d8c766f Also parse stdoutB_filter_args and stderrB_filter_args.
Forgot to do that in r12045.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12085
2011-10-03 00:19:05 +00:00
Florian Krohm
387089d67d Change the backtrace filtering machinery for the helgrind regression
bucket. Instead of removing what we don't want to see in a backtrace
(e.g. path segments through libc and libpthread), we simply keep what
we do want to see. That way .exp files can be generic.
We need to make sure that GCC inlining does not get in the way. So all
the ..._WRK function in hg_intercepts.c are attributed as noinline.
The backtrace filtering is done in the new filter_helgrind script.
filter_stderr is simplified quite a bit.
Fixes bug #281468. See also the comments #5 and #6 there.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12045
2011-09-26 00:29:44 +00:00
Florian Krohm
c9c6767b83 Fix prerequisite for memcheck/tests/linux/timerfd-syscall.
The testcase was executed despite uname -r being 2.6.9-42.EL
Extend tests/os_test.c to take an optional 2nd argument
which is a minimum version number. Use os_test in the
prerequisite expression.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11954
2011-07-31 03:22:45 +00:00
Florian Krohm
5747998699 Allow optional specification of cpu models on the command line
and test whether the host machine matches one of those. This is
needed  to fix Bug #271776.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11862
2011-07-07 22:09:41 +00:00
Julian Seward
ad7de5b336 Delete the AIX5 port. The last release this worked for is 3.4.1,
and then only on AIX 5.2 and 5.3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11842
2011-06-28 07:25:29 +00:00
Julian Seward
2184f38863 s390x: add test cases for STCK{,E,F} instructions. See #271779.
(Christian Borntraeger <borntraeger@de.ibm.com> and Divya Vyas)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11766
2011-05-17 16:19:53 +00:00
Julian Seward
b37b05d214 Improvements for testing and compilation breakage for the GDB server
on various platforms:

* In all gdbserver_tests using gdb:
  Made a more general way to remove the initial start message.

* tests using threads burning cpu modified to have only 1 thread.
  This makes them independent of the scheduler fairness.

* filter_gdb and filter_vgdb enhanced to anonymise
    some debian 6.0/ppc specific things
    some s390x/gdb 7.0, gdb 7.1  specific things

* vgdb.c: added an #include <linux/ptrace.h> to fix compilation
  on s390x fedora and suse. (Christian Boerntrager)

* fixed a bug in valgrind-low.c debug log :
  when a register size is 0, its image cannot be output (and register
  should not be transferred).

* added a parameter --keep-unfiltered to vg_regtest.in
  This will make it easier to update filter_gdb:
  in case gdbserver_tests are failing due to "artificial"
  differences to be filtered, re-run the tests using:
     perl tests/vg_regtest --keep-unfiltered gdbserver_tests
  Then a tar file with all the *.out in gdbserver_tests
  will allow me to better/faster update the filter_gdb.

* made a better detection of a working PTRACE_GETREGS at compile time
  and/or at run-time.

This is the patch on bug 214909 comment 69.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11740
2011-05-10 11:01:07 +00:00
Julian Seward
2ee9e90486 Implement a GDB server in Valgrind. See #214909.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727
2011-05-06 21:02:55 +00:00
Julian Seward
438a573452 Mark this as executable. Followup for #267630.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11698
2011-04-15 12:33:14 +00:00
Julian Seward
8dd8315914 Add support for IBM Power ISA 2.06 -- stage 1. Valgrind-side changes
and test cases. Bug #267630 and followup fix #270794.
(Maynard Johnson, maynardj@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11697
2011-04-15 11:57:05 +00:00
Julian Seward
6107fd666c Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind
side components. (Florian Krohm <britzel@acm.org> and Christian
Borntraeger <borntraeger@de.ibm.com>).  Fixes #243404.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604
2011-03-07 16:05:35 +00:00
Julian Seward
395293f5de Add build system goop for testing SSE4.2 instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11499
2011-01-17 11:15:48 +00:00
Julian Seward
7fe3927ff5 Test cases for amd64 PCLMULDQ (Emmanuel Thome, Emmanuel.Thome@gmail.com).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11389
2010-09-28 19:59:47 +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
Bart Van Assche
5c9590f939 Expand ${PWD} in the vgopts: line of .vgtest files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11311
2010-08-31 15:15:35 +00:00
Julian Seward
6281d1a2d9 Add the ability to detect "amd64-lzcnt" and "x86-lzcnt".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11245
2010-07-30 15:07:42 +00:00
Nicholas Nethercote
6195f17db1 Replace the handful of uses of Vg_ExtraDebugMsg and VG_(emsg) with
Vg_DebugMsg and VG_(dmsg).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11210
2010-07-06 04:21:47 +00:00
Julian Seward
2fdbac6f0c Update arch_test.c properly for arm-linux, and add an entry to
platform_test.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11007
2010-01-04 10:31:41 +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
Nicholas Nethercote
5dfe01a847 With the recent VG_(message) change,
VALGRIND_{PRINTF,PRINTF_BACKTRACE,INTERNAL_PRINTF} were no longer appending
newlines.  This meant that --trace-malloc=yes spewed everything onto a
single line, among other things.

Rather than adding the newline back in, I chose to offically change their
behaviour to not add the newlines, as this is more flexible (and the reason
for the underlying VG_(message) change).  I updated all the relevant places
I could find.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10694
2009-08-03 01:38:56 +00:00
Nicholas Nethercote
a3fe17b34b Print the command being run at startup. It wraps to avoid going over 80
chars wide whenever possible.  Finishes off bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10657
2009-07-29 23:34:49 +00:00
Nicholas Nethercote
fb2fa41714 Add Valgrind version back into the preamble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10572
2009-07-24 04:47:04 +00:00
Nicholas Nethercote
75b92a2ec9 Shorten the preamble by moving some of it into the --help output. This
partly fixes bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10451
2009-07-14 06:55:05 +00:00
Bart Van Assche
1f3866629f Updated filter after the modification of Valgrind's startup message in r10447.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10448
2009-07-14 06:31:26 +00:00
Nicholas Nethercote
5715955132 Fix a couple of tests that could be built with the wrong options, including
the -m32/-m64 option.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10440
2009-07-13 22:20:00 +00:00
Julian Seward
e818cd9481 Only run none/tests/amd64/bug127521-64 on machines supporting cmpxchg16b.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10433
2009-07-12 13:17:18 +00:00
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
07045477ca Merge the DARWIN branch onto the trunk.
I tried using 'svn merge' to do the merge but it did a terrible job and
there were bazillions of conflicts.  So instead I just took the diff between
the branch and trunk  at r10155, applied the diff to the trunk, 'svn add'ed
the added files (no files needed to be 'svn remove'd) and committed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156
2009-05-28 01:53:07 +00:00
Nicholas Nethercote
5e249a1ba4 Merge r9897 (x86_amd64_features.c simplifcation) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9898
2009-05-18 06:23:25 +00:00
Nicholas Nethercote
4150356821 Merge part (filter tweaks) of 8943 from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9893
2009-05-18 05:29:41 +00:00
Nicholas Nethercote
d834611463 Merge r9600 (separate VG_ and ML_ definitions for C and asm files) from the
DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9601
2009-04-24 04:57:07 +00:00
Nicholas Nethercote
dcea4e928e Removed some Darwin-specific code that crept in from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9599
2009-04-24 04:28:15 +00:00
Nicholas Nethercote
52cf1f5f05 Merge r9103 and r9105 (add --ignore-fn to Massif) from the Darwin branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9567
2009-04-17 04:26:41 +00:00
Nicholas Nethercote
13e765c304 Merged r9546..r9548 (moved blockfault, and filtering fixes) from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9549
2009-04-15 07:11:36 +00:00
Nicholas Nethercote
e230aa9551 These three files should have been added in r9537.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9544
2009-04-15 05:35:00 +00:00