Date: Sat, 20 Feb 2010 07:34:37 +0000 (UTC) From: Neel Natu <neel@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/mips/mips exception.S Message-ID: <201002200734.o1K7YoK1044256@repoman.freebsd.org>
index | next in thread | raw e-mail
neel 2010-02-20 07:34:37 UTC
FreeBSD src repository
Modified files:
sys/mips/mips exception.S
Log:
SVN rev 204109 on 2010-02-20 07:34:37Z by neel
Fix DDB backtrace that includes a kernel exception frame.
The backtrace code tries to look for an instruction of the form "sw ra, x(sp)"
to figure out the program counter of the calling function. When we generate
the kernel exception frame we store the 'ra' at the time of the exception
using an instruction of the same form. The problem is that the 'ra' at the
time of the exception is not the same as the 'program counter' at the time
of the exception.
The fix is to save the 'exception program counter' register by staging
it through the 'ra' register.
Revision Changes Path
1.8 +14 -2 src/sys/mips/mips/exception.S
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002200734.o1K7YoK1044256>
