diff --git a/src/cmd/internal/obj/sym.go b/src/cmd/internal/obj/sym.go
index d9df440f6ed0c0eca7f845078d2415c5f3e1d9d7..d22a3396ce7ec0f723964d00e060b3cd99b2f31e 100644
--- a/src/cmd/internal/obj/sym.go
+++ b/src/cmd/internal/obj/sym.go
@@ -36,6 +36,7 @@ import (
 	"log"
 	"os"
 	"path/filepath"
+	"runtime"
 )
 
 func yy_isalpha(c int) bool {
@@ -131,6 +132,10 @@ func Linknew(arch *LinkArch) *Link {
 	ctxt.Version = HistVersion
 	ctxt.Goroot = Getgoroot()
 	ctxt.Goroot_final = os.Getenv("GOROOT_FINAL")
+	if runtime.GOOS == "windows" {
+		// TODO(rsc): Remove ctxt.Windows and let callers use runtime.GOOS.
+		ctxt.Windows = 1
+	}
 
 	buf, _ = os.Getwd()
 	if buf == "" {