cvs commit: src/sys/sparc64/sparc64 db_trace.c exception.S

Marius Strobl marius at FreeBSD.org
Sun Feb 19 03:54:48 PST 2006


marius      2006-02-19 11:54:46 UTC

  FreeBSD src repository

  Modified files:
    sys/sparc64/sparc64  db_trace.c exception.S 
  Log:
  - Don't bother traversing trap frames in stack_save(). This fixes panics
    when option DEBUG_LOCKS is used. Trap frames are determined by checking
    whether the caller was one of the tl0_*() or tl1_*() asm functions via
    a newly added pair of dummy symbols in exception.S which mark the begin
    and end of these functions. The tl_trap_* pair marks those in the special
    .trap section and the tl_text_* in the regular .text section. Because
    of their performance penalty db_search_symbol()/db_symbol_values() and
    linker_ddb_search_symbol()/linker_ddb_symbol_values() aren't used here
    for determining the caller, with db_search_symbol()/db_symbol_values()
    additionally not being reentrant.
  - For consistency, change db_backtrace() to also use the new markers for
    determining the tl0_*() and tl1_*() asm functions instead of bcmp()'ing
    the symbol name.
  - Use FBSDID in db_trace.c.
  
  PR:                     93226
  Based on a patch by:    Antoine Brodin <antoine.brodin at laposte.net>
  Ok'ed by:               jhb
  
  Revision  Changes    Path
  1.25      +18 -4     src/sys/sparc64/sparc64/db_trace.c
  1.72      +16 -0     src/sys/sparc64/sparc64/exception.S


More information about the cvs-src mailing list