Messages in this thread | | | Date | Tue, 16 Jun 2015 00:03:01 -0700 | Subject | [BUG] perf report: fails to symbolize when vaddr is non zero for shared objects | From | Stephane Eranian <> |
| |
Hi,
It has been brought to my attention that on systems where the text of shared libs is not loaded with a zero virtual address, perf report fails to symbolize correctly samples. This is true of older versions of perf and also the latest in tip.git.
I looked at symbol-elf.c and I did not see a place where the vaddr was taken into account from the program headers in the case of ET_DYN. I see it for ET_EXE, though.
$ readelf -e lib.so Type: DYN (Shared object file) .... Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x0000d000 0x0000d000 0x73657c 0x73657c R E 0x1000
If you get samples in the shared lib, they will be off, possibly attributed to the wrong functions.
Could this be fixed quickly? Thanks.
| |