From 8607bed7445100993938ee96a028627461fce9d3 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Thu, 25 Aug 2016 22:04:04 -0400 Subject: [PATCH] runtime: avoid dependence on main symbol For -buildmode=plugin, this lets the linker drop the main.main symbol out of the binary while including most of the runtime. (In the future it should be possible to drop the entire runtime package from plugins.) Change-Id: I3e7a024ddf5cc945e3d8b84bf37a0b7cb2a00eb6 Reviewed-on: https://go-review.googlesource.com/27821 Run-TryBot: David Crawshaw TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/runtime/proc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/proc.go b/src/runtime/proc.go index 67e8447d46..4dd2bd2005 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -2806,7 +2806,7 @@ func newproc1(fn *funcval, argp *uint8, narg int32, nret int32, callerpc uintptr } runqput(_p_, newg, true) - if atomic.Load(&sched.npidle) != 0 && atomic.Load(&sched.nmspinning) == 0 && unsafe.Pointer(fn.fn) != unsafe.Pointer(funcPC(main)) { + if atomic.Load(&sched.npidle) != 0 && atomic.Load(&sched.nmspinning) == 0 && runtimeInitTime != 0 { wakep() } _g_.m.locks-- -- 2.48.1