8a4df0e070
So that we handle DW_TAG_formal_parameters in this tag, fixing these cases: --- /tmp/ctracer.c.before 2006-12-29 13:27:24.000000000 -0200 +++ /tmp/ctracer.c 2007-01-02 02:34:18.000000000 -0200 <SNIP> @@ -62,7 +62,7 @@ }; /* size: 68, cachelines: 3 */ /* last cacheline: 4 bytes */ -typedef int (*kretprobe_handler_t)(void /* FIXME: add parm list */); +typedef int (*kretprobe_handler_t)(struct kretprobe_instance *, struct pt_regs *); /* /pub/scm/linux/kernel/git/acme/linux-2.6/include/linux/list.h:607 */ struct hlist_head { struct hlist_node * first; /* 0 4 */ [acme@newtoy ctracer_example]$ --- /tmp/pfunct.before 2006-12-30 16:18:25.000000000 -0200 +++ /tmp/pfunct.after 2007-01-02 02:08:50.000000000 -0200 @@ -249,7 +249,7 @@ /* definitions: 1 */ /* /pub/scm/linux/kernel/git/acme/linux-2.6/lib/klist.c:57 */ -void klist_init(struct klist * k, * get, * put); +void klist_init(struct klist * k, void (*get)(struct klist_node *), void (*put)(struct klist_node *)); /* size: 12, inline expansions: 1 (5 bytes) */ /* definitions: 1 */ The struct/union case still needs fixing, but we're getting there... Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> |
||
---|---|---|
cmake/modules | ||
CMakeLists.txt | ||
README | ||
README.ctracer | ||
classes.c | ||
classes.h | ||
codiff.c | ||
ctracer.c | ||
dtagnames.c | ||
list.h | ||
pahole.c | ||
pfunct.c | ||
prefcnt.c |
README
Build instructions: 1. install cmake 2. mkdir build 3. cd build 4. cmake .. 5. make Known to work scenarios: Mandriva Cooker: cmake 2.4.5-1mdv2007.1 libelfutils1-devel 0.123-1mdv2007.1 Debian Unstable: cmake 2.4.5-1 libdw-dev 0.123-2