Re: perf TUI fails with "failed to process type: 64"

From: Michael Ellerman
Date: Mon Oct 10 2016 - 06:39:34 EST


Anton Blanchard <anton@xxxxxxxxx> writes:
>> > 14c00-14c00 g exc_virt_0x4c00_system_call
>> ^
>> What's this? The address? If so it's wrong?
>
> Offset into the binary I think, there's one 64kB page of ELF gunk at
> the start.

Ah OK makes sense.

>> So more digging required.
>
> Thanks for checking, it's starting to sound like a perf bug.

Yeah possibly. I'll build an updated perf tomorrow and see if I can
reproduce.

As an aside, it looks like it would be easy to set the size with the new
macro. Does the patch below help at all?

The other thing Nick mentioned is we could set the type of those symbols
to function, though that's not entirely correct. But it might help perf
and probably wouldn't break anything else (that I can think of right now
anyway).

cheers


diff --git a/arch/powerpc/include/asm/head-64.h b/arch/powerpc/include/asm/head-64.h
index ab90c2fa1ea6..0e250d4eff44 100644
--- a/arch/powerpc/include/asm/head-64.h
+++ b/arch/powerpc/include/asm/head-64.h
@@ -122,6 +122,7 @@ name:
.error "Fixed entry overflow"; \
.abort; \
.endif; \
+ .size name, (. - name); \
. = ((end) - sname##_start); \