aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-03-31 15:45:12 -0700
committerRuss Cox <rsc@golang.org>2009-03-31 15:45:12 -0700
commit4702c0e5ef6ebccb2f0eda68571d003aebe95329 (patch)
tree9c32f73e3677002273591f985127d548fc11fc20 /src/runtime/runtime.c
parent42546f4812b01fde18d8a060de73f1bd81427bb1 (diff)
downloadgo-4702c0e5ef6ebccb2f0eda68571d003aebe95329.tar.xz
more 386 runtime:
remove use of _subv in vlrt.c darwin/386/signal.c darwin/386/* linux/386/* (forgotten before) can run empty program on darwin/386 now. R=r DELTA=1140 (1021 added, 114 deleted, 5 changed) OCL=26942 CL=26968
Diffstat (limited to 'src/runtime/runtime.c')
-rw-r--r--src/runtime/runtime.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c
index 8a740f801e..25e2568c06 100644
--- a/src/runtime/runtime.c
+++ b/src/runtime/runtime.c
@@ -23,15 +23,18 @@ sys·panicl(int32 lno)
{
uint8 *sp;
- prints("\npanic ");
- sys·printpc(&lno);
- prints("\n");
+ if(panicking) {
+ printf("double panic\n");
+ sys_Exit(3);
+ }
+ panicking++;
+
+ printf("\npanic PC=%X [%d]\n", (uint64)(uintptr)&lno, panicking);
sp = (uint8*)&lno;
if(gotraceback()){
traceback(sys·getcallerpc(&lno), sp, g);
tracebackothers(g);
}
- panicking = 1;
sys·Breakpoint(); // so we can grab it in a debugger
sys_Exit(2);
}