There are cases where just a declaration is emitted, such as in blk_rq_map_user_iov's iov parameter: <2><dc04>: Abbrev Number: 29 (DW_TAG_structure_type) DW_AT_name : (indirect string, offset: 0x3be8): sg_iovec DW_AT_declaration : 1 <2><dc0a>: Abbrev Number: 88 (DW_TAG_formal_parameter) DW_AT_name : iov DW_AT_decl_file : 1 DW_AT_decl_line : 2472 DW_AT_type : <dc60> DW_AT_location : 0x4288 (location list) I.e. the DW_TAG_structure_type tag is emitted at the same level as the DW_TAG_formal_parameter tags, so handled inside the cu__process_function method. This and the next cset only shows that a normalization in the parsing routines is in real demand and will be done, normalization because what needs to be done is similar to what is already done in places like cu__create_new_array, i.e. process all the siblings in a level in tag specific cu methods. 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