Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Feb 2006 11:54:46 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sparc64/sparc64 db_trace.c exception.S
Message-ID:  <200602191154.k1JBslOZ027854@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602191154.k1JBslOZ027854>