Mercurial > illumos > illumos-gate
changeset 14086:cc3db4d15c60
3911 mdb is unable to display recursive stack
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Garrett D'Amore <garrett.damore@gmail.com>
Reviewed by: Wendy Lin <wendlin1974@gmail.com>
Approved by: Gordon Ross <gwr@nexenta.com>
author | Marcel Telka <marcel.telka@nexenta.com> |
---|---|
date | Fri, 26 Jul 2013 21:06:29 +0200 |
parents | c1602d3adc9b |
children | 1eb9c4349b7c |
files | usr/src/cmd/mdb/intel/mdb/mdb_amd64util.c |
diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/mdb/intel/mdb/mdb_amd64util.c Tue Jul 23 13:45:45 2013 -0400 +++ b/usr/src/cmd/mdb/intel/mdb/mdb_amd64util.c Fri Jul 26 21:06:29 2013 +0200 @@ -23,6 +23,9 @@ * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ +/* + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + */ #include <sys/types.h> #include <sys/reg.h> @@ -172,7 +175,7 @@ uintptr_t fp = gsp->kregs[KREG_RBP]; uintptr_t pc = gsp->kregs[KREG_RIP]; - uintptr_t lastfp, curpc; + uintptr_t lastfp; ssize_t size; ssize_t insnsize; @@ -194,8 +197,6 @@ while (fp != 0) { int args_style = 0; - curpc = pc; - if (!fp_is_aligned(fp, xpv_panic)) return (set_errno(EMDB_STKALIGN)); @@ -320,14 +321,11 @@ if (xpv_panic) if ((fp != 0) && (fp < lastfp) && ((lastfp ^ ~fp) < 0xfff)) - fp = ~fp; + fp = ~fp; kregs[KREG_RBP] = fp; kregs[KREG_RIP] = pc = fr.fr_savpc; - if (curpc == pc) - break; - got_pc = (pc != 0); }