To count global bus lock events, use "--collect-bus=yes".
For x86, this will count the number of executed instructions
with a lock prefix; for architectures with LL/SC, this will
count the number of executed SC instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11167
At beginning of each BB, Callgrind inserts a call to setup_bbcc,
which (among a lot other things), sets global vars needed for
the log_* helpers called afterwards in this BB.
These globals, bb_base and cost_base, previously we static declared
and only visible in sim.c. Make them visible also in the rest of
callgrind to allow for log_* handlers outside sim.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11166
Offsets of groups within event sets are now
stored in a offset table as part of the event set, and
can be accessed directly. Before, offsets were hardcoded
all over the place. This should make addition of further
event groups much simpler.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11165
* pass --build-id=none to ld to stop it creating a.note.gnu.build-id
exactly where we don't want it
* propagate error code from system() properly
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11146
executables. Gets rid of the linker script kludgery and uniformly
uses -Ttext=0x38000000 (or whatever) on Linux, so as to accomodate
both traditional ld and gold. Should fix#193413 although I have
been unable to test it. Using a whole new program seems like
overkill, but this is infrastructure to support static linking of
the tool executables on MacOS too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11141
the post handler is run to mark the retrieved message as correct.
Also change the post handler to only mark the number of bytes actually
returned as defined, rather than the whole buffer.
Fixes#238679.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11133
- Made glibc version detection test shorter and faster.
- Made unsupported glibc version error message more detailed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11132
Note: many Helgrind and DRD regression tests still fail on Fedora 13 because
of differences in the call stacks of error reports compared to earlier
glibc/gcc combinations.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11129
that specified shared objects contain specified symbols. Along with a
couple of regtests that unfortunately will fail on MacOSX.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11125
the length part of the ioctl is not fixed so they are essentially
families of ioctls.
Based on patch from Peter Korsgaard. Fixes#235642.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11124
* Add new client request VALGRIND_HG_CLEAN_MEMORY_HEAPBLOCK. This is
like VALGRIND_HG_CLEAN_MEMORY but doesn't take an address range.
Instead it takes a single argument which is supposed to be a pointer
to the start of, or anywhere within, a heap allocated block.
Helgrind then finds the block and paints it as belonging to the
calling thread. This is needed for correctly describing the
behaviour of threadsafe reference counting when applied to classes
involving inheritance of release methods or involving multiple
inheritance.
* Add statistics counters for all basic VTS operations (tick, join,
cmpLEQ, cmp_structural).
* Rewrite VTS__cmp_structural to be much faster.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11123