From 60f783d92bc07fa7ca78e8efccbbc841d9f9cbcb Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 7 Mar 2013 09:19:02 -0500 Subject: cmd/ld: host linking support for linux/amd64 Still to do: non-linux and non-amd64. It may work on other ELF-based amd64 systems too, but untested. "go test -ldflags -hostobj $GOROOT/misc/cgo/test" passes. Much may yet change, but this seems a reasonable checkpoint. R=iant CC=golang-dev https://golang.org/cl/7369057 --- src/cmd/6l/obj.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/cmd/6l/obj.c') diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c index 10e4a98601..6ced8be7fd 100644 --- a/src/cmd/6l/obj.c +++ b/src/cmd/6l/obj.c @@ -83,6 +83,7 @@ main(int argc, char *argv[]) INITRND = -1; INITENTRY = 0; LIBINITENTRY = 0; + linkmode = LinkInternal; // TODO: LinkAuto once everything works. nuxiinit(); flagcount("1", "use alternate profiling code", &debug['1']); @@ -122,6 +123,10 @@ main(int argc, char *argv[]) flagcount("shared", "generate shared object", &flag_shared); flagparse(&argc, &argv, usage); + + // TODO: link mode flag instead of isobj + if(isobj) + linkmode = LinkExternal; if(argc != 1) usage(); @@ -282,6 +287,7 @@ main(int argc, char *argv[]) reloc(); asmb(); undef(); + hostlink(); if(debug['v']) { Bprint(&bso, "%5.2f cpu time\n", cputime()); Bprint(&bso, "%d symbols\n", nsymbol); -- cgit v1.3