1
0
mirror of https://github.com/golang/go synced 2024-11-23 13:40:04 -07:00

cmd/dist: add missing Native Client bits

Some parts of CL 15400047 didn't survive the merge.

LGTM=rsc
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/69870044
This commit is contained in:
Dave Cheney 2014-02-28 21:45:12 +11:00
parent c2013e8a35
commit b3e0a8df24

View File

@ -173,12 +173,23 @@ static struct {
"#define g(r) -8(r)(GS*1)\n" "#define g(r) -8(r)(GS*1)\n"
"#define m(r) -4(r)(GS*1)\n" "#define m(r) -4(r)(GS*1)\n"
}, },
{"386", "nacl",
// Same as Linux above.
"#define get_tls(r) MOVL 8(GS), r\n"
"#define g(r) -8(r)(GS*1)\n"
"#define m(r) -4(r)(GS*1)\n"
},
{"386", "", {"386", "",
"#define get_tls(r)\n" "#define get_tls(r)\n"
"#define g(r) 0(GS)\n" "#define g(r) 0(GS)\n"
"#define m(r) 4(GS)\n" "#define m(r) 4(GS)\n"
}, },
{"amd64p32", "nacl",
"#define get_tls(r)\n"
"#define g(r) 0(GS)\n"
"#define m(r) 4(GS)\n"
},
{"amd64", "windows", {"amd64", "windows",
"#define get_tls(r) MOVQ 0x28(GS), r\n" "#define get_tls(r) MOVQ 0x28(GS), r\n"
"#define g(r) 0(r)\n" "#define g(r) 0(r)\n"
@ -248,7 +259,8 @@ mkzasm(char *dir, char *file)
ok: ok:
// Run 6c -D GOOS_goos -D GOARCH_goarch -I workdir -a -n -o workdir/proc.acid proc.c // Run 6c -D GOOS_goos -D GOARCH_goarch -I workdir -a -n -o workdir/proc.acid proc.c
// to get acid [sic] output. // to get acid [sic] output. Run once without the -a -o workdir/proc.acid in order to
// report compilation failures (the -o redirects all messages, unfortunately).
vreset(&argv); vreset(&argv);
vadd(&argv, bpathf(&b, "%s/%sc", tooldir, gochar)); vadd(&argv, bpathf(&b, "%s/%sc", tooldir, gochar));
vadd(&argv, "-D"); vadd(&argv, "-D");
@ -257,8 +269,8 @@ ok:
vadd(&argv, bprintf(&b, "GOARCH_%s", goarch)); vadd(&argv, bprintf(&b, "GOARCH_%s", goarch));
vadd(&argv, "-I"); vadd(&argv, "-I");
vadd(&argv, bprintf(&b, "%s", workdir)); vadd(&argv, bprintf(&b, "%s", workdir));
vadd(&argv, "-a");
vadd(&argv, "-n"); vadd(&argv, "-n");
vadd(&argv, "-a");
vadd(&argv, "-o"); vadd(&argv, "-o");
vadd(&argv, bpathf(&b, "%s/proc.acid", workdir)); vadd(&argv, bpathf(&b, "%s/proc.acid", workdir));
vadd(&argv, "proc.c"); vadd(&argv, "proc.c");