From d795f07718f0011b035adad4a8fb5f5a33cb7ba1 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 18 Jan 2013 15:10:36 -0500 Subject: [PATCH] build: change GO386=sse to GO386=sse2 sse2 is a more precise description of the requirement, and it matches what people will see in, for example grep sse2 /proc/cpuinfo # linux sysctl hw.optional.sse2 # os x R=golang-dev, dsymonds, iant CC=golang-dev https://golang.org/cl/7057050 --- src/cmd/dist/a.h | 2 +- src/cmd/dist/build.c | 4 ++-- src/cmd/dist/plan9.c | 2 +- src/cmd/dist/unix.c | 2 +- src/cmd/dist/windows.c | 2 +- src/cmd/gc/lex.c | 15 ++++++++++++--- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/cmd/dist/a.h b/src/cmd/dist/a.h index 7c6516dab6..fcd81cc511 100644 --- a/src/cmd/dist/a.h +++ b/src/cmd/dist/a.h @@ -123,7 +123,7 @@ void runv(Buf *b, char *dir, int mode, Vec *argv); void bgrunv(char *dir, int mode, Vec *argv); void bgwait(void); bool streq(char*, char*); -bool cansse(void); +bool cansse2(void); void writefile(Buf*, char*, int); void xatexit(void (*f)(void)); void xexit(int); diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c index e51fc9d7d7..e91e9eaecd 100644 --- a/src/cmd/dist/build.c +++ b/src/cmd/dist/build.c @@ -105,8 +105,8 @@ init(void) xgetenv(&b, "GO386"); if(b.len == 0) { - if(cansse()) - bwritestr(&b, "sse"); + if(cansse2()) + bwritestr(&b, "sse2"); else bwritestr(&b, "387"); } diff --git a/src/cmd/dist/plan9.c b/src/cmd/dist/plan9.c index 8fef74f95d..56f922ced6 100644 --- a/src/cmd/dist/plan9.c +++ b/src/cmd/dist/plan9.c @@ -759,7 +759,7 @@ xtryexecfunc(void (*f)(void)) } bool -cansse(void) +cansse2(void) { // if we had access to cpuid, could answer this question // less conservatively. diff --git a/src/cmd/dist/unix.c b/src/cmd/dist/unix.c index a99e5bfc46..baf019ef9c 100644 --- a/src/cmd/dist/unix.c +++ b/src/cmd/dist/unix.c @@ -780,7 +780,7 @@ __cpuid(int dst[4], int ax) } bool -cansse(void) +cansse2(void) { int info[4]; diff --git a/src/cmd/dist/windows.c b/src/cmd/dist/windows.c index 4edb39cb58..b23d8af475 100644 --- a/src/cmd/dist/windows.c +++ b/src/cmd/dist/windows.c @@ -987,7 +987,7 @@ cpuid(int dst[4], int ax) } bool -cansse(void) +cansse2(void) { int info[4]; diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index 3415d8f0de..d50b07ddca 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -217,7 +217,6 @@ main(int argc, char *argv[]) goroot = getgoroot(); goos = getgoos(); goarch = thestring; - use_sse = strcmp(getgo386(), "sse") == 0; setexp(); @@ -261,6 +260,9 @@ main(int argc, char *argv[]) flagparse(&argc, &argv, usage); + if(argc < 1) + usage(); + if(flag_race) { racepkg = mkpkg(strlit("runtime/race")); racepkg->name = "race"; @@ -273,8 +275,15 @@ main(int argc, char *argv[]) if(debug['l'] <= 1) debug['l'] = 1 - debug['l']; - if(argc < 1) - usage(); + if(thechar == '8') { + p = getgo386(); + if(strcmp(p, "387") == 0) + use_sse = 0; + else if(strcmp(p, "sse2") == 0) + use_sse = 1; + else + sysfatal("unsupported setting GO386=%s", p); + } pathname = mal(1000); if(getwd(pathname, 999) == 0) -- 2.48.1