perf symbols: Function descriptor symbol lookup
commit70c3856b2f1304e0abc65f1b96a8c60ddfc0fb9e
authorEric B Munson <ebmunson@us.ibm.com>
Mon, 14 Jun 2010 13:56:33 +0000 (14 14:56 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 17 Jun 2010 13:06:27 +0000 (17 10:06 -0300)
tree69230e53848da5a55e6148f57657c6bc3b531123
parentcf103a14dd2ab23f847e998c8881ea4a5f8090bf
perf symbols: Function descriptor symbol lookup

Currently symbol resolution does not work for 64-bit programs on architectures
that use function descriptors such as ppc64.

The problem is that a symbol doesn't point to a text address, it points to a
data area that contains (amongst other things) a pointer to the text address.

We look for a section called ".opd" which is the function descriptor area. To
create the full symbol table, when we see a symbol in the function descriptor
section we load the first pointer and use that as the text address.

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <1276523793-15422-1-git-send-email-ebmunson@us.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Eric B Munson <ebmunson@us.ibm.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol.c