module-local, use the new ML_ prefix instead of VG_. This makes it
trivial to see which names are those exported from public module
interfaces: precisely those using VG_.
/* VG_ is for symbols exported from modules. ML_ (module-local) is
for symbols which are not intended to be visible outside modules,
but which cannot be declared as C 'static's since they need to be
visible across C files within a given module. It is a mistake for
a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
Likewise it is a mistake for a VG_ name to appear in a priv_*.h
file.
*/
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4000
Plenty still to do, but simple programs like ls seem to run ok
Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969
- Broke part of m_scheduler off into a new module m_threadstate. It
contains ThreadState, VG_(threads)[] and some basic operations on the
thread table. All simple stuff, the complex stuff stays in m_scheduler.
This avoids lots of circular dependencies between m_scheduler and other
modules.
- Managed to finally remove core.h and tool.h, double hurrah!
- Introduced pub_tool_basics.h and pub_core_basics.h, one of which is
include by every single C file.
- Lots of little cleanups and changes related to the above.
- I even did a small amount of documentation updating.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3944
which adds support for reading directory names from DWARF2 debug info.
Also rework the representation of file and directory tables in the
DWARF2 reader. This removes a longstanding but only-just-discovered
curiousity that the previous code expanded the filename table one
entry at a time, so that reading file names from a DWARF2 object was
quadratic in the number of file names. It's now N log N.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3908
needs to #include pub_core_mallocfree.h. As a result, we need
to #include it explicitly everywhere else.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3881
FDE refers to the immediately preceding CIE, and gives up if that
isn't so. Well, that isn't so, and this commit fixes it. Now FDEs
may refer to CIEs seen arbitrarily far back. This fixes some missing
stack traces on AMD64.
Also add some comments giving a top-level sketch of how the CFI reader
works.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3861
As part of this, killed the VG_STRINGIFY macro, which was used to expand
out names like "VG_(foo)" and "vgPlain_foo" in assertion failure
messages. This is good since we actually want the "VG_(foo)" form used
in these messages.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3842
relying on any other modules -- in m_libcbase.
Also converted the 'size' parameters to functions like VG_(memcpy) and
VG_(strncpy) from Int to SizeT, as they should be.
Also removed VG_(atoll16) and VG_(toupper), which weren't being used.
Also made VG_(atoll36) less flexible -- it now only does base-36 numbers
instead of any base in the range 2..36, since base-36 is the only one we
need. As part of that, I fixed a horrible bug in it which caused it to
return incorrect answers for any number containing the digits 'A'..'I'!
(Eg. for "A; it would return 17 instead of 10!)
Had to disable the assertions in VG_(string_match), since this module can't
see vg_assert, which wasn't ideal but also isn't a disaster.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3838