diff options
author | bde <bde@FreeBSD.org> | 2002-09-15 22:17:40 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2002-09-15 22:17:40 +0000 |
commit | 0e886780a8e6981392676902da17eb238e5e660a (patch) | |
tree | f5dad57327f98d616ef8a7783250b32fe3d87169 /sys/ddb | |
parent | f2b1deb3e0a6a616985f728745fae05aeb2b18cd (diff) | |
download | FreeBSD-src-0e886780a8e6981392676902da17eb238e5e660a.zip FreeBSD-src-0e886780a8e6981392676902da17eb238e5e660a.tar.gz |
Don't use the ELF symbol type to summarily reject symbols in
X_db_search_symbol(). Otherwise we don't see important symbols in
non-verbosely written assembler code.
NetBSD already has this. The kld version already has a stronger form
of it without really trying -- linker_ddb_search_symbol() doesn't
support ddb's symbol search strategy parameter, so the kld
X_db_search_symbol() doesn't pass the parameter to linker_ddb...() and
linker_ddb...() doesn't make distinctions based on the symbol type.
db_elf.c now works better than db_kld.c when it works (which is essentially
when there are no modules except the kernel). It works after booting
with -d. db_kld.c doesn't work until lots of SYSINIT()s have run.
Diffstat (limited to 'sys/ddb')
-rw-r--r-- | sys/ddb/db_elf.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/sys/ddb/db_elf.c b/sys/ddb/db_elf.c index f683a35..92e9212 100644 --- a/sys/ddb/db_elf.c +++ b/sys/ddb/db_elf.c @@ -271,10 +271,6 @@ X_db_search_symbol(symtab, off, strategy, diffp) for (symp = symtab_start; symp < symtab_end; symp++) { if (symp->st_name == 0) continue; - if (ELF_ST_TYPE(symp->st_info) != STT_OBJECT && - ELF_ST_TYPE(symp->st_info) != STT_FUNC) - continue; - if (off >= symp->st_value) { if ((off - symp->st_value) < diff) { diff = off - symp->st_value; |