Without -fsjlj-exception flag under Linux program bails out with SIGABRT and
dumps core - most likely because C++ runtime call terminate() somewhere. I do
not think this has any relation to the problem I fixed but rather it has
soething to do with faulty rtti exception type matching code. I believe this
problem affects FreeBSD Alpha port - I probably can look into it,
but lacking acces to any Alpha hardware this seems little problematic.

I cannot be sure where exactly program dies under Linux when -fsjlj-exceptions
flag is specified, but I confirmed that it in fact reaches setjmp receive point
with incorrect EBX register contents and does not even tries reload it with
correct value. Shortly after that it exits with "not enough memory" message. It
is problematic for me to say where it happens exactly because I was unable to
use FreeBSD native DDD to debug Linux program under Linux emulation layer and
without DDD my gdb skill are not up to the task yet. Compiling full-blown gcc on
Compaq's testdrive box is probably not a good idea either. I will try to seduce
some guy at the office with a Linux box to provide me shell and X11 login on his
box and then will try to recompile gcc 2.95.2 on it with proper debug info.
Probably I will be able to tell you what is going on Linux then. 

And yes, I installed OpenBSD 2.6 on my box today and tried their gcc 2.95.1 on
the same test code I've sent to you as well as on the sample from the PR Maxim
Sobolev was referring to in his first message. Both examples fail miserably on
OpenBSD and both do that exactly in the same place where FreeBSD does. Not
surprisingly, my patch eliminated the problem and both examples run just fine
now.

Using similar technique, I was able to get GCC to work stably on RS6000 AIX 4.2
box. That one also did not load PIC register R2 in setjmp and suffered exactly
the same consequences :)


On 18-Jan-00 David O'Brien wrote:
> On Mon, Jan 17, 2000 at 09:07:28PM -0500, Alexander N. Kabaev wrote:
>> Compiled without -fsjlj-exceptions, it dumps core.
> 
> Exactly same as FreeBSD, in the same place?
> 
> 
>> I will be greatly surprised if OpenBSD will survive the test since
>> their egcs looks like stock egcs 1.1.2 version which has not been
>> heavily patched from original Cygnus version. 
> 
> You haven't looked at an OpenBSD 2.6 box I guess.  They are using 2.95.1.
> 
> -- 
> -- David    ([EMAIL PROTECTED])

----------------------------------
E-Mail: Alexander N. Kabaev <[EMAIL PROTECTED]>
Date: 18-Jan-00
Time: 00:52:14
----------------------------------


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to