The runtime/pprof package builds stack traces that skip runtime
functions.  When libgo is compiled with -O0, the function profilealloc
appears on the stack trace, but the package doesn't know to skip it.
Rename the function so that it is skipped.  This lets the
runtime/pprof test pass when libgo is compiled with -O0.  Bootstrapped
and ran Go testsuite on x86_64-unknown-linux-gnu.  Committed to
mainline.

Ian
diff -r 98c204d2dfae libgo/runtime/malloc.goc
--- a/libgo/runtime/malloc.goc  Wed May 06 15:59:21 2015 -0700
+++ b/libgo/runtime/malloc.goc  Mon May 11 09:03:05 2015 -0700
@@ -64,7 +64,7 @@
   __asm__ (GOSYM_PREFIX "runtime.MemProfileRate");
 
 static MSpan* largealloc(uint32, uintptr*);
-static void profilealloc(void *v, uintptr size);
+static void runtime_profilealloc(void *v, uintptr size);
 static void settype(MSpan *s, void *v, uintptr typ);
 
 // Allocate an object of at least size bytes.
@@ -250,7 +250,7 @@
                if(size < (uintptr)rate && size < 
(uintptr)(uint32)c->next_sample)
                        c->next_sample -= size;
                else
-                       profilealloc(v, size);
+                       runtime_profilealloc(v, size);
        }
 
        m->locks--;
@@ -290,7 +290,7 @@
 }
 
 static void
-profilealloc(void *v, uintptr size)
+runtime_profilealloc(void *v, uintptr size)
 {
        uintptr rate;
        int32 next;

Reply via email to