summaryrefslogtreecommitdiffstats
path: root/sys/ddb
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2002-09-15 22:17:40 +0000
committerbde <bde@FreeBSD.org>2002-09-15 22:17:40 +0000
commit0e886780a8e6981392676902da17eb238e5e660a (patch)
treef5dad57327f98d616ef8a7783250b32fe3d87169 /sys/ddb
parentf2b1deb3e0a6a616985f728745fae05aeb2b18cd (diff)
downloadFreeBSD-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.c4
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;
OpenPOWER on IntegriCloud