Changes in uspace/lib/c/generic/stacktrace.c [c1b979a:d4d74dc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/stacktrace.c
rc1b979a rd4d74dc 42 42 static int stacktrace_read_uintptr(void *arg, uintptr_t addr, uintptr_t *data); 43 43 44 static stacktrace_ops_t basic_ops = { 45 .read_uintptr = stacktrace_read_uintptr 46 }; 47 48 void stacktrace_print_generic(stacktrace_ops_t *ops, void *arg, uintptr_t fp, 49 uintptr_t pc) 44 void stacktrace_print_fp_pc(uintptr_t fp, uintptr_t pc) 50 45 { 51 46 stacktrace_t st; 52 47 uintptr_t nfp; 53 int rc;54 48 55 st.op_arg = arg;56 st. ops = ops;49 st.op_arg = NULL; 50 st.read_uintptr = stacktrace_read_uintptr; 57 51 58 52 while (stacktrace_fp_valid(&st, fp)) { 59 53 printf("%p: %p()\n", (void *) fp, (void *) pc); 60 rc = stacktrace_ra_get(&st, fp, &pc); 61 if (rc != EOK) 62 break; 63 rc = stacktrace_fp_prev(&st, fp, &nfp); 64 if (rc != EOK) 65 break; 54 (void) stacktrace_ra_get(&st, fp, &pc); 55 (void) stacktrace_fp_prev(&st, fp, &nfp); 66 56 fp = nfp; 67 57 } 68 }69 70 void stacktrace_print_fp_pc(uintptr_t fp, uintptr_t pc)71 {72 stacktrace_print_generic(&basic_ops, NULL, fp, pc);73 58 } 74 59
Note:
See TracChangeset
for help on using the changeset viewer.