Problem with GDB when debugging IRQ handlers
Russell King - ARM Linux
linux at arm.linux.org.uk
Tue Jun 28 10:37:59 EDT 2011
On Tue, Jun 28, 2011 at 03:30:14PM +0100, Catalin Marinas wrote:
> Actually since the return address is in S_PC (which maybe gdb assumes it
> would be the saved LR), this is probably not be correct. After SVC
> entry, we have he following structure on the stack:
>
> ORIG_r0
> CPSR
> <--- assuming this is the Call Frame Address (SP+S_PC+4)
> PC <--- CFA - 4
> LR <--- don't care
> SP <--- CFA - 12
> ...
If I'm reading this correctly, it's not correct.
parent SP --> parent context stack
[possible empty word]
ORIG_r0
parent context CPSR
parent context PC
parent context LR
parent context SP
...
new SP --> R0
That empty word may or may not be present if the parent SP is aligned to
a 64-bit boundary.
More information about the linux-arm-kernel
mailing list