diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-31 23:12:42 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-01-31 23:12:42 +0000 |
commit | 07eac0101d7ae7c620e6aed9579df36bf520b5f7 (patch) | |
tree | 55a3ff09d744a0d922fdbd77d7211de2573c8ede /libgo | |
parent | 9add6570997485bc9e37526687d5016d06cd5901 (diff) | |
download | gcc-07eac0101d7ae7c620e6aed9579df36bf520b5f7.tar.gz |
runtime: Recognize morestack.S if there is no function name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195634 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/runtime/go-callers.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libgo/runtime/go-callers.c b/libgo/runtime/go-callers.c index b6c494cb346..c20dbf35610 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) { |