This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/15771] __lll_unlock_wake break perf/libunwind unwinding
- From: "andi-bz at firstfloor dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 23 Jul 2013 06:36:40 +0000
- Subject: [Bug nptl/15771] __lll_unlock_wake break perf/libunwind unwinding
- Auto-submitted: auto-generated
- References: <bug-15771-131 at http dot sourceware dot org/bugzilla/>
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.