Dear list members, I ran into the problem that neither clang 3.4 nor current trunk versions of clang ar not usable for Objective-C on ARM. This is described in the bug report http://llvm.org/bugs/show_bug.cgi?id=18622 clang 3.3 didn't have that problem, but I also need the exception handling for ARM that is only available in recent builds, as I learned. I would like to get in touch with developers in the know about that. Perhaps there is a chance to get that fixed soon? If I can help by providing more information, doing some more tests, verifying bug fixes or whatever, please let me know. Best regards, Mathias
On 4 February 2014 15:40, Mathias Bauer <mathias_bauer at gmx.net> wrote:> clang 3.3 didn't have that problem, but I also need the exception handling > for ARM that is only available in recent builds, as I learned. >Hi Mathias, I'm guessing you're on ARM-Linux... Support for EHABI is in trunk since 3.3 came out, but only recently it's been stable enough to be turned on by default (we did find a few bugs, but we're working on them). However, you can still use exceptions on 3.3 and 3.4 by using the -arm-enable-ehabi and -arm-enable-ehabi-directives flags to LLVM. If you're calling directly from Clang, use -mllvm before each one of them. It might work, it might not, I can't guarantee anything, but you can always give it a try. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140204/640d2d1b/attachment.html>
On 4 Feb 2014, at 15:40, Mathias Bauer <mathias_bauer at gmx.net> wrote:> I ran into the problem that neither clang 3.4 nor current trunk versions of clang ar not usable for Objective-C on ARM. This is described in the bug report > > http://llvm.org/bugs/show_bug.cgi?id=18622This bug can be worked around by using the integrated assembler. I thought that was now the default for ARM, or is that just on Darwin? David
On 4 February 2014 17:14, David Chisnall <David.Chisnall at cl.cam.ac.uk>wrote:> This bug can be worked around by using the integrated assembler. I > thought that was now the default for ARM, or is that just on Darwin? >It is, on trunk, not 3.4 release. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140204/13f421a1/attachment.html>
Hi Renato, Am 04.02.14 17:49, schrieb Renato Golin:> On 4 February 2014 15:40, Mathias Bauer <mathias_bauer at gmx.net > <mailto:mathias_bauer at gmx.net>> wrote: > > clang 3.3 didn't have that problem, but I also need the exception > handling for ARM that is only available in recent builds, as I learned. > > > Hi Mathias, > > I'm guessing you're on ARM-Linux... > > Support for EHABI is in trunk since 3.3 came out, but only recently it's > been stable enough to be turned on by default (we did find a few bugs, > but we're working on them). However, you can still use exceptions on 3.3 > and 3.4 by using the -arm-enable-ehabi and -arm-enable-ehabi-directives > flags to LLVM. If you're calling directly from Clang, use -mllvm before > each one of them. > > It might work, it might not, I can't guarantee anything, but you can > always give it a try.Thanks for the hint. We tried -arm-enable-ehabi on 3.4, but it was ignored. Now I know that this was because we did not use -mllvm. OTOH 3.4 is not usable on arm Linux with Objective-C anyway, so we will try 3.3 with -arm-enable-ehabi and cross fingers. Nevertheless I really would like to use the newer clang builds, because of the increased stability wrt. exceptions that you mentioned. So in case there is anything I can do as a support for getting the bug fixed, please let me know. In case that helps: this would include a donation or a bug fix bounty. Best regards, Mathias
Reasonably Related Threads
- [LLVMdev] ARM c++ exceptions handling not working with clang/llvm-3.2?
- [LLVMdev] Integrated ARM assembler
- [LLVMdev] llvm trunk build failed in cmake_install.cmake on ARM platform
- [LLVMdev] Integrated ARM assembler
- [LLVMdev] ARM c++ exceptions handling not working with clang/llvm-3.2?