diff options
author | 1996-08-13 00:41:33 +0000 | |
---|---|---|
committer | 1996-08-13 00:41:33 +0000 | |
commit | 1294ee688fdcb445a5eaaf1f1d9031ce58699a7d (patch) | |
tree | 179c7ffbc457e1254f22641bb2c8b57e3c2fd841 | |
parent | Remove unused variable (diff) | |
download | wireguard-openbsd-1294ee688fdcb445a5eaaf1f1d9031ce58699a7d.tar.xz wireguard-openbsd-1294ee688fdcb445a5eaaf1f1d9031ce58699a7d.zip |
Kludge to make DDB reverse symbol lookup work again.
I will soon deal with this mess in a 64-bit clean way which the
old code was anything but.
-rw-r--r-- | sys/ddb/db_aout.c | 6 | ||||
-rw-r--r-- | sys/ddb/db_sym.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/ddb/db_aout.c b/sys/ddb/db_aout.c index edba6dc76fe..79f4abc76a7 100644 --- a/sys/ddb/db_aout.c +++ b/sys/ddb/db_aout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: db_aout.c,v 1.8 1996/05/10 13:58:43 mickey Exp $ */ +/* $OpenBSD: db_aout.c,v 1.9 1996/08/13 00:41:33 niklas Exp $ */ /* $NetBSD: db_aout.c,v 1.14 1996/02/27 20:54:43 gwr Exp $ */ /* @@ -186,7 +186,7 @@ X_db_search_symbol(symtab, off, strategy, diffp) db_strategy_t strategy; db_expr_t *diffp; /* in/out */ { - register unsigned int diff = *diffp; + register db_expr_t diff = *diffp; register struct nlist *symp = 0; register struct nlist *sp, *ep; @@ -199,7 +199,7 @@ X_db_search_symbol(symtab, off, strategy, diffp) if ((sp->n_type & N_STAB) != 0 || (sp->n_type & N_TYPE) == N_FN) continue; if (off >= sp->n_value) { - if (off - sp->n_value < diff) { + if (off - sp->n_value < diff || diff < 0) { diff = off - sp->n_value; symp = sp; if (diff == 0 && diff --git a/sys/ddb/db_sym.c b/sys/ddb/db_sym.c index d9ee76e3deb..f2e8cf6d23a 100644 --- a/sys/ddb/db_sym.c +++ b/sys/ddb/db_sym.c @@ -1,4 +1,4 @@ -/* $OpenBSD: db_sym.c,v 1.12 1996/08/04 01:27:46 niklas Exp $ */ +/* $OpenBSD: db_sym.c,v 1.13 1996/08/13 00:41:34 niklas Exp $ */ /* $NetBSD: db_sym.c,v 1.12 1996/02/05 01:57:15 christos Exp $ */ /* @@ -268,11 +268,11 @@ db_search_symbol( val, strategy, offp) db_symtab_t st; db_sym_t ret = DB_SYM_NULL, sym; - newdiff = diff = ~0; + newdiff = diff = -1; db_last_symtab = 0; for (st = db_symtabs.tqh_first; st != NULL; st = st->list.tqe_next) { sym = X_db_search_symbol(st, val, strategy, &newdiff); - if (newdiff < diff) { + if (newdiff < diff || diff < 0) { db_last_symtab = st; diff = newdiff; ret = sym; |