$ x86_64-mingw32-g++ -v
Reading specs from /usr/lib64/gcc/x86_64-mingw32/4.4.0/specs
Target: x86_64-mingw32
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64
--includedir=/usr/x86_64-mingw32/include --with-gnu-as --with-gnu-ld
--with-sysroot=/usr/x86_64-mingw32 --enable-shared --enable-threads=win32
--disable-sjlj-exceptions --enable-languages=c,c++ --enable-c99
--enable-long-long --enable-decimal-float=yes --enable-multilib
--enable-cmath --disable-nls --with-gnu-as --with-gnu-ld
--with-mangler-in-ld
--with-gxx-include-dir=/usr/x86_64-mingw32/include/c++/4.4.0
--disable-libstdcxx-pch --enable-__cxa_atexit --disable-libmudflap
--disable-libssp --with-pkgversion=PLD-Linux
--with-bugurl=http://bugs.pld-linux.org
--build=x86_64-pld-linux --host=x86_64-pld-linux --target=x86_64-mingw32
Thread model: win32
gcc version 4.4.0 20090116 (experimental) (PLD-Linux)
a simple testcase that throws an exception from test.dll
into main.exe causes an error:
d:\w64\main.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
afaics the test.dll exports all these typeinfos:
[Ordinal/Name Pointer] Table
[ 0] _Z9exceptionv
[ 1] _ZN2ExC1ERKSs
[ 2] _ZN2ExC2ERKSs
[ 3] _ZN2ExD0Ev
[ 4] _ZN2ExD1Ev
[ 5] _ZTI2Ex
[ 6] _ZTISt13runtime_error
[ 7] _ZTISt9exception
[ 8] _ZTS2Ex
[ 9] _ZTSSt13runtime_error
[ 10] _ZTSSt9exception
[ 11] _ZTV2Ex
but the main.exe import only one symbol from test.dll:
DLL Name: test.dll
vma: Hint/Ord Member-Name Bound-To
13a70 0 _Z9exceptionv
DLL Name: libgcc_s_1.dll
vma: Hint/Ord Member-Name Bound-To
135ac 1 _Unwind_DeleteException
135c8 6 _Unwind_GetDataRelBase
135e4 9 _Unwind_GetIPInfo
135f8 10 _Unwind_GetLanguageSpecificData
1361c 11 _Unwind_GetRegionStart
13638 12 _Unwind_GetTextRelBase
13654 13 _Unwind_RaiseException
13670 14 _Unwind_Resume
13684 15 _Unwind_Resume_or_Rethrow
136a0 16 _Unwind_SetGR
136b0 17 _Unwind_SetIP
136c0 35 __deregister_frame_info
136dc 83 __register_frame_info
full example attached.
--
Summary: throwing ex. across dlls doesn't work.
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC target triplet: x86_64-mingw32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38920