diff options
| author | Russ Cox <rsc@golang.org> | 2013-03-19 15:45:42 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-03-19 15:45:42 -0400 |
| commit | b4f3533c92dc59f22bbddbc5b73a1575ce6f7f8b (patch) | |
| tree | cc69d632eaae7b8aff08e47c22257ee453b53568 /src/cmd/8l/obj.c | |
| parent | ab08eac5b78c05672a1bcdc5012f9f9384f86fba (diff) | |
| download | go-b4f3533c92dc59f22bbddbc5b73a1575ce6f7f8b.tar.xz | |
cmd/ld: replace -hostobj with -linkmode
Still disabled. Need to fix TLS.
R=golang-dev, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/7783044
Diffstat (limited to 'src/cmd/8l/obj.c')
| -rw-r--r-- | src/cmd/8l/obj.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c index 14c6b6aa97..306e288a35 100644 --- a/src/cmd/8l/obj.c +++ b/src/cmd/8l/obj.c @@ -115,7 +115,7 @@ main(int argc, char *argv[]) flagcount("d", "disable dynamic executable", &debug['d']); flagcount("f", "ignore version mismatch", &debug['f']); flagcount("g", "disable go package data checks", &debug['g']); - flagcount("hostobj", "generate host object file", &isobj); + flagfn1("linkmode", "mode: set link mode (internal, external, auto)", setlinkmode); flagstr("k", "sym: set field tracking symbol", &tracksym); flagstr("o", "outfile: set output file", &outfile); flagcount("p", "insert profiling code", &debug['p']); @@ -131,10 +131,6 @@ main(int argc, char *argv[]) flagparse(&argc, &argv, usage); - // TODO: link mode flag instead of isobj - if(isobj) - linkmode = LinkExternal; - if(argc != 1) usage(); @@ -143,17 +139,19 @@ main(int argc, char *argv[]) if(HEADTYPE == -1) HEADTYPE = headtype(goos); - if(isobj) { - switch(HEADTYPE) { - default: - sysfatal("cannot use -hostobj with -H %s", headstr(HEADTYPE)); - case Hdarwin: - case Hfreebsd: - case Hlinux: - case Hnetbsd: - case Hopenbsd: - break; - } + switch(HEADTYPE) { + default: + if(linkmode == LinkAuto) + linkmode = LinkInternal; + if(linkmode == LinkExternal) + sysfatal("cannot use -linkmode=external with -H %s", headstr(HEADTYPE)); + break; + case Hdarwin: + case Hfreebsd: + case Hlinux: + case Hnetbsd: + case Hopenbsd: + break; } if(outfile == nil) { |
