1
0
mirror of https://github.com/golang/go synced 2024-10-04 10:21:21 -06:00

[dev.power64] cmd/dist: power64/power64le support.

LGTM=rsc
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/117670045
This commit is contained in:
Shenghou Ma 2014-08-06 23:59:14 -04:00
parent 7582ecc996
commit c689eb9b21
2 changed files with 46 additions and 4 deletions

43
src/cmd/dist/build.c vendored
View File

@ -347,6 +347,7 @@ static char *oldtool[] = {
"5a", "5c", "5g", "5l", "5a", "5c", "5g", "5l",
"6a", "6c", "6g", "6l", "6a", "6c", "6g", "6l",
"8a", "8c", "8g", "8l", "8a", "8c", "8g", "8l",
"9a", "9c", "9g", "9l",
"6cov", "6cov",
"6nm", "6nm",
"6prof", "6prof",
@ -553,6 +554,11 @@ static struct {
"../cc/pswt.c", "../cc/pswt.c",
"$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a", "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a",
}}, }},
{"cmd/9c", {
"../cc/pgen.c",
"../cc/pswt.c",
"$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a",
}},
{"cmd/5g", { {"cmd/5g", {
"../gc/cplx.c", "../gc/cplx.c",
"../gc/pgen.c", "../gc/pgen.c",
@ -577,6 +583,14 @@ static struct {
"../gc/popt.h", "../gc/popt.h",
"$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libgc.a", "$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", { {"cmd/5l", {
"../ld/*", "../ld/*",
}}, }},
@ -586,6 +600,9 @@ static struct {
{"cmd/8l", { {"cmd/8l", {
"../ld/*", "../ld/*",
}}, }},
{"cmd/9l", {
"../ld/*",
}},
{"cmd/go", { {"cmd/go", {
"zdefaultcc.go", "zdefaultcc.go",
}}, }},
@ -1178,12 +1195,26 @@ shouldbuild(char *file, char *dir)
// Check file name for GOOS or GOARCH. // Check file name for GOOS or GOARCH.
name = lastelem(file); name = lastelem(file);
for(i=0; i<nelem(okgoos); i++) for(i=0; i<nelem(okgoos); i++) {
if(contains(name, okgoos[i]) && !streq(okgoos[i], goos)) 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; 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; return 0;
}
// Omit test files. // Omit test files.
if(contains(name, "_test")) if(contains(name, "_test"))
@ -1381,6 +1412,10 @@ static char *cleantab[] = {
"cmd/8c", "cmd/8c",
"cmd/8g", "cmd/8g",
"cmd/8l", "cmd/8l",
"cmd/9a",
"cmd/9c",
"cmd/9g",
"cmd/9l",
"cmd/cc", "cmd/cc",
"cmd/gc", "cmd/gc",
"cmd/go", "cmd/go",

View File

@ -148,6 +148,13 @@ static struct {
{"arm", "", {"arm", "",
"#define LR R14\n" "#define LR R14\n"
}, },
{"power64", "",
"#define g R30\n"
},
{"power64le", "",
"#define g R30\n"
},
}; };
#define MAXWINCB 2000 /* maximum number of windows callbacks allowed */ #define MAXWINCB 2000 /* maximum number of windows callbacks allowed */