diff options
author | 2009-07-22 21:15:42 +0000 | |
---|---|---|
committer | 2009-07-22 21:15:42 +0000 | |
commit | 167c8ac6114305d65fc5e5cf8e9d9b092cc0a76a (patch) | |
tree | a67607d5b8cc3f06f4cbaa8a71f6978d307548cd | |
parent | Put the PG_RELEASED changes diff back in. (diff) | |
download | wireguard-openbsd-167c8ac6114305d65fc5e5cf8e9d9b092cc0a76a.tar.xz wireguard-openbsd-167c8ac6114305d65fc5e5cf8e9d9b092cc0a76a.zip |
When disassembling, if our pc matches the beginning of a routine, then
it's at routine+0; do not search for the previous routine in the symbol
table. This fixes tracebacks when the fault occurs on the first instruction
of a routine.
-rw-r--r-- | sys/arch/mips64/mips64/db_machdep.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/arch/mips64/mips64/db_machdep.c b/sys/arch/mips64/mips64/db_machdep.c index f84585025a0..9ba66a49770 100644 --- a/sys/arch/mips64/mips64/db_machdep.c +++ b/sys/arch/mips64/mips64/db_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: db_machdep.c,v 1.17 2008/06/22 21:02:10 miod Exp $ */ +/* $OpenBSD: db_machdep.c,v 1.18 2009/07/22 21:15:42 miod Exp $ */ /* * Copyright (c) 1998-2003 Opsycon AB (www.opsycon.se) @@ -284,8 +284,6 @@ loop: * Watch out for function tail optimizations. */ sym = db_search_symbol(pc, DB_STGY_ANY, &diff); - if (sym != DB_SYM_NULL && diff == 0) - sym = db_search_symbol(pc - 4, DB_STGY_ANY, &diff); db_symbol_values(sym, &symname, 0); if (sym != DB_SYM_NULL) { subr = pc - diff; |