|
@@ -22,15 +22,10 @@
|
|
#define mask r7
|
|
#define mask r7
|
|
#define offset r8
|
|
#define offset r8
|
|
|
|
|
|
-ENTRY(__backtrace)
|
|
|
|
- mov r1, #0x10
|
|
|
|
- mov r0, fp
|
|
|
|
-
|
|
|
|
ENTRY(c_backtrace)
|
|
ENTRY(c_backtrace)
|
|
|
|
|
|
#if !defined(CONFIG_FRAME_POINTER) || !defined(CONFIG_PRINTK)
|
|
#if !defined(CONFIG_FRAME_POINTER) || !defined(CONFIG_PRINTK)
|
|
mov pc, lr
|
|
mov pc, lr
|
|
-ENDPROC(__backtrace)
|
|
|
|
ENDPROC(c_backtrace)
|
|
ENDPROC(c_backtrace)
|
|
#else
|
|
#else
|
|
stmfd sp!, {r4 - r8, lr} @ Save an extra register so we have a location...
|
|
stmfd sp!, {r4 - r8, lr} @ Save an extra register so we have a location...
|
|
@@ -107,7 +102,6 @@ for_each_frame: tst frame, mask @ Check for address exceptions
|
|
mov r1, frame
|
|
mov r1, frame
|
|
bl printk
|
|
bl printk
|
|
no_frame: ldmfd sp!, {r4 - r8, pc}
|
|
no_frame: ldmfd sp!, {r4 - r8, pc}
|
|
-ENDPROC(__backtrace)
|
|
|
|
ENDPROC(c_backtrace)
|
|
ENDPROC(c_backtrace)
|
|
|
|
|
|
.pushsection __ex_table,"a"
|
|
.pushsection __ex_table,"a"
|