Commit Graph

68 Commits

Author SHA1 Message Date
Philippe Waroquiers
66bc0e6f56 Undo void change done as part of rev 13329
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13330
2013-03-18 22:51:57 +00:00
Philippe Waroquiers
b5c064dfea Better fix for 295590
(problem reported in bug 307082, comment 8).
Solution applied is similar to what is in 307082 patch
(i.e. do not destroy the internal helgrind var if nWaiters > 0).
But also do not remove it from the FM.

+ add a test case (re-using the drd test case)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13329
2013-03-18 22:48:22 +00:00
Julian Seward
07e9d64e18 Clang complains that "fist" is ambiguous (it's right, too); use
"fists" instead.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12834
2012-08-04 23:10:23 +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
Nicholas Nethercote
86be4a7cf3 Update .exp files for r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10784
2009-08-12 00:14:44 +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
0ebee25c3e Merge r9324 (bug152022 portability fix) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9917
2009-05-19 01:17:09 +00:00
Nicholas Nethercote
b46800c8b7 Merge r9614 (make more_x86_fp compile on darwin) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9651
2009-04-27 22:50:26 +00:00
Nicholas Nethercote
78a2b63b4c Merge r9621 (move int3-x86 into x86-linux/) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9623
2009-04-25 03:17:22 +00:00
Nicholas Nethercote
10ef1684d8 Merge r9619 (fix more_x86_fp on Darwin) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9620
2009-04-25 00:07:37 +00:00
Nicholas Nethercote
3faa928027 Unbreak pushfpopf on Linux.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9617
2009-04-24 23:49:58 +00:00
Nicholas Nethercote
8563ddc39b Merge r9612 (make pushfpopf work on Darwin) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9613
2009-04-24 21:49:11 +00:00
Nicholas Nethercote
32bd1a00c2 Merge r9610 (AM_CCASFLAGS tweaks for test Makefiles) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9611
2009-04-24 20:17:07 +00:00
Nicholas Nethercote
97a1106e27 Merge r9605 (make tronical work on Darwin) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9606
2009-04-24 07:24:05 +00:00
Nicholas Nethercote
3b383dab10 Merged r9602 and r9603 (make cpuid pass on Darwin, rename .s files to .S)
from the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9604
2009-04-24 07:12:39 +00:00
Nicholas Nethercote
1d78658d98 Merged r9543 (make xor-undef-x86 work on Darwin) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9545
2009-04-15 05:38:42 +00:00
Nicholas Nethercote
f3f801ed48 Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9537
2009-04-15 03:12:43 +00:00
Nicholas Nethercote
4c23a0b3e9 tests/arch_test is currently being used for two purposes:
- by vg_regtest for determining if a directory name matches an architecture;
- by various .vgtest files for detecting x86/AMD64 features.

This commit splits it in two for the two different purposes, which makes
things clearer.

Specific changes

- Moved the x86/AMD64 feature detection stuff out of arch_test.c, and
  into the new x86_amd64_feature.c.  Updated the relevant .vgtest files for
  the change.

- In vg_regtest, now a prereq command must return 0 (prereq satisfied) or 1
  (prereq not satisfied).  Anything else makes vg_regtest abort.  This
  makes obvious any problems with prereq tests rather than just making the
  tests skip innocuously.  (We previously had exactly such a problem on the
  DARWIN branch;  the x86 feature detection tests caused segfaults so the
  tests were incorrectly skipped.  This change will catch any similar future
  problem.)

- Changed os_test from a script to a C program, matching cpu_test.

- Removed some unintentional darwin stuff from platform_test.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9316
2009-03-04 04:15:16 +00:00
Nicholas Nethercote
23f6e50aac Move memcheck/tests/x86/bug133694 into memcheck/tests/x86-linux -- it uses
MAP_FIXED and so is highly unportable, and doesn't work on x86/Darwin.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9259
2009-02-25 04:20:54 +00:00
Nicholas Nethercote
de920a14ce A few more test/build changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9228
2009-02-23 01:33:40 +00:00
Nicholas Nethercote
c8d150dbaa Various build system clean-ups and simplifications:
- Created Makefile.tool-tests.am, put standard AM_CFLAGS et al for tests in
  it.
- A number of tests are shared between Helgrind and DRD.  They used to be
  built in both directories.  Now they are only built in helgrind/tests/,
  and the DRD .vgtest files just point to the executable in helgrind/tests/.
  Most of these (about 30) had the source files in helgrind/tests/;  I moved
  the three that were in drd/tests/ into helgrind/tests/ for consistency.
- Fixed rwlock_test, which was failing to run due to a wrong name in the
  .vgtest file.
- Removed remnants of unused 'hello' test for Memcheck.
- Avoided redundant flag specification in various places, esp.
  memcheck/tests/Makefile.am.
- Removed unnecessary _AIX guards in some Linux-only tests.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9202
2009-02-19 09:52:05 +00:00
Nicholas Nethercote
108768ee98 Merge r9175 (don't run inappropriate OS- and platform-specific tests) from
the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9176
2009-02-16 00:42:10 +00:00
Nicholas Nethercote
53b147dfb8 Create memcheck/tests/x86-linux/ and move some platform-specific tests (the
scalar* ones) into it.  Partial merge from DARWIN branch, r8943.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8974
2009-01-19 03:16:59 +00:00
Julian Seward
e33553414e Add a regression test for fxsave.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8019
2008-05-09 21:38:12 +00:00
Julian Seward
cf46146797 Add a test case for #157748.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8018
2008-05-09 19:46:55 +00:00
Julian Seward
f35eb37648 Update expected outputs following merge of branches/OTRACK_BY_INSTRUMENTATION.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7985
2008-05-01 22:34:16 +00:00
Julian Seward
7cf42600a1 Add a regression test for #152022.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7159
2007-11-15 22:33:32 +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
43fcd4e09e Make sse1-friendly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6525
2007-01-16 20:01:15 +00:00
Julian Seward
0bdcfd7702 Add tests to check that memcheck does not give a false error for 'xor
%reg,%reg' (in various forms) when %reg contains undefined data.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6524
2007-01-16 19:15:19 +00:00
Julian Seward
7299831d35 Add a regtest for the false-uninitialised-value-report bug fixed by
vex r1675.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6354
2006-11-14 18:36:02 +00:00
Julian Seward
4b572a567e Create a new module, m_vkiscnums, and move all the system call numbers
into that.  Mostly this means moving vki_unistd-<plat>.h to
include/vki/vki-scnums-<plat>.h.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6224
2006-10-14 15:51:32 +00:00
Julian Seward
5c4ca35185 Add a regtest for #133694 (munmapping of segments below
aspacem_minAddr).  (Tom Hughes)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6050
2006-09-11 20:14:21 +00:00
Julian Seward
dee9992c32 Update expected output following vex r1619.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5909
2006-05-21 12:18:16 +00:00
Julian Seward
9c6a78154e Yet more messing with masking approximate results.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5902
2006-05-13 02:20:11 +00:00
Julian Seward
436b6ebcdd Apparently Intel's rcpps etc approximations are more approximate than
AMD's.  Kludge everything accordingly.  Sigh.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5900
2006-05-13 01:32:41 +00:00
Julian Seward
40f0baa4ff Update expected results following change in r5898.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5899
2006-05-13 00:34:52 +00:00
Julian Seward
35b78ba27f Test x86 {push,pop}{w,l}.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5891
2006-05-12 14:24:18 +00:00
Nicholas Nethercote
3d12e0e9db Terminology change: previously in Memcheck we had the four states:
noaccess, writable, readable, other

Now they are:

   noaccess, undefined, defined, partdefined

As a result, the following names:

   make_writable, make_readable,
   check_writable, check_readable, check_defined

have become:

   make_mem_undefined, make_mem_defined,
   check_mem_is_addressable, check_mem_is_defined, check_value_is_defined

(and likewise for the upper-case versions for client request macros).
The old MAKE_* and CHECK_* macros still work for backwards compatibility.

This is much better, because the old names were subtly misleading.  For
example:

  - "readable" really meant "readable and writable".
  - "writable" really meant "writable and maybe readable, depending on how
    the read value is used".
  - "check_writable" really meant "check writable or readable"

The new names avoid these problems.

The recently-added macro which was called MAKE_DEFINED is now
MAKE_MEM_DEFINED_IF_ADDRESSABLE.

I also corrected the spelling of "addressable" in numerous places in
memcheck.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802
2006-03-31 11:57:59 +00:00
Nicholas Nethercote
991367c922 Merge in the COMPVBITS branch to the trunk. This is a big change to
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.

For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.

At the same time, Addrcheck is removed.  It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around.  Hooray!

Nb: this code hasn't been tested on PPC.  If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791
2006-03-27 11:37:07 +00:00
Julian Seward
c63a2f2e3b Add a check for fsincos.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5610
2006-02-04 15:43:14 +00:00
Julian Seward
b8904fc241 Yet more x86 instruction tests, mostly aimed at wierd/transcendental
x87 insns.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5609
2006-02-04 15:26:11 +00:00
Julian Seward
7cc6a0d482 More __libc_start_main -> "(below_main)" changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5564
2006-01-19 04:33:39 +00:00
Julian Seward
c9ce29cc18 Also do sse memory overrun tests on x86.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5467
2006-01-01 15:22:16 +00:00
Tom Hughes
0559acb82e Last of the __libc_start_main fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5188
2005-11-18 09:39:09 +00:00
Tom Hughes
ef88a060c3 Update some expected results in line with Julian's fix to stop
tracing the stack at __libc_start_main.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5183
2005-11-18 09:03:47 +00:00
Julian Seward
3906739a17 A couple of these syscalls fail differently when running on an amd64
in 32-bit mode.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5158
2005-11-17 03:08:16 +00:00
Tom Hughes
8abba99aa0 Run instruction tests under memcheck as well as none.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5094
2005-11-12 15:46:17 +00:00
Tom Hughes
8cc5ae14db Allow 32 bit x86 tests to run on amd64 machines.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5087
2005-11-11 14:33:43 +00:00