|
From: Sky D. <sdn...@ya...> - 2011-02-19 07:02:29
|
Hi all,
I learned valgrind for several weeks and now I want to write my tool. I want to
keep the track of pointers derived from heap block, which is similar to
exp-ptrCheck. While it is hard for me to understand the IR representations of
valgrind. I checked PtrCheck's instrumentation function and there were many IR
types like Ist_NoOp, Ist_AbiHint and so on.
So I want to know the syntax and semantics of there IR representations for I
have to instrument these IRs in order to track information I want.
Where can I find detailed information about valgrind's IR representations and
can anyone show me a simple example of tracking pointer addition operations?
Many thanks.
All the best,
Nofootbird
|
|
From: Florian K. <br...@ac...> - 2011-02-20 21:40:03
|
On 02/19/2011 02:02 AM, Sky Dai wrote: > > Where can I find detailed information about valgrind's IR representations and > can anyone show me a simple example of tracking pointer addition operations? > There is no formal description of the IR semantics. Study libvex_ir.h which is pretty good as a starting point. If something is not clear (e.g. the width of operands) you may be able to find out by looking at ir_opt.c and ir_defs.c Florian |