|
From: Nicholas N. <nj...@ca...> - 2003-10-31 09:32:49
|
On Fri, 31 Oct 2003, Josef Weidendorfer wrote:
> * Reading type info, static vars from debug info to get from address to
> symbolic information. Jeremy already has written something like this for
> helgrind for STABS format.
I've written some DWARF2 parsing code, although it's not in the
repository.
> Regarding implementation: As we need to enhance the debug info reader
> in the skin, we have to extend the skin API for this/put code into VG core.
> I would prefer an even more modular approach than now in VG (to be) 2.0: Put
> the debug info reader (currently in VG core) into its own shared lib which
> can be replaced by skins.
> In the end, we would have plugins which provide additional functionality which
> can be used by other plugins or by skins (some kind of hierarchical
> layering). The startup script would have to check for plugin versions to
> decide which libs to put into LD_PRELOAD for a skin to be runnable.
The original idea of the core/skin split had this middle layers, for
functions that are used by some but not all skins. In the end, everything
has been thrown into the core, because it's simpler, and saves having to
decide which bits should go where, and avoids all the fiddling with
version numbers.
Perhaps a compelling case can be made for a more modular approach, but
IMHO the everything-in-core approach has worked pretty well so far.
Relevant to this: there are plans afoot for a future Valgrind to not use
the LD_PRELOAD hack, but instead do all the loading itself ("full
virtualization"). One of the many advantages of this is that Valgrind and
skins could use all the standard system libraries, including any existing
debug-info-reading libraries.
N
|