[libunwind] [libunwind] Fix execution flow imbalance when using C++ Exceptions (PR #165066)

Oliver Hunt via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 29 22:23:32 PDT 2025


================
@@ -30,6 +30,14 @@ extern int __unw_get_reg(unw_cursor_t *, unw_regnum_t, unw_word_t *);
 extern int __unw_get_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t *);
 extern int __unw_set_reg(unw_cursor_t *, unw_regnum_t, unw_word_t);
 extern int __unw_set_fpreg(unw_cursor_t *, unw_regnum_t, unw_fpreg_t);
+#ifdef _LIBUNWIND_TRACE_RET_INJECT
+__attribute__((noinline, disable_tail_calls))
----------------
ojhunt wrote:

rather than duplicating this ifdef pair, define an attribute macro once, something `_LIBUNWIND_TRACE_FN` -- I'm terrible at naming, please don't just use this name verbatim. Possibly ping @ldionne to see if he has an opinion

https://github.com/llvm/llvm-project/pull/165066


More information about the cfe-commits mailing list