[PATCH] Fix _Unwind_Backtrace for libc++abi built with libgcc.

Jonathan Roelofs jonathan at codesourcery.com
Tue Jan 20 06:29:13 PST 2015


================
Comment at: src/cxa_personality.cpp:1105
@@ +1104,3 @@
+    // Check the undocumented force unwinding behavior
+    const unsigned _US_FORCE_UNWIND = 8u;
+    bool is_force_unwinding = static_cast<unsigned>(state) & _US_FORCE_UNWIND;
----------------
Why not add this to the public interface in include/unwind.h? If we're matching the behavior between gcc's unwinder, then perhaps it makes sense to 'advertise' that fact.

================
Comment at: src/cxa_personality.cpp:1112
@@ -1106,1 +1111,3 @@
     case _US_VIRTUAL_UNWIND_FRAME:
+        if (is_force_unwinding)
+            return continue_unwind(unwind_exception, context);
----------------
can the state ever be set to just _US_FORCE_UNWIND? Also, continue_unwind() takes three parameters now... can you rebase this patch?

http://reviews.llvm.org/D7031

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list