Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1434484

perf unwind: Odd message about x86 unwind

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject perf unwind: Odd message about x86 unwind
Date 2016-06-30 14:10 +0200
Message-ID <rPIX8-YG-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

perf unwind: Odd message about x86 unwind Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-06-30 14:10 +0200
  Re: perf unwind: Odd message about x86 unwind Hekuang <hekuang@huawei.com> - 2016-07-01 04:10 +0200

csiph-web