DWARF-2 vs SjLj exception handling - poco compilation problem mingw - fedora10

Richard W.M. Jones rjones at redhat.com
Fri Nov 14 08:39:55 UTC 2008


On Fri, Nov 14, 2008 at 01:03:28AM +0100, Andrzej Horoszczak IDRA wrote:
> My problems is that other libraries (like boost) that have been used in
> my target application were unfortunately built with DW2 exception
> handling:
> c:\mingw\lib/libboost_filesystem.a(operations.o):operations.cpp:(.text
> 0x887): undefined reference to `__Unwind_Resume'

libboost_filesystem.a isn't a file that we ship.  Our version of boost
has libboost_filesystem.dll.a and libboost_filesystem.dll, using SJLJ
unwinding:

$ i686-pc-mingw32-nm /usr/i686-pc-mingw32/sys-root/mingw/bin/libboost_filesystem.dll | grep -i unwind.*resume
10009d60 T __Unwind_SjLj_Resume
10009cb0 T __Unwind_SjLj_Resume_or_Rethrow

It seems that there isn't a stable C++ ABI on Windows, so if you mix
DLLs from different places you'll get unpredictable results.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v



More information about the mingw mailing list