[Rubyinstaller-devel] gcc 4.4.0

Luis Lavena 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.
>

http://tdragon.net/recentgcc/

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.

-- 
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


More information about the Rubyinstaller-devel mailing list