diff options
author | marius <marius@FreeBSD.org> | 2006-02-19 11:54:46 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2006-02-19 11:54:46 +0000 |
commit | 8fac408a7262b12dce6d506344068ddc9964015c (patch) | |
tree | a990f489d0898146ccba742f0324af70fa95baf8 /lib/libthr/thread/thr_timer.c | |
parent | d07e9ef4b2d775909a4e2e6c891922e109731b14 (diff) | |
download | FreeBSD-src-8fac408a7262b12dce6d506344068ddc9964015c.zip FreeBSD-src-8fac408a7262b12dce6d506344068ddc9964015c.tar.gz |
- 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
Diffstat (limited to 'lib/libthr/thread/thr_timer.c')
0 files changed, 0 insertions, 0 deletions