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 <[email protected]>
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 <[email protected]>
    Acked-by: Jiri Olsa <[email protected]>

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

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

Reply via email to