diff options
Diffstat (limited to 'src/libmach/frame.c')
-rw-r--r-- | src/libmach/frame.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libmach/frame.c b/src/libmach/frame.c index 035c6a52..7d03f3b4 100644 --- a/src/libmach/frame.c +++ b/src/libmach/frame.c @@ -87,8 +87,12 @@ stacktrace(Map *map, Regs *regs, Tracer trace) break; if(i < 0) break; - if(sp && strcmp(sp->name, "main") == 0) - break; + if(sp){ + if(strcmp(sp->name, "main") == 0 + || strcmp(sp->name, "procscheduler") == 0 + || strcmp(sp->name, "threadstart") == 0) + break; + } pc = nextpc; memmove(cur, next, mach->nwindreg*sizeof(cur[0])); } |