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/6l/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/6l/obj.c')
| -rw-r--r-- | src/cmd/6l/obj.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c index 91569794bf..3775df9de5 100644 --- a/src/cmd/6l/obj.c +++ b/src/cmd/6l/obj.c @@ -109,7 +109,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); flagcount("n", "dump symbol table", &debug['n']); flagstr("o", "outfile: set output file", &outfile); @@ -124,10 +124,6 @@ main(int argc, char *argv[]) flagcount("w", "disable DWARF generation", &debug['w']); flagparse(&argc, &argv, usage); - - // TODO: link mode flag instead of isobj - if(isobj) - linkmode = LinkExternal; if(argc != 1) usage(); @@ -137,17 +133,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) { |
