Question about bug #18622#

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

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

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?

David

It is, on trunk, not 3.4 release.

cheers,
--renato

Hi Renato,

    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

Also, don't forget the -arm-enable-ehabi-descriptors, or the tables won't
get generated. Sorry about the mess, the support was experimental until
recently.

--renato