From a83ce26b41be995bcde2b8f6bec6f93522f4f514 Mon Sep 17 00:00:00 2001 From: aiju Date: Mon, 19 Jun 2017 17:22:41 +0000 Subject: ktrace(1): handle amd64 stacktraces correctly --- sys/src/cmd/ktrace.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sys/src/cmd/ktrace.c b/sys/src/cmd/ktrace.c index d816d57e5..86ff89569 100644 --- a/sys/src/cmd/ktrace.c +++ b/sys/src/cmd/ktrace.c @@ -370,7 +370,7 @@ getval(uvlong a) { char buf[256]; int i, n; - uvlong r; + uvlong r, m; if(interactive){ print("// data at %#8.8llux? ", a); @@ -379,17 +379,25 @@ getval(uvlong a) return 0; buf[n] = '\0'; r = strtoull(buf, 0, 16); + }else{ + r = 0; switch(fhdr.magic){ case S_MAGIC: - r = (long)r; // sign extend + m = 0xffffffff00000000ULL; break; + default: + m = 0; } - }else{ - r = 0; for(i=0; i