[cxx-abi-dev] Should __cxa_exception, __cxa_eh_globals, __cxa_get_globals be exposed by <cxxabi.h>?

Richard Smith richardsmith at google.com
Wed Feb 10 21:23:49 UTC 2016


Per http://mentorembedded.github.io/cxx-abi/abi.html#namespace, "The
reference header file included with this ABI definition shall be the
authoritative definition of the APIs." That reference header file is here:
http://mentorembedded.github.io/cxx-abi/gcc-cxxabi.h and it does not
declare __cxa_exception, __cxa_eh_globals, nor __cxa_get_globals.

Implementations vary:

libc++abi does not declare any of these in its cxxabi.h.
libstdc++ declares them but does not define them.
libcxxrt defines the classes and declares __cxa_get_globals.

Should we be exposing these? There doesn't seem much point in requiring and
documenting their existence if we don't. People are apparently working
around this by copy-pasting the definitions:

https://gerrit.libreoffice.org/gitweb?p=core.git;a=blob;f=bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx;h=96ddfc0be0b3e0644a63fdc6478d546c68e5ea89;hb=HEAD
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20160210/faeeb313/attachment.html>


More information about the cxx-abi-dev mailing list