$ 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

Reply via email to