]> Cypherpunks repositories - gostls13.git/commitdiff
fix traceback to know about new segmenting
authorRob Pike <r@golang.org>
Sat, 12 Jul 2008 02:35:14 +0000 (19:35 -0700)
committerRob Pike <r@golang.org>
Sat, 12 Jul 2008 02:35:14 +0000 (19:35 -0700)
SVN=126930

src/runtime/rt2_amd64.c

index 81053b3dd3df0c4fc2812c9da8e754f4e90c86cf..37bb850c5f8d24408e13f29482ce62445712ccfc 100644 (file)
@@ -8,8 +8,7 @@ extern int32    debug;
 
 static int8 spmark[] = "\xa7\xf1\xd9\x2a\x82\xc8\xd8\xfe";
 
-extern void _morestack();
-extern void _endmorestack();
+extern void morestack2();
 
 void
 traceback(uint8 *pc, uint8 *sp, void* r15)
@@ -30,7 +29,7 @@ traceback(uint8 *pc, uint8 *sp, void* r15)
        name = "panic";
        for(;;){
                callpc = pc;
-               if((uint8*)_morestack < pc && pc < (uint8*)_endmorestack) {
+               if((uint8*)morestack2 == pc) {
                        // call site in _morestack(); pop to earlier stack block to get true caller
                        stktop = (Stktop*)g.stackbase;
                        g.stackbase = stktop->oldbase;
@@ -83,6 +82,5 @@ traceback(uint8 *pc, uint8 *sp, void* r15)
                        sys·printpointer(((void**)sp)[i]);
                }
                prints(", ...)\n");
-               /* print pc for next frame */
        }
 }