MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_unwind

Function rt_unwind

libcpu/arm/cortex-a/backtrace.c:515–531  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

513extern const struct unwind_idx __exidx_end[];
514
515void rt_unwind(struct rt_hw_exp_stack *regs, unsigned int pc_adj)
516{
517 struct pt_regs e_regs;
518
519 e_regs.ARM_fp = regs->fp;
520 e_regs.ARM_sp = regs->sp;
521 e_regs.ARM_lr = regs->lr;
522 e_regs.ARM_pc = regs->pc - pc_adj;
523#ifdef RT_USING_SMART
524 if (!lwp_user_accessable((void *)e_regs.ARM_pc, sizeof (void *)))
525 {
526 e_regs.ARM_pc = regs->lr - sizeof(void *);
527 }
528#endif
529 rt_kprintf("backtrace:\n");
530 unwind_backtrace(&e_regs, __exidx_start, __exidx_end);
531}
532
533rt_err_t rt_backtrace(void)
534{

Callers 4

rt_backtraceFunction · 0.70
rt_hw_trap_undefFunction · 0.70
rt_hw_trap_pabtFunction · 0.70
rt_hw_trap_dabtFunction · 0.70

Calls 3

lwp_user_accessableFunction · 0.85
rt_kprintfFunction · 0.85
unwind_backtraceFunction · 0.70

Tested by

no test coverage detected