discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Problem with catching exceptions on ARM


From: Mathias Bauer
Subject: Re: Problem with catching exceptions on ARM
Date: Tue, 25 Feb 2014 16:09:02 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Hi David,

In the throwing-a-different-exception case, we should first be doing
the cleanup for the old exception and then throwing a new one.  It
may be that we're not doing the cleanup and so think that we're
rethrowing an exception when actually we're throwing a new one, which
would probably account for the behaviour that you see.

After further examinations I think that your idea sounds plausible. I can see that each time when internal_objc_personality is called, it finds a cleanup action and reports back "continue unwind".

I think that the generated exception tables are correct, at least in the assembler code they looks exactly as they look in the X86 case. So I assume that the cleanup indeed is forgotten, so the eh never gets to the next action.

I would like to dive into that deeper, but where would be the code that should have done the cleanup? Is it the _Unwind_RaiseException function or elsewhere in the libgcc_s?

Best regards,
Mathias



reply via email to

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