From: <dan...@ya...> - 2002-06-30 22:30:08
|
--- Oscar Fuentes <of...@wa...> wrote: > "Adriano dos Santos Fernandes" <adr...@uo...> writes: > > > I'm create a patch to MinGW gcc 3.1 catch exceptions across EXE/DLLs > > boundaries. > > I can't think of a proper inter-dll exception handling without fixing > the "GCC 3.1 dynamic_cast fails with DLLs" bug reported by Colin > Peters: > > http://sourceforge.net/tracker/index.php?func=detail&aid=568054&group_id=2435&atid=102435 > > Has this problem relation with sharing objects among dlls / exes? > Yes, the dynamic_cast issue is critical. Adriano's solution is simple and really does the same thing as Jason Merrill's. I liked Jason's because it kept the public interface clean. In any event, the ifdef __MINGW32__ is too parochial and needs to be extended to other targets (Cygwin, at least, Interix?, ARM with PE object format?). That is a detail that can be cleaned up later. Jason's suggestion also fixed problems with multiple shared libs on other non-PE targets. > Danny, I saw your post on the gcc ml (which, sadly, seems that didn't > attracted too much attention, at least on-line) and know you have a > possible solution. Do you think that Adriano's approach is useful for > the dynamic_cast issue? His solution is really simple and > straightfordward. It works. Other details that needs to be sorted are (1) how to prevent adding the overhead when -fno-exceptions is given explicitly or we are using C or Fortran or other language where no-exceptions is the default (2) thread safety (3) overhead when using static linkage. I'm still not convinced that this approach is prefereable to a libgcc_s.dll approach. What do others think? Cheers Danny > > Clueless, Clue-challenged? > > -- > Oscar > http://www.sold.com.au - SOLD.com.au - Find yourself a bargain! |