diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
commit | 33263fc5f9ac8e8cb2b22d06af3ce5ac1dd815e4 (patch) | |
tree | 2d1b86a40bef0958a68cf1a2eafbeb0667a70543 /arch/arm/lib/backtrace.S | |
parent | 216f5f51aa02f8b113aa620ebc14a9631a217a00 (diff) |
Merge with Linux 2.3.32.
Diffstat (limited to 'arch/arm/lib/backtrace.S')
-rw-r--r-- | arch/arm/lib/backtrace.S | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/arm/lib/backtrace.S b/arch/arm/lib/backtrace.S index fd85107c3..e871f2615 100644 --- a/arch/arm/lib/backtrace.S +++ b/arch/arm/lib/backtrace.S @@ -83,28 +83,34 @@ ENTRY(c_backtrace) #define reg r5 #define stack r6 -.Ldumpstm: stmfd sp!, {instr, reg, stack, lr} +.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr} mov stack, r0 mov instr, r1 mov reg, #9 - + mov r7, #0 1: mov r3, #1 tst instr, r3, lsl reg beq 2f + add r7, r7, #1 + teq r7, #4 + moveq r7, #0 + moveq r3, #'\n' + movne r3, #' ' ldr r2, [stack], #-4 mov r1, reg adr r0, .Lfp bl SYMBOL_NAME(printk) 2: subs reg, reg, #1 bpl 1b - + teq r7, #0 + adrne r0, .Lcr + blne SYMBOL_NAME(printk) mov r0, stack - LOADREGS(fd, sp!, {instr, reg, stack, pc}) + LOADREGS(fd, sp!, {instr, reg, stack, r7, pc}) -.Lfe: .ascii "Function entered at [<%p>] from [<%p>]\n" - .byte 0 -.Lfp: .ascii " r%d = %p\n" - .byte 0 +.Lfe: .asciz "Function entered at [<%p>] from [<%p>]\n" +.Lfp: .asciz " r%d = %08X%c" +.Lcr: .asciz "\n" .align .Ldsi: .word 0x00e92dd8 >> 2 .word 0x00e92d00 >> 2 |