This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Way to disable relocations being performed


Hi,

	While working on pahole and the perf tools that now ship in the
Linux kernel sources I noticed this:

[acme(a)doppio pahole]$ size object_samples/zweinberg\@mozilla.com/libgklayout.so 
    text    data    bss      dec  hex     filename
12135799 1088572  29152 13253523  ca3b93  object_samples/zweinberg(a)mozilla.com/libgklayout.so
[acme(a)doppio pahole]$ readelf -SW object_samples/zweinberg\@mozilla.com/libgklayout.so | grep debug
 [26] .debug_aranges  PROGBITS 0000000000000000  ca2d50  1d1f80 00    0 0 16
 [27] .debug_pubnames PROGBITS 0000000000000000  e74cd0  5d29ed 00    0 0  1
 [28] .debug_info     PROGBITS 0000000000000000 14476bd 431ca1e 00    0 0  1
 [29] .debug_abbrev   PROGBITS 0000000000000000 57640db  1999c5 00    0 0  1
 [30] .debug_line     PROGBITS 0000000000000000 58fdaa0  58281c 00    0 0  1
 [31] .debug_frame    PROGBITS 0000000000000000 5e802c0  4454f0 00    0 0  8
 [32] .debug_str      PROGBITS 0000000000000000 62c57b0  571e13 01 MS 0 0  1
 [33] .debug_loc      PROGBITS 0000000000000000 68375c3 131493a 00    0 0  1
 [34] .debug_ranges   PROGBITS 0000000000000000 7b4bf00  2e7130 00    0 0 16
[acme(a)doppio pahole]$
[acme(a)doppio pahole]$ perf record -f -- pahole object_samples/zweinberg\@mozilla.com/libgklayout.so > /dev/null
[ perf record: Captured and wrote 10.779 MB perf.data (~470950 samples) ]
[acme(a)doppio pahole]$ perf report --sort comm,dso,symbol | head -25

#
# (470890 samples)
#
# Overhead           Command  Shared Object              Symbol
# ........  ................  .........................  ......
#
    13.51%            pahole  /usr/lib64/libdw-0.141.so  [.] relocate.6672
    10.61%            pahole  /lib64/libc-2.10.1.so      [.] __GI_strcmp
     8.84%            pahole  /lib64/libc-2.10.1.so      [.] _int_malloc
     8.07%            pahole  /usr/lib64/libdw-0.141.so  [.] __dwfl_linux_kernel_report_modules_internal
     7.84%            pahole  /lib64/libc-2.10.1.so      [.] __tsearch
     5.51%            pahole  ./build/libdwarves.so.1.0.0  [.] tag__recode_dwarf_type
     5.19%            pahole  /lib64/libc-2.10.1.so      [.] malloc_consolidate
     4.41%            pahole  ./build/libdwarves.so.1.0.0  [.] namespace__recode_dwarf_types
     3.61%            pahole  /usr/lib64/libdw-0.141.so  [.] __libdwfl_report_elf
     3.47%            pahole  ./build/libdwarves.so.1.0.0  [.] list__for_all_tags
     2.49%            pahole  /lib64/libc-2.10.1.so      [.] _int_free
     2.07%            pahole  /lib64/libc-2.10.1.so      [.] __tfind
     1.89%            pahole  /lib64/libc-2.10.1.so      [.] __GI___libc_free
     1.74%            pahole  ./build/libdwarves.so.1.0.0  [.] cu__table_add_tag
     1.60%            pahole  /usr/lib64/libdw-0.141.so  [.] check_notes
     1.35%            pahole  /lib64/libc-2.10.1.so      [.] __GI_vfprintf
     0.96%            pahole  /lib64/libc-2.10.1.so      [.] __malloc
     0.88%            pahole  ./build/libdwarves.so.1.0.0  [.] __die__process_tag
[acme(a)doppio pahole]$

	Relocation is being always performed, but I don't need this, is there a
way for me to ask libdwfl to not perform relocations?

- Arnaldo

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]