cmd/release: clean $GOROOT/pkg/GOOS_GOARCH_{dynlink,shared,testcshared_shared}

Fixes golang/go#30028

Change-Id: Ie4afee88c43beb92bd7538edfb0f8f2882d67819
Reviewed-on: https://go-review.googlesource.com/c/160660
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/cmd/release/release.go b/cmd/release/release.go
index ddfa4cf..9d69adc 100644
--- a/cmd/release/release.go
+++ b/cmd/release/release.go
@@ -477,7 +477,15 @@
 	// cmd/link, etc. If they want to, they still can, but they'll
 	// have to pay the cost of rebuilding dependent libaries. No
 	// need to ship them just in case.
-	if err := client.RemoveAll(b.pkgDir() + "/cmd"); err != nil {
+	//
+	// Also remove go/pkg/${GOOS}_${GOARCH}_{dynlink,shared,testcshared_shared}
+	// per Issue 20038.
+	if err := client.RemoveAll(
+		b.pkgDir()+"/cmd",
+		b.pkgDir()+"_dynlink",
+		b.pkgDir()+"_shared",
+		b.pkgDir()+"_testcshared_shared",
+	); err != nil {
 		return err
 	}