- /*
- {
- char name[256];
- unw_word_t off;
-
- unw_get_proc_name (&new_ctx->cursor, name, 256, &off);
- printf ("F: %s\n", name);
- }
- */
-
- if (ji != NULL) {
- break;
+ /*
+ {
+ char name[256];
+ unw_word_t off;
+
+ unw_get_proc_name (&new_ctx->cursor, name, 256, &off);
+ printf ("F: %s\n", name);
+ }
+ */
+
+ if (ji)
+ break;
+
+ /* This is an unmanaged frame, so just unwind through it */
+ /* FIXME: This returns -3 for the __clone2 frame in libc */
+ err = unw_step (&new_ctx->cursor);
+ if (err < 0)
+ break;
+
+ if (err == 0)
+ break;