diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-03-06 17:57:23 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-03-06 17:57:23 +0000 |
commit | 593f74bbab63d34c7060918088bcbad686c31c66 (patch) | |
tree | 4ce83ca433796a728e9fdd00af105bce158532b5 /libgo/go/runtime | |
parent | 46402cbe0ba3ea92be9642cf18eedaefe57a414c (diff) | |
download | gcc-593f74bbab63d34c7060918088bcbad686c31c66.zip gcc-593f74bbab63d34c7060918088bcbad686c31c66.tar.gz gcc-593f74bbab63d34c7060918088bcbad686c31c66.tar.bz2 |
libgo: Update to weekly.2012-03-04 release.
From-SVN: r185010
Diffstat (limited to 'libgo/go/runtime')
-rw-r--r-- | libgo/go/runtime/pprof/pprof.go | 6 | ||||
-rw-r--r-- | libgo/go/runtime/pprof/pprof_test.go | 13 |
2 files changed, 14 insertions, 5 deletions
diff --git a/libgo/go/runtime/pprof/pprof.go b/libgo/go/runtime/pprof/pprof.go index 099bb6a..f67e8a8 100644 --- a/libgo/go/runtime/pprof/pprof.go +++ b/libgo/go/runtime/pprof/pprof.go @@ -20,8 +20,8 @@ import ( "text/tabwriter" ) -// BUG(rsc): CPU profiling is broken on OS X, due to an Apple kernel bug. -// For details, see http://code.google.com/p/go/source/detail?r=35b716c94225. +// BUG(rsc): A bug in the OS X Snow Leopard 64-bit kernel prevents +// CPU profiling from giving accurate results on that system. // A Profile is a collection of stack traces showing the call sequences // that led to instances of a particular event, such as allocation. @@ -156,7 +156,7 @@ func (p *Profile) Count() int { } // Add adds the current execution stack to the profile, associated with value. -// Add stores value in an internal map, so value must be suitable for use as +// Add stores value in an internal map, so value must be suitable for use as // a map key and will not be garbage collected until the corresponding // call to Remove. Add panics if the profile already contains a stack for value. // diff --git a/libgo/go/runtime/pprof/pprof_test.go b/libgo/go/runtime/pprof/pprof_test.go index 5f128c0..2dc7aef 100644 --- a/libgo/go/runtime/pprof/pprof_test.go +++ b/libgo/go/runtime/pprof/pprof_test.go @@ -7,6 +7,7 @@ package pprof_test import ( "bytes" "hash/crc32" + "os/exec" "runtime" . "runtime/pprof" "strings" @@ -17,8 +18,16 @@ import ( func TestCPUProfile(t *testing.T) { switch runtime.GOOS { case "darwin": - // see Apple Bug Report #9177434 (copied into change description) - return + out, err := exec.Command("uname", "-a").CombinedOutput() + if err != nil { + t.Fatal(err) + } + vers := string(out) + t.Logf("uname -a: %v", vers) + if strings.Contains(vers, "Darwin Kernel Version 10.8.0") && strings.Contains(vers, "root:xnu-1504.15.3~1/RELEASE_X86_64") { + t.Logf("skipping test on known-broken kernel (64-bit Snow Leopard)") + return + } case "plan9": // unimplemented return |