discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with ffi/forwardInvocation and exception handling on OpenSol


From: David Chisnall
Subject: Re: Problem with ffi/forwardInvocation and exception handling on OpenSolaris
Date: Mon, 28 Jun 2010 12:23:14 +0100

On 28 Jun 2010, at 11:59, Saso Kiselkov wrote:

> So if I understand correct, instead of doing an [exception raise], I
> should call the _Unwind_Backtrace function below? I tried it and it
> generated:
> 
> 40157e:do_throw() in /export/home/diablos/excp_fail/obj/excp_fail

Ah, Solaris - one of the only two platforms (Darwin being the other) where that 
code actually works as documented...

So, the unwind library can't propagate beyond the do_throw() function.  This 
means that either do_throw() or -forwardInvocation: (not sure which, I'd have 
to check the libgcc_s code, and I don't want to because it's horrible) hasn't 
been compiled with unwind support.

Since these are both in your main.m file, I would imagine that the problem is a 
lack of -fexceptions in the compile flags for this file.  GNUstep Make (in 
theory, at least), ought to be providing this flag, but it might only be 
providing -fobjc-exceptions, which means that C functions won't have unwind 
data generated.

David

-- Send from my Jacquard Loom




reply via email to

[Prev in Thread] Current Thread [Next in Thread]