[Rubyinstaller-devel] gcc 4.4.0
luislavena at gmail.com
Wed Jul 1 19:40:58 EDT 2009
On Wed, Jul 1, 2009 at 8:27 PM, Roger Pack<rogerdpack at gmail.com> wrote:
>> Qt comes to mind as an extreme example that might fail, they seem to
>> distribute mingw compiled libs and it is a beast of a project to
>> compile.. But rubyqt might be fine to distribute custom-compiled lib?
> Yeah true that binary distributables that include a dll might be out
> of luck. The first one that comes to mind being msvcrt.dll, but I
> think we almost never need to propagate exceptions out of it, so that
> might be ok.
>> Would it be indicated in RUBY_PLATFORM on which gcc it was compiled?
> Nope, not unless we add it like RUBY_COMPILED_BY or something.
> I guess the good news is we can use 4.4 SLJL interchangeably with
> 3.4.5 SLJL...I think, so you can use "4.4" with a ruby built via
> 3.4.5, though not with dwarf2...as easily.
Dwarf-2 vs. SJLJ unwinding:
GCC supports two methods of stack frame unwinding: Dwarf-2 (DW2) or
SJLJ (setjmp/longjmp). DW2 unwinding is desirable for a number of
reasons, but cannot yet (on Windows) pass exceptions through "foreign"
stack frames (code compiled by another non-DW2-enabled compiler, such
as OS DLLs in a Windows callback). This means that you should choose
the SJLJ version of TDM-GCC unless you can be certain you will never
throw an exception through a foreign stack area. See
README-gcc-tdm.txt, included in the core package, for further usage
notes on this topic.
>> Personally I would prefer using 4.4 from the start, so everyone would
>> be on the same decade on the compilers, but that would be another
>> round of testing, worrying and delaying, on rubyinstaller and
>> devkit. And the gcc 4.4 release is *very* fresh itself.
> Yeah no joke a month old--they might still be finding some bugs in that one :)
I would rather bet on stability than freshness. We walked a long and
difficult road to change all the sudden.
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
More information about the Rubyinstaller-devel