[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libunwind] indirect calling libunwind by using exception handling?
From: |
David Mosberger |
Subject: |
Re: [libunwind] indirect calling libunwind by using exception handling? |
Date: |
Mon, 19 Apr 2004 11:12:35 -0700 |
>>>>> On Mon, 19 Apr 2004 12:16:08 +0200, "Mensing, Joerg" <address@hidden>
>>>>> said:
Joerg> Hi, does linking with 'libunwind 0.96' directly influences
Joerg> gcc's own exception handling behaviour?
It does implement the C++ ABI-defined exception support routines (the
functions starting with names _Unwind_*). Those routines are also
implemented in libgcc_s.so.
Joerg> Is i.e. any C++ runtime library function overloaded?
No, there is no C++ code at all in libunwind.
Joerg> I would like to use 'libunwind 0.96' for stack backtrace
Joerg> only.
For what reason? The unwinder implemented by gcc is known to be buggy
and minimally maintained.
Joerg> It seems to work fine, but we are running into a problem
I would like to use 'libunwind 0.96' for stack backtrace only. It seems to work
fine, but we are running into a problem
Joerg> > (gdb) where
Joerg> > #0 0x20000000001b46c0 in parse_lsda_header(_Unwind_Context*,
Joerg> > unsigned char const*, lsda_header_info*) ()
Joerg> > from /usr/lib/libstdc++.so.5
Joerg> > #1 0x20000000001b4d60 in __gxx_personality_v0 () from
Joerg> > /usr/lib/libstdc++.so.5
Joerg> > #2 0x40000000015b6f40 in _Unwind_Phase2
Joerg> > (exception_object=0x60000000002573a0, context=0x20009719860)
Joerg> > at unwind-internal.h:61
Joerg> > #3 0x40000000015b6d70 in _Unwind_Resume
Joerg> > (exception_object=0x60000000002573a0) at _Unwind_Resume.c:37
Joerg> > #4 0x2000000002234160 in
Joerg> > Cconsistent::DROP_CURRENT_SCHEMA(char (*) [64])
Joerg> > (this=0x60000000002573a0, SchemaName=0x2000b5e8899)
Joerg> > at consistentObj.cpp:2674
Joerg> when Cconsistent::DROP_CURRENT_SCHEMA() throw an
Joerg> exception. The problem is still under investigation...
Sorry, I don't see what the problem is here. _Unwind_Resume() will
come from libunwind.so. That should be fine as long as all
_Unwind_*() routines come from that library.
Joerg> I would really appreciate, if you could verify that this has
Joerg> nothing to do with using libunwind 0.96.
_Unwind_Resume() is provided by libunwind.so, so this almost certainly
has something to do with libunwind.
--david