Thread (29 messages) 29 messages, 4 authors, 2015-01-21

Re: [RFC PATCH 7/8] perf probe powerpc: Use DWARF info only if necessary

From: Naveen N. Rao <hidden>
Date: 2014-12-10 11:49:24
Also in: lkml

On 2014/12/10 09:17PM, Michael Ellerman wrote:
On Tue, 2014-12-09 at 23:04 +0530, Naveen N. Rao wrote:
quoted
Use symbol table lookups by default if DWARF is not necessary, since
powerpc ABIv2 encodes local entry points in the symbol table and the
function entry address in DWARF may not be appropriate for kprobes,
as described here:
https://sourceware.org/bugzilla/show_bug.cgi?id=17638
Needs a better changelog.
Ok. Will add, but to elaborate quickly: DWARF will only include the 
entire function in low_pc/entry_pc and high_pc. It can't indicate the 
local entry point. Hence, we need to use the symbol table instead of 
DWARF on ABIv2.
quoted
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 174c22e..adcdbd2 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -2382,6 +2382,14 @@ static int convert_to_probe_trace_events(struct perf_probe_event *pev,
 		}
 	}
 
+#if defined(__powerpc64__) && defined(_CALL_ELF) && _CALL_ELF == 2
+	if (!perf_probe_event_need_dwarf(pev)) {
+		ret = find_probe_trace_events_from_map(pev, tevs, max_tevs, target);
+		if (ret > 0)
+			return ret;	/* Found in symbol table */
+	}
+#endif
And should be in an arch helper, not a big powerpc wart dropped in the middle
of the generic code.
Sure - will change.

Thanks for the review!
- Naveen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help