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