All of lore.kernel.org
 help / color / mirror / Atom feed
* perf unwind: Odd message about x86 unwind
@ 2016-06-30 12:06 Arnaldo Carvalho de Melo
  2016-07-01  2:05 ` Hekuang
  0 siblings, 1 reply; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-06-30 12:06 UTC (permalink / raw)
  To: He Kuang; +Cc: Wang Nan, Jiri Olsa, Peter Zijlstra, Linux Kernel Mailing List

Hi He,

	While testing a patch by Peter Zijlstra to the --stdio
annotation code I came accross these messages:

[acme@jouet linux]$ perf annotate __vdso_gettimeofday 2>&1 | head -20
unwind: target platform=x86 is not supported
unwind: target platform=x86 is not supported
unwind: target platform=x86 is not supported
unwind: target platform=x86 is not supported
 Percent |	Source code & Disassembly of perf-vdso.so-E5tFUx for cycles:u
-----------------------------------------------------------------------------
         :
         :
         :
         :	Disassembly of section .text:
         :
         :	0000000000000cd0 <__vdso_gettimeofday@@LINUX_2.6>:
    0.00 :	  cd0:   push   %rbp
    0.00 :	  cd1:   mov    %rsp,%rbp
    0.00 :	  cd4:   push   %r15
    0.00 :	  cd6:   push   %r14
    0.00 :	  cd8:   push   %r13
    0.00 :	  cda:   push   %r12
    0.00 :	  cdc:   push   %rbx
    0.00 :	  cdd:   sub    $0x10,%rsp
[acme@jouet linux]$

And bisected it down to:

commit 52ffe0ff02fc053a025c381d5808e9ecd3206dfe
Author: He Kuang <hekuang@huawei.com>
Date:   Fri Jun 3 03:33:22 2016 +0000

    perf callchain: Support x86 target platform
    
    Support x86(32-bit) cross platform callchain unwind.
    
    Signed-off-by: He Kuang <hekuang@huawei.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>

--------------------------------------------------

The source code where this message is emitted is:

struct unwind_libunwind_ops __weak *local_unwind_libunwind_ops;
<SNIP>
unwind__prepare_access()
{
	struct unwind_libunwind_ops *ops = local_unwind_libunwind_ops;
<SNIP>
	if (!strcmp(arch, "x86")) {
                if (dso_type != DSO__TYPE_64BIT)
                        ops = x86_32_unwind_libunwind_ops;
        }
<SNIP>
        if (!ops) {
                pr_err("unwind: target platform=%s is not supported\n", arch);
                return -1;
        }

So, this should fallback to local_unwind_libunwind_ops, why is this not being
set properly?

Feature detection says:

...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ on  ]

This is:

[acme@jouet linux]$ uname -a
Linux jouet 4.5.7-300.fc24.x86_64 #1 SMP Wed Jun 8 18:12:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxo

Can you please check this?

- Arnaldo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-07-01  2:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-30 12:06 perf unwind: Odd message about x86 unwind Arnaldo Carvalho de Melo
2016-07-01  2:05 ` Hekuang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.