[PATCH] Define __ARM_DWARF_EH__ on Bitrig/ARM

Patrick Wildt mail at patrick-wildt.de
Thu Feb 19 06:27:41 PST 2015


On Thu, Feb 19, 2015 at 02:04:46PM +0000, Renato Golin wrote:
> On 19 February 2015 at 12:50, Patrick Wildt <mail at patrick-wildt.de> wrote:
> > Equally to NetBSD, Bitrig will be using .eh_frame unwinding on ARM.
> >
> > Add __ARM_DWARF_EH__ to signify the use of Itanium ABI for unwind
> > instructions.
> 
> Hi Patrick,
> 
> I'm not a Bitrig / BSD expert, but the patch looks good to me. Is
> there anyone else that knows about it that could vouch for the
> Bitrig-specific knowledge?
> 
> cheers,
> --renato

Hi Renato,

I understand that you would like some kind of proof that this
diff is indeed correct, but I’m not sure what you’re looking for
exactly.

I’m currently working on upgrading Bitrig’s LLVM from 3.4.2
to 3.6.0, finishing it up.  I worked on switching Bitrig from
libstdc++ to libc++/libc++abi and am the maintainer of Bitrig’s
ARM subtree.

You can see my latest commits on Bitrig’s github[0] or the specific
3.6.0 branch[1]. If you’re looking for another Bitrig developer to
vouch for it, I can make that work, too. :)

About the technical aspects: When Bitrig switched to libc++
and libc++abi, the ARM port lost C++ exceptions.  At that point
there have been issues using the Itanium-ABI, and EHABI
wasn’t even supported in libc++abi. I tried making SjLj work,
but I failed. I resorted to waiting for 3.5, as I have seen that
NetBSD worked on making Itanium-ABI work with 3.5 and their ARM
port.

Now we directly go to 3.6 and finally get our C++ exceptions back
on ARM.

Best regards,
Patrick

[0] https://github.com/bitrig/bitrig/commits/master
[1] https://github.com/bitrig/bitrig/commits/patrick_360




More information about the cfe-commits mailing list