[LLVMdev] ARM EABI Exceptions
Renato Golin
Renato.Golin at arm.com
Tue May 18 02:39:53 PDT 2010
> -----Original Message-----
> From: Anton Korobeynikov [mailto:anton at korobeynikov.info]
>
> Neither llvm-gcc nor clang support exceptions on ARM (except, maybe,
> sjlj excheptions on arm/darwin). I have some patched uncommitted for
> EH on ARM but they are too far from being complete.
Hi Anton,
Are you actively working in that area? I did some experiments and managed to understand how LLVM does the exception handling, but my changes are also far from working.
My main concern is that DwarfException is not extensible at all. I can't inherit from it (DwarfWriter creates it directly) and there are no call backs to target-specific code (nor registration of such mechanism). To change that in line with AsmWriter would be a major change and passing a ARMException reference through AsmWriter would pass the object through many places that are not concerned with it.
A simple registration mechanism (DE->registerTargetCode-thingy) would be the least change and more direct approach, but it's damn ugly. ;)
Apart from that, the format of the table and the calls to intrinsic functions are quite close.
About Sj/Lj exceptions, that's not ARM EHABI compliant. EABI GCC won't compile that, I guess. Not to mention it hampers normal execution...
Thanks,
--renato
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the llvm-dev
mailing list