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/2644] Race condition during unwind code after thread cancellation


------- 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.


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