patch attempts to follow the same rules that gdb uses and is based on the
fact that there appear to be three places where :: can appear:
- In the name of a undefined struct/union/enum after an x type
marker. In this case we follow a simplified version of the old
rules and only allow :: inside <> characters.
- In a method name. These are mangled so :: will never appear as
part of the name but will always occurs as the terminator. We
handle this by stopping at the first :: sequence.
- In a symbol/type name. This can include :: but can only be ended
by a single colon so we simply carry on until we see that.
I suspect this will resolve a number of bugs but I'm still waiting for
the submitters to confirm exactly which ones it resolves.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2981
allows negative offsets in structure member definitions as well as
improving the previous fix for names that are declared as both struct
tags and typedefs.
CCMAIL: 90128-done@bugs.kde.org
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2734
numbers in stabs and also removed the expectation of a trailing
semicolon after the type number as gcc didn't seem to be putting
one in. It seems that older gcc's do add one however, so we now
skip one if it is there.
CCMAIL: 88703-done@bugs.kde.org
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2720
names, which can have :: within <> quotes. Except when it's an operator,
which can have a name like operator<, followed by ::.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2362
"foo<bar::blat>"; normally stabs names are terminated by ':', but we
also need to keep track of <> pairs so we can ignore nested colons.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2267
Valgrind's dependency on the dynamic linker for getting started, and
instead takes things into its own hands.
This checkin doesn't add much in the way of new functionality, but it
is the basis for all future work on Valgrind. It allows us much more
flexibility in implementation, and well as increasing the reliability
of Valgrind by protecting it more from its clients.
This patch requires some changes to tools to update them to the changes
in the tool API, but they are straightforward. See the posting "Heads
up: Full Virtualization" on valgrind-developers for a more complete
description of this change and its effects on you.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2118