summaryrefslogtreecommitdiffstats
path: root/runtime/autoconf-find-task-pid.c
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-03-18 19:04:54 -0700
committerJosh Stone <jistone@redhat.com>2009-03-18 19:21:19 -0700
commit219e62c7eeca850d2898fdbfb6b74719195274a6 (patch)
tree8cc311618e5a2f58bfd4c5345b8c750ea9ca8030 /runtime/autoconf-find-task-pid.c
parent8df306c4443bd9dd1397bab6cba7f61cb2d88af9 (diff)
downloadsystemtap-steved-219e62c7eeca850d2898fdbfb6b74719195274a6.tar.gz
systemtap-steved-219e62c7eeca850d2898fdbfb6b74719195274a6.tar.xz
systemtap-steved-219e62c7eeca850d2898fdbfb6b74719195274a6.zip
PR9959: improve tracepoint arg type-naming
dwarf_type_name now works with more argument types. There were three cases that I needed to improve: - For "const struct foo*", the debuginfo has a const-DIE named "foo" chained to a struct-DIE named "foo", so we can't assume that seeing a name means we're down to the base type. The recursion now decends until it explicitly sees a base_type, typedef, struct, or union. - For "void*", the debuginfo has a pointer-DIE without any DW_AT_type after. Now I'm just catching that failed lookup and writing in "void". - For "va_list", the debuginfo actually resolves to an internal type "struct __va_list_tag*", but that struct has no declaration at the source level. I'm just hacking that exact case to say "va_list" instead, but it would be nice to find something cleaner... We'll probably still have problems if any tracepoint uses a function- pointer argument, but so far I've only seen that as a "void*", which we now handle ok.
Diffstat (limited to 'runtime/autoconf-find-task-pid.c')
0 files changed, 0 insertions, 0 deletions