summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2010-02-20 07:34:37 +0000
committerneel <neel@FreeBSD.org>2010-02-20 07:34:37 +0000
commit60c69691d99826c120ca6df1743d4b5b303ace57 (patch)
tree932de22dd87cd6d4debe86c2904481a7f62686d8 /sbin
parent130eee4fb0ef62479a79ef17b87abd711e658054 (diff)
downloadFreeBSD-src-60c69691d99826c120ca6df1743d4b5b303ace57.zip
FreeBSD-src-60c69691d99826c120ca6df1743d4b5b303ace57.tar.gz
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.
Diffstat (limited to 'sbin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud