Question. If a user cross compiles using GCC 4.x on linux, does their code compile to windows code using SLJL or Dwarf-2 unwinding? Does it matter? Thanks. =r
On Tue, Jul 28, 2009 at 1:33 AM, Roger Pack<rogerdpack at gmail.com> wrote:> Question. > If a user cross compiles using GCC 4.x on linux, does their code > compile to windows code using SLJL or Dwarf-2 unwinding? ?Does it > matter?The question is someone manage to cross-compile GCC 4.x to target mingw32, it will be SLJL or Dwarf-2, correct? Well, the answer will be which parameters they use to cross compile it. AFAIK all the cross-compiling targets for GCC I saw are using default SLJL. But that only is GCC 4, mingw32 packages and ports for many solutions, including SUSE are using GCC 3.4.5 Is my understanding that will only affect if exceptions are thrown across shared library (dll) boundaries. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
>> Question. >> If a user cross compiles using GCC 4.x on linux, does their code >> compile to windows code using SLJL or Dwarf-2 unwinding? ?Does it >> matter? > > The question is someone manage to cross-compile GCC 4.x to target > mingw32, it will be SLJL or Dwarf-2, correct?Yeah that''s right.> Well, the answer will be which parameters they use to cross compile it.Ok.> AFAIK all the cross-compiling targets for GCC I saw are using default SLJL. > > But that only is GCC 4, mingw32 packages and ports for many solutions, > including SUSE are using GCC 3.4.5which are forced to SJLJ is that right?> Is my understanding that will only affect if exceptions are thrown > across shared library (dll) boundaries.Those are pretty rare aren''t they? So the question "if I build a version using mingw''s recent 4.4.0 release [dwarf-2]" will it work with cross-compiled binaries that gem developers provide, and I think the answer is yes, because we don''t care all that much about exceptions crossing dll boundaries. I guess? Any thoughts on this one? =r
On Sat, Aug 1, 2009 at 8:15 AM, Roger Pack<rogerdpack at gmail.com> wrote:> [...] > >> AFAIK all the cross-compiling targets for GCC I saw are using default SLJL. >> >> But that only is GCC 4, mingw32 packages and ports for many solutions, >> including SUSE are using GCC 3.4.5 > > which are forced to SJLJ is that right? >Yes. Default mode is sjlj.>> Is my understanding that will only affect if exceptions are thrown >> across shared library (dll) boundaries. > > Those are pretty rare aren''t they? >Yes, but for example, Dwarf-2 cannot be used to catch callbacks from Windows system libraries, which is going to be a real pain for tools that interact with Win32API. I believe more can be read here: http://www.tdragon.net/recentgcc/> So the question "if I build a version using mingw''s recent 4.4.0 > release [dwarf-2]" will it work with cross-compiled binaries that gem > developers provide, and I think the answer is yes, because we don''t > care all that much about exceptions crossing dll boundaries. ?I guess?In theory, but we already have a lot in relation to MSVCRT, VC8/9 and things not working to throw in the mix now exception throwing (no pun intended).> Any thoughts on this one? >Call me oldie, but going to play safe and stick to SJLJ for a while. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry