aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2013-01-31 23:12:42 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2013-01-31 23:12:42 +0000
commitcfbafb9a7e8bba1735fae52aeef156439b10fa43 (patch)
tree55a3ff09d744a0d922fdbd77d7211de2573c8ede /libgo
parentc5f4be845ac03fb125b36df3a4c843ecceb0ceec (diff)
downloadgcc-cfbafb9a7e8bba1735fae52aeef156439b10fa43.zip
gcc-cfbafb9a7e8bba1735fae52aeef156439b10fa43.tar.gz
gcc-cfbafb9a7e8bba1735fae52aeef156439b10fa43.tar.bz2
runtime: Recognize morestack.S if there is no function name.
From-SVN: r195634
Diffstat (limited to 'libgo')
-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)
{