Date: Tue, 20 Mar 2001 16:31:06 -0500 (EST) From: "Alexander N. Kabaev" <ak03@gte.com> To: Titus von Boxberg <titus@pleach.de> Cc: hackers@FreeBSD.ORG Subject: Re: GCC Upgrade? Message-ID: <XFMail.20010320163106.ak03@gte.com> In-Reply-To: <3AB7C787.96200D6C@pleach-hamburg.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20-Mar-2001 Titus von Boxberg wrote: > "Alexander N. Kabaev" wrote: >> >> On 19-Mar-2001 Titus von Boxberg wrote: >> > David O'Brien wrote: >> >> >> >> On Mon, Mar 19, 2001 at 02:54:52PM +0100, Titus von Boxberg wrote: >> >> > Since at least aug. 2000 (according to the mailing list >> >> > archives) the exception handling in base system g++ is broken >> >> > (at least for multithreaded programs) >> >> The problem you are talking about has nothing to do with threads. Rather, >> the >> problem was with the way in which GCC handles inline function expansions. > Why does the code generated by the packaged gcc2952 work? > And why can't that version be used for the base system? Because gcc 2.95.2 from ports is configured to use DWARF2 unwinder which is not affected by this particular bug. There is DWARF2 specific INSN bookkeeping in GCC which allows the basic code blocks to stay alive. These blocks get erroneously deleted by the GCC optimizer in sjlj case. > And why can't that version be used for the base system? Again, because it uses DWARF2 exception handling. You cannot easily switch between sjlj and DWARF2 exception handling methods and you cannot mix and match object files and libraries compiled with different exception flags. The switch will require that every C++ binary and every C++ library on all FreeBSD boxes is recompiled. I certainly do not see that happening in FreeBSD 4-STABLE any time soon. FreeBSD-CURRENT might switch to DWARF2 some day, David O'Brien is the right person to ask about that. > Is there a link available to documentation that explains DWARF and fsjlf You could try looking at gcc.gnu.org site for information on how GCC works internally. ---------------------------------- E-Mail: Alexander N. Kabaev <ak03@gte.com> Date: 20-Mar-2001 Time: 16:15:24 ---------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20010320163106.ak03>