diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c index 2e0f5b6360e30f7cf4145c14e1ffac388fe69e0a..1feeccf4176c3d23e2650f7a4c920938e958e1f3 100644 --- a/src/cmd/dist/build.c +++ b/src/cmd/dist/build.c @@ -347,6 +347,7 @@ static char *oldtool[] = { "5a", "5c", "5g", "5l", "6a", "6c", "6g", "6l", "8a", "8c", "8g", "8l", + "9a", "9c", "9g", "9l", "6cov", "6nm", "6prof", @@ -553,6 +554,11 @@ static struct { "../cc/pswt.c", "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a", }}, + {"cmd/9c", { + "../cc/pgen.c", + "../cc/pswt.c", + "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a", + }}, {"cmd/5g", { "../gc/cplx.c", "../gc/pgen.c", @@ -577,6 +583,14 @@ static struct { "../gc/popt.h", "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libgc.a", }}, + {"cmd/9g", { + "../gc/cplx.c", + "../gc/pgen.c", + "../gc/plive.c", + "../gc/popt.c", + "../gc/popt.h", + "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libgc.a", + }}, {"cmd/5l", { "../ld/*", }}, @@ -586,6 +600,9 @@ static struct { {"cmd/8l", { "../ld/*", }}, + {"cmd/9l", { + "../ld/*", + }}, {"cmd/go", { "zdefaultcc.go", }}, @@ -1178,12 +1195,26 @@ shouldbuild(char *file, char *dir) // Check file name for GOOS or GOARCH. name = lastelem(file); - for(i=0; i<nelem(okgoos); i++) - if(contains(name, okgoos[i]) && !streq(okgoos[i], goos)) + for(i=0; i<nelem(okgoos); i++) { + if(streq(okgoos[i], goos)) + continue; + p = xstrstr(name, okgoos[i]); + if(p == nil) + continue; + p += xstrlen(okgoos[i]); + if(*p == '.' || *p == '_' || *p == '\0') return 0; - for(i=0; i<nelem(okgoarch); i++) - if(contains(name, okgoarch[i]) && !streq(okgoarch[i], goarch)) + } + for(i=0; i<nelem(okgoarch); i++) { + if(streq(okgoarch[i], goarch)) + continue; + p = xstrstr(name, okgoarch[i]); + if(p == nil) + continue; + p += xstrlen(okgoarch[i]); + if(*p == '.' || *p == '_' || *p == '\0') return 0; + } // Omit test files. if(contains(name, "_test")) @@ -1381,6 +1412,10 @@ static char *cleantab[] = { "cmd/8c", "cmd/8g", "cmd/8l", + "cmd/9a", + "cmd/9c", + "cmd/9g", + "cmd/9l", "cmd/cc", "cmd/gc", "cmd/go", diff --git a/src/cmd/dist/buildruntime.c b/src/cmd/dist/buildruntime.c index b16b5756ccd58e94ff0469a3555f3d66d42b651f..9b40a596861cd98ce29cb017c3ccc814f95d51fc 100644 --- a/src/cmd/dist/buildruntime.c +++ b/src/cmd/dist/buildruntime.c @@ -148,6 +148,13 @@ static struct { {"arm", "", "#define LR R14\n" }, + + {"power64", "", + "#define g R30\n" + }, + {"power64le", "", + "#define g R30\n" + }, }; #define MAXWINCB 2000 /* maximum number of windows callbacks allowed */