[cfe-commits] patch: libcxxabi cxa_*_virtual and cxa_guard_* methods

Renato Golin rengolin at systemcall.org
Tue May 24 18:53:02 PDT 2011

On 23 May 2011 22:59, Nick Lewycky <nlewycky at google.com> wrote:
> Is libcxxabi interested in providing a home for ARM ABI as well as Itanium
> ABI? And if so, what should we do to share code?

Hi Nick,

I'd very much like that to happen... ;)

> On ARM we need to provide
> many/all of the Itanium ABI functions but compilers are expected to call the
> ARM ABI ones instead. Their ABI manual suggests implementing the Itanium
> functions in terms of the ARM ones instead of the other way around. How
> would we go about doing that?

That's pretty much it. ARM C++ ABI is not that different from Itanium.

The way we're doing now in LLVM's ARM back-end for library selection
(calling ARM names instead of GNU ones) is enough on the majority of
cases. Two problems we found (memset and divrem) can be easily
implemented with special lowering. It should be as simple as ARM
functions calling the default ones on most cases.

I'm not sure how that would work in the libraries, but CodeSourcery's
worked that out already in GCC. I don't think it should be too
difficult, though I'm not an expert in writing libraries.

I'll have a look on libcxxabi later on to see if I can spot any simple
way of doing this, but from what you've said, you're probably far
ahead. ;)


More information about the cfe-commits mailing list