fixed backtrace to work with -O (now conforms to
[pintos-anon] / src / lib / debug.c
index 6d7c9e13bf064761b1496a232994040498b4c5d2..b4f8c2d0b66ff0fc5542d213dc829101afdc0358 100644 (file)
@@ -15,9 +15,9 @@ debug_backtrace (void)
   static bool explained;
   void **frame;
   
-  printf ("Call stack:");
-  for (frame = __builtin_frame_address (0);
-       frame != NULL && frame[0] != NULL;
+  printf ("Call stack: %p", __builtin_return_address (0));
+  for (frame = __builtin_frame_address (1);
+       (uintptr_t) frame >= 0x1000 && frame[0] != NULL;
        frame = frame[0]) 
     printf (" %p", frame[1]);
   printf (".\n");