Re: Problem with catching exceptions on ARM

2014-02-25 Thread Mathias Bauer
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

Re: Problem with catching exceptions on ARM

2014-02-21 Thread Mathias Bauer
Hi, Am 20.02.14 18:27, schrieb Mathias Bauer: I tested, that a simple @try/@catch works (an exception thrown in a function called from the @try block is caught successfully and the program exits normally). But throwing another exception in the function that caught the exception freezes the

Re: Problem with catching exceptions on ARM

2014-02-21 Thread David Chisnall
On 21 Feb 2014, at 10:06, Mathias Bauer mathias_ba...@gmx.net wrote: Am 20.02.14 18:27, schrieb Mathias Bauer: I tested, that a simple @try/@catch works (an exception thrown in a function called from the @try block is caught successfully and the program exits normally). But throwing another

Re: Problem with catching exceptions on ARM

2014-02-21 Thread Mathias Bauer
Am 21.02.14 11:37, schrieb David Chisnall: On 21 Feb 2014, at 10:06, Mathias Bauer mathias_ba...@gmx.net wrote: Am 20.02.14 18:27, schrieb Mathias Bauer: I tested, that a simple @try/@catch works (an exception thrown in a function called from the @try block is caught successfully and the

Re: Problem with catching exceptions on ARM

2014-02-21 Thread Mathias Bauer
Hi, Am 21.02.14 11:06, schrieb Mathias Bauer: The program does not continue if an exception is thrown and caught in a function and then another exception is thrown in that same function and shall be caught in a function above on the call stack (the typical rethrow scenario). From debugging

Re: Problem with catching exceptions on ARM

2014-02-20 Thread Mathias Bauer
Hi dear list members, Am 04.02.14 14:00, schrieb Mathias Bauer: Am 03.02.14 16:03, schrieb Mathias Bauer: Am 03.02.14 16:01, schrieb Luboš Doležel: On Mon, 03 Feb 2014 15:55:00 +0100, Mathias Bauer wrote: Unfortunately it turned out that neither the 3.4 nor the trunk version of clang

Re: Problem with catching exceptions on ARM

2014-02-20 Thread Mathias Bauer
Hi, Am 20.02.14 16:08, schrieb Mathias Bauer: Finally I pulled the plug and switched to the trunk version of llvm. After solving some build problems there I finally got a usable version of llvm. I compiled libobjc2 with it and tried the ExceptionTest.m example. It compiles, but doesn't run

Re: Problem with catching exceptions on ARM

2014-02-20 Thread David Chisnall
On 20 Feb 2014, at 17:27, Mathias Bauer mathias_ba...@gmx.net wrote: The call to _Unwind_Resume_or_Rethrow(e) does not return. That's not a bad thing. _Unwind_Resume_or_Rethrow() is only supposed to return in error conditions. I tested, that a simple @try/@catch works (an exception thrown

Re: Problem with catching exceptions on ARM

2014-02-20 Thread Mathias Bauer
Hi David, thanks for your answer! Am 20.02.14 18:33, schrieb David Chisnall: On 20 Feb 2014, at 17:27, Mathias Bauer mathias_ba...@gmx.net wrote: The call to _Unwind_Resume_or_Rethrow(e) does not return. That's not a bad thing. _Unwind_Resume_or_Rethrow() is only supposed to return in

Re: Problem with catching exceptions on ARM

2014-02-04 Thread Mathias Bauer
Am 03.02.14 16:03, schrieb Mathias Bauer: Am 03.02.14 16:01, schrieb Luboš Doležel: On Mon, 03 Feb 2014 15:55:00 +0100, Mathias Bauer wrote: Unfortunately it turned out that neither the 3.4 nor the trunk version of clang are usable on arm at all:

Re: Problem with catching exceptions on ARM

2014-02-03 Thread Mathias Bauer
Am 31.01.14 15:24, schrieb Mathias Bauer: Hi, Am 31.01.14 14:53, schrieb Niels Grewe: Am 31.01.2014 um 14:44 schrieb Mathias Bauer mathias_ba...@gmx.net: Does this ring a bell for somebody? Yes, the EHABI on ARM has only been enabled by default very recently. See [0] for the bug report.

Re: Problem with catching exceptions on ARM

2014-02-03 Thread Luboš Doležel
On Mon, 03 Feb 2014 15:55:00 +0100, Mathias Bauer wrote: Unfortunately it turned out that neither the 3.4 nor the trunk version of clang are usable on arm at all: http://llvm.org/bugs/show_bug.cgi?id=18622 Regards, Mathias Hi, David Chisnall gave me a piece of advice that adding

Re: Problem with catching exceptions on ARM

2014-02-03 Thread Mathias Bauer
Am 03.02.14 16:01, schrieb Luboš Doležel: On Mon, 03 Feb 2014 15:55:00 +0100, Mathias Bauer wrote: Unfortunately it turned out that neither the 3.4 nor the trunk version of clang are usable on arm at all: http://llvm.org/bugs/show_bug.cgi?id=18622 Regards, Mathias Hi, David Chisnall

Problem with catching exceptions on ARM

2014-01-31 Thread Mathias Bauer
Dear list members, I'm currently porting a mid-size Objective-C library that usually runs on Mac OS and iOS to GNUstep/Linux. After several weeks of work I'm now a happy camper on my Ubuntu/X86 system, but switching to OpenSuse/ARMv7 brought up a new problem that I couldn't solve even after

Re: Problem with catching exceptions on ARM

2014-01-31 Thread Niels Grewe
Am 31.01.2014 um 14:44 schrieb Mathias Bauer mathias_ba...@gmx.net: Does this ring a bell for somebody? Yes, the EHABI on ARM has only been enabled by default very recently. See [0] for the bug report. Maybe you could retry with trunk? I’m a bit hazy on what flags you are supposed to use to

Re: Problem with catching exceptions on ARM

2014-01-31 Thread David Chisnall
Hi Mathias, Can you try using a very recent trunk clang? Support for ARM EABI exceptions has been present in clang for a while, but it was only enabled by default a few days ago. Without the unwind tables, the runtime will abort when you try to throw an exception because it can't work out

Re: Problem with catching exceptions on ARM

2014-01-31 Thread Mathias Bauer
Hi, Am 31.01.14 14:53, schrieb Niels Grewe: Am 31.01.2014 um 14:44 schrieb Mathias Bauer mathias_ba...@gmx.net: Does this ring a bell for somebody? Yes, the EHABI on ARM has only been enabled by default very recently. See [0] for the bug report. Maybe you could retry with trunk? I’m a bit