This patch to libgo changes the Go signal handling code to not try to handle SIGPROF. This lets the usual -pg profiler work. Except that it doesn't fully work with -fsplit-stack, but that is a separate issue. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 90d887d10e08 libgo/runtime/go-signal.c --- a/libgo/runtime/go-signal.c Wed Mar 16 16:00:52 2011 -0700 +++ b/libgo/runtime/go-signal.c Wed Mar 16 16:10:04 2011 -0700 @@ -79,9 +79,6 @@ #ifdef SIGVTARLM { SIGVTALRM, 1 }, #endif -#ifdef SIGPROF - { SIGPROF, 1 }, -#endif #ifdef SIGWINCH { SIGWINCH, 1 }, #endif