X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/b0d623f7f2ae71ed96e60569f61f9a9a27016e80..13f56ec4e58bf8687e2a68032c093c0213dd519b:/libkern/gen/OSDebug.cpp diff --git a/libkern/gen/OSDebug.cpp b/libkern/gen/OSDebug.cpp index de1d99372..3e67cfff8 100644 --- a/libkern/gen/OSDebug.cpp +++ b/libkern/gen/OSDebug.cpp @@ -28,6 +28,7 @@ // NOTE: This file is only c++ so I can get static initialisers going #include +#include #include @@ -179,41 +180,23 @@ x86_64_validate_stackptr(vm_offset_t stackptr) } #endif +void +OSPrintBacktrace(void) +{ + void * btbuf[20]; + int tmp = OSBacktrace(btbuf, 20); + int i; + for(i=0;i> 2]; - if ((stackptr - stackptr_prev) > 8 * 1024) // Sanity check - break; - - vm_offset_t addr = mem[(stackptr >> 2) + 2]; - if ((addr & 3) || (addr < 0x8000)) // More sanity checks - break; - bt[i] = (void *) addr; - } - frame = i; - - for ( ; i < maxAddrs; i++) - bt[i] = (void *) 0; -#elif __i386__ +#if __i386__ #define SANE_i386_FRAME_SIZE (kernel_stack_size >> 1) vm_offset_t stackptr, stackptr_prev, raddr; unsigned frame_index = 0;