From 5cfde6a5f25218a964272186bfa6ab1432507a9e Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Sun, 26 Feb 2012 10:14:28 -0700 Subject: [PATCH] Sorry; re-fixed Debug_Stack_Trace again. The 20 year old code lies! STACK_LOC(0) *is* the top-of-stack. (Free[0] is not a valid object, but that is a different register.) So... the stack slot address must be printed *before* the _POP. I tried to pop the last commit, but apparently we have receive.denyNonFastForwards at Savannah. --- src/microcode/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/microcode/debug.c b/src/microcode/debug.c index c72730014..8838cc2c3 100644 --- a/src/microcode/debug.c +++ b/src/microcode/debug.c @@ -685,8 +685,8 @@ Back_Trace (outf_channel stream) break; } #endif - Temp = (STACK_POP ()); outf (stream, "{%#lx}", ((unsigned long) stack_pointer)); + Temp = (STACK_POP ()); if (RETURN_CODE_P (Temp)) { if (print_one_continuation_frame (stream, Temp)) -- 2.25.1