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

Function _bt_uaddr

libcpu/risc-v/common64/backtrace.c:44–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42#include <lwp_user_mm.h>
43
44rt_inline rt_err_t _bt_uaddr(rt_lwp_t lwp, rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame)
45{
46 rt_err_t rc;
47 if (lwp_data_get(lwp, &frame->fp, fp - 2, WORD) != WORD)
48 {
49 rc = -RT_EFAULT;
50 }
51 else if (lwp_data_get(lwp, &frame->pc, fp - 1, WORD) != WORD)
52 {
53 rc = -RT_EFAULT;
54 }
55 else if ((rt_ubase_t)fp == frame->fp)
56 {
57 rc = -RT_ERROR;
58 }
59 else
60 {
61 frame->pc -= 0;
62 rc = RT_EOK;
63 }
64 return rc;
65}
66#endif /* RT_USING_SMART */
67
68rt_err_t rt_hw_backtrace_frame_unwind(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)

Callers 1

Calls 1

lwp_data_getFunction · 0.85

Tested by

no test coverage detected