This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/2644] Race condition during unwind code after thread cancellation
- From: "batneil at thebatcave dot org dot uk" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 7 May 2006 22:19:24 -0000
- Subject: [Bug nptl/2644] Race condition during unwind code after thread cancellation
- References: <20060507135630.2644.batneil@thebatcave.org.uk>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From batneil at thebatcave dot org dot uk 2006-05-07 22:19 -------
For completeness, here's the compiler output for the new patched version:
0000c360 <_Unwind_ForcedUnwind>:
[...]
c377: 8b 93 ac 21 00 00 mov 0x21ac(%ebx),%edx
c37d: 89 7d fc mov %edi,0xfffffffc(%ebp)
c380: 85 d2 test %edx,%edx
c382: 74 23 je c3a7 <_Unwind_ForcedUnwind+0x47>
c384: 8b 75 10 mov 0x10(%ebp),%esi
c387: 8b 4d 0c mov 0xc(%ebp),%ecx
c38a: 8b 45 08 mov 0x8(%ebp),%eax
c38d: 89 74 24 08 mov %esi,0x8(%esp)
c391: 89 4c 24 04 mov %ecx,0x4(%esp)
c395: 89 04 24 mov %eax,(%esp)
c398: ff d2 call *%edx
[...]
c3a6: c3 ret
c3a7: 8b 83 b0 21 00 00 mov 0x21b0(%ebx),%eax
c3ad: 85 c0 test %eax,%eax
c3af: 74 08 je c3b9 <_Unwind_ForcedUnwind+0x59>
c3b1: 8b 93 ac 21 00 00 mov 0x21ac(%ebx),%edx
c3b7: eb cb jmp c384 <_Unwind_ForcedUnwind+0x24>
The common case is now just as it was before, but in the case where we have to
do the initialisation the value is correctly loaded at c3b1.
I haven't finished testing with this version, but it looks good so far.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=2644
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.