Sender: oliva AT araguaia DOT dcc DOT unicamp DOT br To: Andris Pavenis Cc: djgpp-workers AT delorie DOT com, egcs AT cygnus DOT com Subject: Re: egcs and exceptions References: From: Alexandre Oliva Date: 29 Oct 1998 21:00:13 -200 In-Reply-To: Andris Pavenis's message of "Thu, 22 Oct 1998 10:49:17 +0200 (WET)" Message-ID: Lines: 28 User-Agent: Gnus/5.07004 (Pterodactyl Gnus v0.40) XEmacs/20.4 (Emerald) MIME-Version: 1.0 (generated by SEMI 1.10.1 - "Morimoto") Content-Type: text/plain; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Andris Pavenis writes: > with -fsjlj-exceptions : I was not able to get exceptions working > for both Linux and DJGPP and with stable release (egcs-1.1) > So it's seems that -fsjlj-exceptions is broken with egcs-1.1 > and later snapshots Maybe you have to build libgcc.a and libstdc++.a with this option enabled. At least that's my reading from gcc/except.c: There are two major codegen options for exception handling. The flag -fsjlj-exceptions can be used to select the setjmp/longjmp approach, which is the default. -fno-sjlj-exceptions can be used to get the PC range table approach. While this is a compile time flag, an entire application must be compiled with the same codegen option. Of course one may argue that libgcc has nothing to do with `the entire application', and I'm not really sure you must really choose sjlj at build time, but if you have spare CPU cycles to try that, it would be nice to know... -- Alexandre Oliva mailto:oliva AT dcc DOT unicamp DOT br mailto:oliva AT gnu DOT org mailto:aoliva AT acm DOT org http://www.dcc.unicamp.br/~oliva Universidade Estadual de Campinas, SP, Brasil