[PATCH] D111703: [ARM] __cxa_end_cleanup should be called instead of _UnwindResume.

Daniel Kiss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 13 09:12:50 PDT 2021


danielkiss marked 4 inline comments as done.
danielkiss added inline comments.


================
Comment at: llvm/lib/CodeGen/DwarfEHPrepare.cpp:233
+
+    if (isTargetEHABICompatible(TargetTriple))
+      RewindName = "__cxa_end_cleanup";
----------------
logan wrote:
> I think in addition to `isTargetEHABICompatible` check, you should also check `(Pers == EHPersonality::GNU_CXX || Pers == EhPersonality::GNU_CXX_SjLj)` because only `__gxx_personality_v0` and `__gxx_personality_sj0` will call `__cxa_begin_cleanup` and push the exception object into the global stack.
Right, thanks I forget about it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111703/new/

https://reviews.llvm.org/D111703



More information about the llvm-commits mailing list