aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime')
-rw-r--r--libgo/runtime/go-callers.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/libgo/runtime/go-callers.c b/libgo/runtime/go-callers.c
index b6c494c..c20dbf3 100644
--- a/libgo/runtime/go-callers.c
+++ b/libgo/runtime/go-callers.c
@@ -34,13 +34,24 @@ callback (void *data, uintptr_t pc, const char *filename, int lineno,
/* Skip split stack functions. */
if (function != NULL)
{
- const char *p = function;
+ const char *p;
+ p = function;
if (__builtin_strncmp (p, "___", 3) == 0)
++p;
if (__builtin_strncmp (p, "__morestack_", 12) == 0)
return 0;
}
+ else if (filename != NULL)
+ {
+ const char *p;
+
+ p = strrchr (filename, '/');
+ if (p == NULL)
+ p = filename;
+ if (__builtin_strncmp (p, "morestack.S", 11) == 0)
+ return 0;
+ }
if (arg->skip > 0)
{