cvs commit: src/sys/i386/i386 db_trace.c
John Baldwin
jhb at FreeBSD.org
Mon Jan 17 19:48:02 PST 2005
jhb 2005-01-18 03:48:02 UTC
FreeBSD src repository
Modified files:
sys/i386/i386 db_trace.c
Log:
Unbreak stack traces across double faults. In a particular edge case
(calling a __dead2 function such as panic() at the end of a function), the
saved %eip on the stack will actually not be part of the function that
executed a call instruction but instead will be the first instruction of
the next function in the text. This happens with dblfault_handler() and
syscall() for example. Work around this in the one place it matters by
looking at the saved %eip - 1 to determine the calling function when we
check for "magic" frames.
MFC after: 2 weeks
Revision Changes Path
1.66 +8 -2 src/sys/i386/i386/db_trace.c
More information about the cvs-src
mailing list