OSDN Git Service

runtime: Recognize morestack.S if there is no function name.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jan 2013 23:12:42 +0000 (23:12 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jan 2013 23:12:42 +0000 (23:12 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195634 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/runtime/go-callers.c

index b6c494c..c20dbf3 100644 (file)
@@ -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)
     {