Commit Graph

1054 Commits

Author SHA1 Message Date
Nicholas Nethercote
94ed569cdc Fix some more 'make check' warnings, ones that appear on non-Linux
platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9238
2009-02-23 07:17:08 +00:00
Nicholas Nethercote
2ae89cee5d Get rid of all "make check" compile warnings, except for the ones from
fxtract.c.

Also, gets rid of some of the warnings that -Wextra finds in Massif.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9237
2009-02-23 06:44:51 +00:00
Nicholas Nethercote
6ddf479d41 Merged part of r9234 (unit_libcbase improvements) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9235
2009-02-23 04:16:56 +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
a6448a3006 Test files were being passed multiple arch options (eg. "-m32 -m64") when
built.  This worked fine on the x86/Linux and AMD64/Linux but broke
ppc*/Linux.  This commit fixes the problem.  Thanks to Bart for spotting it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9222
2009-02-22 23:38:10 +00:00
Bart Van Assche
511b7fc48d Finished renaming of 'oset_test' into 'unit_oset'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9207
2009-02-20 19:53:50 +00:00
Nicholas Nethercote
f6b278a3fc Forgot to add this file in the last commit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9205
2009-02-20 06:37:52 +00:00
Nicholas Nethercote
13c8106f4f - Add 'unit_libcbase', the beginnings of a unit test module for m_libcbase.
- Rename 'oset_test' as 'unit_oset' to make its meaning more clear.
- Remove VG_(atoll36), VG_(strtoll8)() and VG_(strtoll36)();  they're not
  used and so untested, but easy to crib from similar functions if they need
  to be added again later.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9204
2009-02-20 06:10:44 +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
3ed4532cde In the core, include malloc_usable_size() as one of the functions that must
be replaced if malloc() et al are replaced by a tool.  This is because
different tools implement the function in different ways.

Add an appropriate malloc_usable_size() replacement to each of Memcheck,
Helgrind, DRD, Ptrcheck, Massif.

Update memcheck/tests/malloc_usable and add massif/tests/malloc_usable.

Merged from the DARWIN branch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9193
2009-02-17 04:31:18 +00:00
Nicholas Nethercote
b327b8dd60 Remove unnecessary Memcheck test filters.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9188
2009-02-17 00:47:10 +00:00
Nicholas Nethercote
cf6cd2bb31 Stack traces for Memcheck's syscall param errors are terribly unreliable, so
I changed it to just filter the entire stack trace out for these errors (both
normal and XML cases).  The syscall name is still present in the error
string.  This allows a one or more alternative expected output files to be
removed for several tests, which is A Very Good Thing.

Also, I killed filter_test_paths because it was weird and clumsy and the
above change obviated most of its use and the remaining effects could be
achieved in other ways.

Also, I fixed up the scalar* tests a little and they now pass on my machine,
(and hopefully at least some other machines) for the first time ever!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9178
2009-02-16 05:11:49 +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
Julian Seward
6a1bca2e35 get_otrack_shadow_offset_wrk(ppc32): handle a missing case that caused
an assertion failure (Chris Wilson).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9154
2009-02-14 15:28:46 +00:00
Nicholas Nethercote
6031d626c1 Moved 3 Linux-specific tests into linux/ directories.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9144
2009-02-13 06:23:46 +00:00
Nicholas Nethercote
f3240d6950 Filter out everything after "(below main)" in a line. This will help with
Darwin, for which such entries can occur within the executable, rather than
within libc.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9142
2009-02-12 00:51:50 +00:00
Nicholas Nethercote
f0f8b48fcf Merge the non-Darwin parts of r9140 (install vgpreload .dSYMs), just to keep
the trunk and DARWIN branch in sync.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9141
2009-02-12 00:30:02 +00:00
Nicholas Nethercote
3dfc8932ae Changed the way files are installed. Instead of going into
$INSTALL/<platform>/<filename>, they go to $INSTALL/<filename>-<platform>.
These filenames match those built in the build tree, and so simplifies the
build system signficantly and avoids the horrible sed renamings that were
previously required.  This will also help greatly with the treatment of
.dSYM debug directories in the DARWIN branch.

Files affected include:
- preload libraries such as vgpreload_core-<platform>.so and
  libmpiwrap-<platform>.so
- libraries such as libcoregrind_<platform>.a
- executables such as memcheck-<platform>

I updated the manual and added a note to the NEWS file about the change,
because it will affect a small number of users.

I did my best to update the AIX launcher/initimg correctly, but it hasn't
been tested.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9135
2009-02-11 00:35:45 +00:00
Nicholas Nethercote
a8c9970a34 Cleaned up the mess that was the treatment of "below main" functions such as
'__libc_start_main', in Massif, m_debuginfo and m_stacktrace.  As part of
this, --show-below-main is now visible to tools, and Massif pays attention
to it.

Improved the description of --show-below-main=yes in the manual.

Replaced some instances of "__libc_start_main" in the test *.exp files with
"(below main)", which is what will actually be seen.  Also updated
scalar.stderr.exp*, which should make it get closer to actually passing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9131
2009-02-10 06:48:00 +00:00
Nicholas Nethercote
947f9faaba Merge part of r9129 (factor out duplicated Z-encodings of names) from the
DARWIN branch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9130
2009-02-10 04:23:41 +00:00
Julian Seward
a257ebcc27 Make the leak checker a bit less verbose.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9054
2009-01-24 01:42:20 +00:00
Nicholas Nethercote
dbcc3e99d6 Move memcheck/tests/brk to the linux/ subdir, as it's Linux-specific (merged
from the DARWIN branch).  Also filter the output more so the .stderr.exp2
isn't needed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9038
2009-01-23 00:57:31 +00:00
Nicholas Nethercote
4372b47de8 Merge some minor regtest updates from the DARWIN branch:
- avoid using <malloc.h> where it's not necessary, because on DARWIN it's
  called <malloc/malloc.h>
- filter the output of brk2 more, which allows the .stderr.exp2 file to be
  removed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9037
2009-01-23 00:02:07 +00:00
Nicholas Nethercote
ed322feb84 Rename all the arch/OS/platform-related variables in configure.in to make it
clearer what they mean:
- They all have VGCONF_ prefixes now, to indicate they come out of
  configure.in (and are clearly distinguished from the VGA_/VGO_/VGP_
  #defines passed in to C files).
- The ones that refer to the primary *or* secondary platform have _INCLUDES_
  in them.
- The ones that are in all-caps have a _CAPS suffix.

So, for example, what was VGP_X86_LINUX is now
VGCONF_PLATFORMS_INCLUDE_X86_LINUX, which is more verbose but also a lot
clearer.  The names of the #defines used in the C files (VGA_x86, VGO_linux,
etc) are unchanged.

cputest.c: changed to reflect the Valgrind installation's capabilities,
rather than the machine's capabilities.  In particular, if
--enable-only32bit is used on a 64-bit machine, then this program will claim
to only support 32-bits.  Also use the VGA/VGO/VGP macros which are clearer
than the __i386__ ones.  (This is partially merged from the DARWIN branch.)

configure.in: clean up the comments, distinguish different sections more
clearly, and generally make it more readable.

valgrind.pc.in: try to make this more accurate.  I doubt anyone's using it.
It doesn't appear to be set up to handle dual-architecture builds.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9031
2009-01-22 21:56:32 +00:00
Julian Seward
d5b38a2b94 Don't hardwire @FLAG_M32@ in here, since this directory isn't arch
specific (and so the build fails eg on a 64 bit machine that does
not have a 32-bit toolchain installed).  Use $(AM_FLAG_M3264_PRI)
instead.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9018
2009-01-22 01:36:51 +00:00
Nicholas Nethercote
cace8b55cd - No longer using VG_ARCH_ALL to determine the DIST_SUBDIRS used for
arch/OS/platform-specific tool test dirs, instead writing it by hand.
  This is important because up until now if we had any arch-specific test
  dirs, we needed such dirs for all archs.  Now that we also have
  OS-specific and platform-specific test dirs, we don't want to have
  (mostly) empty dirs for every arch/OS/platform.

- Correspondingly, removed several empty directories under memcheck/tests/
  and cachegrind/tests that are no longer needed.

- Also removed VG_ARCH_ALL from configure.in.

- Also used an arch-specific guard rather than a platform-specific one where
  appropriate in cachegrind/tests/Makefile.am.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9017
2009-01-22 01:13:16 +00:00
Nicholas Nethercote
c07262448b - Split up m_ume.c into m_ume/{main,elf,script}.c. This will make merging
the DARWIN branch easier later.
- Remove the disabled vgtest_ume test, it's very unlikely it'll ever work
  again.
- Move VG_(find_auxv) to initimg-linux.c, the only place it's used, and make
  it static.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9004
2009-01-21 02:26:56 +00:00
Nicholas Nethercote
a2fb3f5363 Make this file compile without warnings when the PERF_FAST_* macros are
disabled.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8987
2009-01-19 23:42:45 +00:00
Nicholas Nethercote
0051efda41 Create memcheck/tests/linux/ and move some Linux-specific tests
into it.  Partial merge from DARWIN branch, r8943.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8975
2009-01-19 03:44:19 +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
Nicholas Nethercote
4f4de457aa Merged r8966 (show scanning output during leak checking with -v) from DARWIN
branch. 



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8972
2009-01-19 00:43:34 +00:00
Nicholas Nethercote
5ad1dd61f9 Introduce a new type, PtrdiffT. Replace lots of uses of OffT (all those
that are memory offsets) with PtrdiffT;  OffT should only be used for file
sizes and offsets.

Change Off64T from a ULong to a Long, as it should be.  Replace some uses
of ULong in the address space manager with Off64T to match.

Also add a comment explaining the meanings of the basic types like Addr,
OffT, SizeT, etc.

Also fix the prototype for VG_(pread) -- the last arg is an OffT, not an
Int.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8959
2009-01-15 21:29:24 +00:00
Nicholas Nethercote
dafa3d1d8c trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/vcpu_bz2.c
trunk/memcheck/tests/vcpu_bz2.vgtest
    vcpu_bz2.c was (I think) an "svn copy" of perf/bz2.c.  Because it's a
    copy, the two can get out of sync, which was a problem with Greg
    Parker's Darwin patch.  So we remove vcpu_bz2.c, and make
    vcpu_bz2.vgtest invoke perf/bz2 directly.

trunk/cachegrind/tests/wrap5.c
trunk/cachegrind/tests/Makefile.am
trunk/cachegrind/tests/wrap5.vgtest
    wrap5.c was likewise an "svn copy" of memcheck/tests/wrap5.c, so we do
    the equivalent thing with it.

trunk/Makefile.am
    Fix a typo.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8919
2009-01-08 06:07:05 +00:00
Julian Seward
5d0f2a664e Add another magic constant to the Iex_Const case in isBogusAtom, as
seen in glibc on ppc32.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8828
2008-12-17 01:12:58 +00:00
Julian Seward
e791eae7c6 A couple of 'make dist' fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8782
2008-11-18 02:10:33 +00:00
Julian Seward
513611364e Update expected output, with a line number that's actually correct.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8746
2008-11-08 15:18:53 +00:00
Julian Seward
8f7ec4c30b Add a second expected output. It appears that a recent glibcs print
one (or a value near it) as "+1.0000e+00" instead of "+1.0000e-00".
Or it could be a rounding issue .. I dunno.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8745
2008-11-08 15:17:50 +00:00
Julian Seward
fbf22fd8f3 Attempt to reduce output variance by ensuring mainSort() is never inlined.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8744
2008-11-08 15:15:06 +00:00
Julian Seward
e8eb2c86b4 Use a "sided" comparison rather than a "point" comparison, so as to
ensure that gcc generates only one conditional jump per conditional
expression, not two.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8743
2008-11-08 15:14:01 +00:00
Julian Seward
d1dc2a9f7d Update expected output now that Memcheck's realloc implementation always
moves the block, even when the new block is smaller or the same size.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8742
2008-11-08 15:12:48 +00:00
Julian Seward
34fa5dc31b Origin tracking: handle 16-bit excess in guest state reads/writes.
This gets rid of the messages "Approx: do_origins_Dirty(R): missed %d
bytes\n" and "Approx: do_origins_Dirty(W): missed %d bytes\n".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8719
2008-10-30 13:08:31 +00:00
Julian Seward
40399aab00 Fix longstanding bug in dual-arch support, which originated in
memcheck/tests/Makefile.am and was copied into drd/tests/Makefile.am.

When building regtests for a 32-bit only build on a 64-bit CPU, the
use of $(VG_ARCH) in these Makefiles is incorrect, because VG_ARCH
will be set to the 64-bit architecture, not the 32-bit architecture.

See comments on VG_ARCH_PRI and VG_ARCH_MAX in configure.in for more
details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8623
2008-09-19 09:02:19 +00:00
Julian Seward
335992d8fc Merge all remaining changes from branches/PTRCHECK. These are some
relatively minor extensions to m_debuginfo, a major overhaul of
m_debuginfo/readdwarf3.c to get its space usage under control, and
changes throughout the system to enable heap-use profiling.

The majority of the merged changes were committed into
branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and
8161.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621
2008-09-18 18:12:50 +00:00
Bart Van Assche
214f9a898a Disabled printing of file descriptor value in order to make the test results more reproducible.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8575
2008-09-07 16:55:15 +00:00
Bart Van Assche
1f63c5ebc4 Added regression test for Linux' capget system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8553
2008-08-27 17:41:06 +00:00
Julian Seward
bf836b421d Handle new IR ops Iop_RoundF64toF64_*.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8520
2008-08-08 08:38:23 +00:00
Bart Van Assche
d968df6a0a Compiles now with old versions of <sys/epoll.h> too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8474
2008-07-29 16:28:36 +00:00
Julian Seward
e448622e08 Add a followup comment to the changes in r8454, which made memcheck's
client realloc function use an always-move strategy.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8469
2008-07-29 09:44:52 +00:00
Julian Seward
ed20eaa97a Change memcheck's (client) realloc implementation so that it copies
and moves the block even when the new size is smaller or the same.
This increases the chance that it can detect buggy code which assumes
that realloc-smaller doesn't cause the block to move.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8454
2008-07-22 18:23:16 +00:00
Julian Seward
ba8c821703 Origin-tracking fix: make sure that we have a shadow-origin (B)
temporary defined for every (original) temp used in the block's IR
preamble, as is already done of the shadow-definedness (V)
temporaries.  Otherwise we can end up generating references to B
temporaries that have no assigned value, which causes the IR sanity
checker to complain.  Only observed (and even then rarely) on the
complex preambles sometimes used for TOC-afflicted platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8450
2008-07-22 09:59:48 +00:00