Go to file
Arnaldo Carvalho de Melo f93f16b51a [CLASSES]: Pass the die to the tag type constructors
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>
2007-01-03 20:22:51 -02:00
cmake/modules [CMAKE]: Fix build on debian unstable 2006-12-20 10:16:45 -02:00
CMakeLists.txt [DTAGNAMES]: 6th dwarf 2006-12-28 14:03:42 -02:00
README [README]: Add information about packages required to build 2006-12-20 10:28:44 -02:00
README.ctracer [CTRACER]: New tool 2006-12-20 12:16:16 -02:00
classes.c [CLASSES]: Pass the die to the tag type constructors 2007-01-03 20:22:51 -02:00
classes.h [CLASSES]: Use just one tags list in struct lexblock 2007-01-02 22:26:01 -02:00
codiff.c [CLASSES]: Pave the way to reuse DW_TAG_subprogram prototype code 2006-12-30 16:34:20 -02:00
ctracer.c [CLASSES]: Add missing ftype__has_parm_of_type prototype 2007-01-02 02:37:24 -02:00
dtagnames.c [CLASSES]: Become struct tag centric 2006-12-29 15:28:58 -02:00
list.h Repository creation. 2006-10-24 20:42:39 -03:00
pahole.c [CLASSES]: Become struct tag centric 2006-12-29 15:28:58 -02:00
pfunct.c [CLASSES]: Add missing ftype__has_parm_of_type prototype 2007-01-02 02:37:24 -02:00
prefcnt.c [CLASSES]: Use just one tags list in struct lexblock 2007-01-02 22:26:01 -02:00

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