[PATCH] D33030: [libcxxabi] Align unwindHeader on a double-word boundary

Stephan Bergmann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 20 05:04:13 PDT 2017


sberg added a comment.

In LibreOffice we unfortunately have some dirty code that synthesizes exception throwing, calling `__cxa_allocate_exception`, `__cxa_throw` (passing in our own exception destructor function), and then, when the exception destructor function gets called, assumes we can map from the passed pointer to the `__cxa_exception` header preceding it (to get at its `exceptionType` member).  That code was thus broken by this change.  I have a dirty hack around that (checking whether the `__cxa_exception` `exceptionDestructor` member has the expected value; if not, adjust: Hack to dynamically adapt to __cxa_exceptiom in LLVM 5.0 libcxxabi <https://cgit.freedesktop.org/libreoffice/core/commit/?id=7a9dd3d482deeeb3ed1d50074e56adbd3f928296>) and two questions:

- Is there any estimation when this change will show up in macOS's libcxxabi?  That would give me an idea which LibreOffice versions I would need to backport my fix to.

- Does anybody happen to have a good idea how to do my hacky fix in a cleaner way?


Repository:
  rL LLVM

https://reviews.llvm.org/D33030





More information about the cfe-commits mailing list