------- Comment #4 from ludovic at ludovic-brenta dot org 2007-12-09 20:48 ------- First, read http://gcc.gnu.org/ml/gcc/2006-10/msg00303.html for a little background information on ZCX and SJLJ in Ada.
Steps to reproduce: - bootstrap with ada enabled (i.e. ../gcc/configure --enable-languages=ada) $ rm gcc/ada/rts/g-catiio.{ali,o} $ cd gcc/ada/rts $ time ../../gnat1 -quiet -dumpbase g-catiio.adb -O2 -W -Wall -g -gnatpg -mtune=generic -gnatO g-catiio.o g-catiio.adb This will show you a reference time building the ZCX version. In my case (2.0 Ghz AMD Turion 64): real 0m4.238s user 0m3.664s sys 0m0.060s Now, edit gcc/ada/rts/system.ads; change ZCX_By_Default from True to False. This switches the run-time library to SJLJ. Then, compile again: $ rm gcc/ada/rts/g-catiio.{ali,o} $ cd gcc/ada/rts $ time ../../gnat1 -quiet -dumpbase g-catiio.adb -O2 -W -Wall -g -gnatpg -mtune=generic -gnatO g-catiio.o g-catiio.adb In my case: real 275m44.310s user 271m41.839s sys 0m9.585s -- ludovic at ludovic-brenta dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |UNCONFIRMED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400