]> Cypherpunks repositories - gostls13.git/commitdiff
tweak pcs in traceback so they point to calling line instead of line after call.
authorRob Pike <r@golang.org>
Fri, 21 Nov 2008 01:19:45 +0000 (17:19 -0800)
committerRob Pike <r@golang.org>
Fri, 21 Nov 2008 01:19:45 +0000 (17:19 -0800)
R=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=19745
CL=19745

src/runtime/print.c
src/runtime/rt2_amd64.c

index de9cabfbb1414b0b25647930586ce4a77543c5f6..26d59a7390d12db968525011f9afd344dcb792f1 100644 (file)
@@ -32,7 +32,7 @@ void
 sys·printpc(void *p)
 {
        prints("PC=0x");
-       sys·printpointer(sys·getcallerpc(p));
+       sys·printpointer((byte*)sys·getcallerpc(p) - 1);      // -1 to get to CALL instr.
 }
 
 void
index a3433678b2c011a524cc46791c483c563f6a432c..38eeddb495ce5260e15d60df6eb990cf9bfd9bad 100644 (file)
@@ -70,7 +70,7 @@ traceback(uint8 *pc, uint8 *sp, void* r15)
 
                /* print this frame */
                prints("0x");
-               sys·printpointer(callpc);
+               sys·printpointer(callpc  - 1); // -1 to get to CALL instr.
                prints("?zi\n");
                prints("\t");
                prints(name);