cvs commit: src/sys/i386/i386 db_trace.c

John Baldwin jhb at FreeBSD.org
Sun Jul 3 01:03:29 GMT 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