The _Unwind_Resume callsite is not actually required to have an unwind-table entry that says to unwind to the parent. It can actually have anything you like!
I’m not sure if there’s an existing use-case for that, but that’s something I’m planning to take advantage of in my call unwindabort proposal. (…which is still waiting for me to finish the work and send it out, sorry I’m so slow there…). So I’d prefer that we not break that. ![]()
As for tail-calling…that may work, although it’d make the backtrace less useful, as it’d be missing the top frame. Also, as a general rule, LLVM won’t tail call a noreturn function – exactly because in many cases, you want to see a useful backtrace there.