I've manually reviewed all uses of ctxt.Flag_shared for concurrency safety.
And I manually tested with the race detector and found no issues.
Allow -shared to be used with compiler concurrency,
thereby re-enabling concurrent compilation on darwin/arm64.
Fixes #48496
Change-Id: I8a084cb08e6050950e404ceb9bd7e3a20e07e9c5
Reviewed-on: https://go-review.googlesource.com/c/go/+/353871
Trust: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
return false
}
// TODO: fix races and enable the following flags
- if Ctxt.Flag_shared || Ctxt.Flag_dynlink || Flag.Race {
+ if Ctxt.Flag_dynlink || Flag.Race {
return false
}
return true
// except for known commonly used flags.
// If the user knows better, they can manually add their own -c to the gcflags.
switch flag {
- case "-N", "-l", "-S", "-B", "-C", "-I":
+ case "-N", "-l", "-S", "-B", "-C", "-I", "-shared":
// OK
default:
canDashC = false