Age | Commit message (Collapse) | Author |
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10267 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10247 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10246 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10245 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
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 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9989 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9642 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9631 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9518 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9484 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9437 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9401 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
- It heavily refactors the code: uses better names for things, splits up
complex functions that behaved very differently depending on how they were
called, removes some redundancies, and generally makes it much simpler and
easier to follow.
- It adds lots of comments, both inline, and also a big explanatory one at
the top which makes it clear exactly how the leak checker works and also
exactly what is meant by definite, possible, and indirect leaks. It also
has some ideas for future improvements.
- All tabs have been converted to spaces.
It also improves the functionality:
- Previously if you did --leak-check=summary, indirect and suppressed
blocks were counted as definite leaks. Now they are done properly, and so
the summary results from --leak-check=summary match those from
--leak-check=yes.
- Previously, some possibly reachable blocks were miscategorised as
definitely reachable, because only the pointer to the block itself was
considered, not any preceding pointers in the chain. This is now fixed.
- Added memcheck/tests/leak-cases, which fully tests all the possible
combinations of directly/indirectly reachable and possibly/definitely
reachable.
And it improves the manual quite a bit, and the FAQ a little bit.
This doesn't fix the leak checker to handle MALLOCLIKE_BLOCK works that have
been taken from within malloc'd blocks, but I think I know how to do it and
hope to do so in a subsequent commit.
It also changes all instances of "<constant>memcheck</constant>" in the
Memcheck manual to "Memcheck", for consistency and because "Memcheck" is
easier to write. There's one similar case for DRD but I didn't change that.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9330 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9304 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
$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 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9125 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8899 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8898 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8882 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8879 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8876 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8872 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8832 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8185 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7386 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7290 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7289 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7288 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7287 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7282 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
* Add docs: exp-drd/docs/README.txt
* Added one drd suppression pattern, and cleaned up the suppression file.
* All regression tests now pass on x86_64 and i386, including sigalrm.
* Updated TODO.txt file.
* pth_create_chain test is now started with 100 threads instead of 10
-- 10 was not enough.
* DRD no longer exits on PPC32 and PPC64 but just prints a warning
message before it starts.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7275 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7274 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7268 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7265 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7239 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7203 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
--log-file-qualifier and --log-file-exactly.
Updated NEWS some in preparation for 3.3.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7202 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
Prepend the file name of a source file with the directory
if that is available. This not only gets rid of problems with the
same file name used in different paths of a project, but lets
the annotation work out of the box without having to specify any
source directory.
Works both with callgrind_annotate and KCachegrind without any
changes there.
Inspired by Nick's change to cachegrind doing the same thing
in r6839 (and gets rid of a FIXME in the source)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6850 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6840 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
--branch-sim=yes is specified, Cachegrind simulates a simple indirect
branch predictor and a conditional branch predictor. The latter
considers both the branch instruction's address and the behaviour of
the last few conditional branches. Return stack prediction is not
modelled.
The new counted events are: conditional branches (Bc), mispredicted
conditional branches (Bcm), indirect branches (Bi) and mispredicted
indirect branches (Bim). Postprocessing tools (cg_annotate, cg_merge)
handle the new events as you would expect. Note that branch
simulation is not enabled by default as it gives a 20%-25% slowdown,
so you need to ask for it explicitly using --branch-sim=yes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6733 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6658 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6589 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6586 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6581 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6563 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6550 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6548 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6419 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6403 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
different error kinds were reusing the same struct for storing their
details. Each one used some but not all the fields, and the AddrInfo was
similar, and it was very confusing.
So I changed MC_Error and AddrInfo to be tagged unions, like Vex's IRExpr and
IRStmt types. The resulting code is a little more verbose but much easier
to understand. I also split up several error kinds, which also made things
simpler. The user-visible behaviour is identical except for a couple of
very minor things that I've documented in the NEWS file for the 3.3.0
release.
Ideally I'd get rid of the Addr and Char* fields in the core Error type,
which are not always used, and do them similarly within tools. But that
would require changing the core/tool interface, so I'm leaving it for the
moment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6402 a5019735-40e9-0310-863c-91ae7b9d1cf9
|