summaryrefslogtreecommitdiff
path: root/libcpu/arm/common/backtrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu/arm/common/backtrace.c')
-rw-r--r--libcpu/arm/common/backtrace.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/libcpu/arm/common/backtrace.c b/libcpu/arm/common/backtrace.c
index f61c69ef01..4fc87b20d1 100644
--- a/libcpu/arm/common/backtrace.c
+++ b/libcpu/arm/common/backtrace.c
@@ -13,51 +13,51 @@
#ifdef __GNUC__
/*
-->High Address,Stack Top
-PC<-----|
-LR |
-IP |
-FP |
-...... |
-PC<-| |
-LR | |
-IP | |
+PC<------|
+LR |
+IP |
+FP |
+...... |
+PC <-| |
+LR | |
+IP | |
FP---|-- |
-...... |
-PC |
-LR |
-IP |
+...... |
+PC |
+LR |
+IP |
FP---
-->Low Address,Stack Bottom
*/
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
{
- rt_uint32_t i, pc, func_entry;
+ rt_uint32_t i, pc, func_entry;
- pc = *fp;
- rt_kprintf("[0x%x]\n", pc-0xC);
+ pc = *fp;
+ rt_kprintf("[0x%x]\n", pc-0xC);
- for(i=0; i<10; i++)
- {
- fp = (rt_uint32_t *)*(fp - 3);
- pc = *fp ;
+ for(i=0; i<10; i++)
+ {
+ fp = (rt_uint32_t *)*(fp - 3);
+ pc = *fp ;
- func_entry = pc - 0xC;
+ func_entry = pc - 0xC;
- if(func_entry <= 0x30000000) break;
+ if(func_entry <= 0x30000000) break;
- if(func_entry == thread_entry)
- {
- rt_kprintf("EntryPoint:0x%x\n", func_entry);
+ if(func_entry == thread_entry)
+ {
+ rt_kprintf("EntryPoint:0x%x\n", func_entry);
- break;
- }
+ break;
+ }
- rt_kprintf("[0x%x]\n", func_entry);
- }
+ rt_kprintf("[0x%x]\n", func_entry);
+ }
}
#else
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
{
- /* old compiler implementation */
+ /* old compiler implementation */
}
#endif