------- Comment #4 from drangon dot mail at gmail dot com 2009-07-21 07:46
-------
The bug seems to occur again. It is ok in svn 2009-06-20, but today's svn code
is has problem.
C program is fine, but C++ program crashed. The error message is :
The instruction at "0x0040a7e0 referenced memory at "0x00000046". The memory
could not be "read".
If I change the libgcc_s_sjlj-1.dll to version 2009-06-20, the program works
fine.
the code at "0x0040a7e0" is :
000000000040a7c0 <__ZL15eh_globals_dtorPv>:
#if __GTHREADS
static void
eh_globals_dtor(void* ptr)
{
40a7c0: 56 push %rsi
40a7c1: 48 89 ce mov %rcx,%rsi
40a7c4: 53 push %rbx
40a7c5: 48 83 ec 28 sub $0x28,%rsp
if (ptr)
40a7c9: 48 85 c9 test %rcx,%rcx
40a7cc: 74 35 je 40a803
<__ZL15eh_globals_dtorPv+0x43>
{
__cxa_eh_globals* g = reinterpret_cast<__cxa_eh_globals*>(ptr);
__cxa_exception* exn = g->caughtExceptions;
40a7ce: 48 8b 09 mov (%rcx),%rcx
__cxa_exception* next;
while (exn)
40a7d1: 48 85 c9 test %rcx,%rcx
40a7d4: 74 1f je 40a7f5
<__ZL15eh_globals_dtorPv+0x35>
40a7d6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
40a7dd: 00 00 00
{
next = exn->nextException;
40a7e0: 48 8b 59 20 mov 0x20(%rcx),%rbx
_Unwind_DeleteException(&exn->unwindHeader);
40a7e4: 48 83 c1 50 add $0x50,%rcx
40a7e8: e8 63 ca ff ff callq 407250 <__Unwind_DeleteException>
if (ptr)
{
__cxa_eh_globals* g = reinterpret_cast<__cxa_eh_globals*>(ptr);
__cxa_exception* exn = g->caughtExceptions;
__cxa_exception* next;
while (exn)
40a7ed: 48 85 db test %rbx,%rbx
{
next = exn->nextException;
_Unwind_DeleteException(&exn->unwindHeader);
40a7f0: 48 89 d9 mov %rbx,%rcx
if (ptr)
{
__cxa_eh_globals* g = reinterpret_cast<__cxa_eh_globals*>(ptr);
__cxa_exception* exn = g->caughtExceptions;
__cxa_exception* next;
while (exn)
40a7f3: 75 eb jne 40a7e0
<__ZL15eh_globals_dtorPv+0x20>
_Unwind_DeleteException(&exn->unwindHeader);
exn = next;
}
free(ptr);
}
}
40a7f5: 48 83 c4 28 add $0x28,%rsp
{
next = exn->nextException;
_Unwind_DeleteException(&exn->unwindHeader);
exn = next;
}
free(ptr);
40a7f9: 48 89 f1 mov %rsi,%rcx
}
}
40a7fc: 5b pop %rbx
40a7fd: 5e pop %rsi
{
next = exn->nextException;
_Unwind_DeleteException(&exn->unwindHeader);
exn = next;
}
free(ptr);
40a7fe: e9 fd f6 ff ff jmpq 409f00 <_free>
}
}
40a803: 48 83 c4 28 add $0x28,%rsp
40a807: 5b pop %rbx
40a808: 5e pop %rsi
40a809: c3 retq
40a80a: 90 nop
40a80b: 90 nop
40a80c: 90 nop
40a80d: 90 nop
40a80e: 90 nop
40a80f: 90 nop
000000000040a810 <__ZL15get_ttype_entryP16lsda_header_infoy>:
--
drangon dot mail at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39832