]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go,cmd/compile: re-enable concurrent compilation on darwin/arm64
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 4 Oct 2021 19:14:10 +0000 (12:14 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 4 Oct 2021 19:51:37 +0000 (19:51 +0000)
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>
src/cmd/compile/internal/base/flag.go
src/cmd/go/internal/work/gc.go

index 942659bcc0f1c6f8c1d55d80fbd6456c773de25a..241f5da1855f5361fed36056f27d0395b0768901 100644 (file)
@@ -357,7 +357,7 @@ func concurrentBackendAllowed() bool {
                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
index 414736cbd7696111d304c372b66e9b6c52ef7f1b..85f661bf3111dc393a42e6b9dbc58d8bf42da9eb 100644 (file)
@@ -234,7 +234,7 @@ CheckFlags:
                // 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