f93f16b51a
For now we're just supporting DWARF, so no need to keep the DWARF knowledge outside of the core type constructors, with this we greatly simplify the code, shrinking the resulting binaries: [acme@newtoy pahole]$ codiff build/libclasses.so.orig build/libclasses.so /home/acme/pahole/classes.c: tag__init | +38 tag__new | -74 base_type__new | -26 enumerator__new | -26 variable__new | -43 class_member__new | -164 parameter__new | -44 inline_expansion__new | +295 label__new | -29 array_type__new | -67 class__new | -24 lexblock__init | +46 lexblock__new | -102 ftype__init | -61 ftype__new | -74 function__new | -56 cu__create_new_tag | -62 cu__create_new_class | -203 cu__create_new_base_type | -95 cu__create_new_array | -59 cu__create_new_parameter | -135 cu__create_new_label | -209 cu__create_new_variable | -180 cu__new_subroutine_type | -308 cu__process_class | -258 cu__create_new_lexblock | -180 cu__create_new_inline_expansion | -437 cu__process_function | -8 cu__create_new_function | -251 cu__create_new_enumeration | -309 cu__process_die | -376 31 functions changed, 379 bytes added, 3860 bytes removed /home/acme/pahole/classes.c: cu__create_new_subroutine_type | +241 1 function changed, 241 bytes added build/libclasses.so: 32 functions changed, 620 bytes added, 3860 bytes removed [acme@newtoy pahole]$ 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