]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/lib/acid/thread
acid/kernel: for stacktraces, try to use context from error stack when process is...
[plan9front.git] / sys / lib / acid / thread
index e23284b43dcedaa150dde0c718ee5ee74a3187fb..f24f6207d860eed66044540f28047456751834bd 100644 (file)
@@ -1,8 +1,8 @@
-include("/sys/src/libthread/sched.acid");
+include("/sys/src/libthread/sched." + objtype + ".acid");
 
 defn labpc(l)
 {
-       if objtype == "386" then
+       if objtype == "386" || objtype == "amd64" then
                return longjmp;
        return *(l+4);
 }
@@ -14,7 +14,7 @@ defn labsp(l)
 
 defn labstk(l)
 {
-       _stk(labpc(l), labsp(l), 0, 0);
+       _stk(labpc(l), labsp(l), 0, 1);
 }
 
 defn lablstk(l)
@@ -250,7 +250,7 @@ defn threadstks(P){
        ign = stkignore;
        stkignore = {
                "^/sys/src/libthread/",
-               "^/sys/src/libc/(386|arm|alpha|sparc|power|mips)/"
+               "^/sys/src/libc/(386|arm|sparc|power|mips)/"
        };
        setproc(P.pid);
        Tq = (Tqueue)P.threads;
@@ -315,7 +315,7 @@ defn threadstk(T){
        setproc(P.pid);
 
        if T.state == Running then{
-               stk();
+               lstk();
        } else {
                labstk(T.sched);
        }