[PATCH] D47233: [CodeGen] Emit MSVC RTTI for Obj-C EH types

Dustin L. Howett via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 12 09:37:12 PDT 2018


DHowett-MSFT added a comment.

In https://reviews.llvm.org/D47233#1129207, @rjmccall wrote:

> In https://reviews.llvm.org/D47233#1129110, @smeenai wrote:
>
> > WinObjC does this wrapping, for example.
>
>
> I see.  The idea of creating the type descriptors and mangled names ad-hoc for the catchable-types array is clever, and it's nice that the ABI is defined in a way that makes that work.  (Expensive, but hey, it's the exceptions path.)


We ran into some critical issues with this approach on x64. The pointers in the exception record are supposed to be image-relative instead of absolute, so I tried to make them absolute to libobjc2's load address, but I never quite solved it.

A slightly better-documented and cleaner version of the code you linked is here <https://github.com/Microsoft/libobjc2/blob/upstream-staging/eh_win32_msvc.cc>.


Repository:
  rC Clang

https://reviews.llvm.org/D47233





More information about the cfe-commits mailing list