This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug nptl/15771] __lll_unlock_wake break perf/libunwind unwinding


http://sourceware.org/bugzilla/show_bug.cgi?id=15771

--- Comment #1 from Andi Kleen <andi-bz at firstfloor dot org> ---
So it looks like libunwind sometimes gets it right, and sometimes wrong.
Depending on the IP hit?

Here's the dwarf for __lll_unlock_wake

00002948 00000024 0000294c FDE cie=00000000 pc=0000e090..0000e0ad
  DW_CFA_advance_loc: 1 to 0000e091
  DW_CFA_def_cfa_offset: 16
  DW_CFA_advance_loc: 1 to 0000e092
  DW_CFA_def_cfa_offset: 24
  DW_CFA_offset: r4 (rsi) at cfa-16
  DW_CFA_offset: r1 (rdx) at cfa-24
  DW_CFA_advance_loc: 25 to 0000e0ab
  DW_CFA_def_cfa_offset: 16
  DW_CFA_restore: r1 (rdx)
  DW_CFA_advance_loc: 1 to 0000e0ac
  DW_CFA_def_cfa_offset: 8
  DW_CFA_restore: r4 (rsi)
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop

and the assembler

000000326fe0de70 <__lll_unlock_wake>:
  326fe0de70:   56                      push   %rsi
  326fe0de71:   52                      push   %rdx
  326fe0de72:   c7 07 00 00 00 00       movl   $0x0,(%rdi)
  326fe0de78:   81 f6 81 00 00 00       xor    $0x81,%esi
  326fe0de7e:   ba 01 00 00 00          mov    $0x1,%edx
  326fe0de83:   b8 ca 00 00 00          mov    $0xca,%eax
  326fe0de88:   0f 05                   syscall 
  326fe0de8a:   5a                      pop    %rdx
  326fe0de8b:   5e                      pop    %rsi
  326fe0de8c:   c3                      retq   
  326fe0de8d:   0f 1f 00                nopl   (%rax)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]