summaryrefslogtreecommitdiff
path: root/src/cmd/8l
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-03-07 19:57:25 -0800
committerRuss Cox <rsc@golang.org>2013-03-07 19:57:25 -0800
commitff767d40f51adf48f76959feb564219f742a9727 (patch)
tree87f89a975706b657c406ee12f44795bda05e0a61 /src/cmd/8l
parenta583abf416b36c1ad78b5b8cb696d85f3834f8c3 (diff)
downloadgo-ff767d40f51adf48f76959feb564219f742a9727.tar.gz
cmd/ld: steps toward 386 host linking
- Introduce MaxAlign constant and use in data layout and ELF section header. - Allow up to 16-byte alignment for large objects (will help Keith's hash changes). - Emit ELF symbol for .rathole (global /dev/null used by 8c). - Invoke gcc with -m32/-m64 as appropriate. - Don't invoke gcc if writing the .o file failed. R=golang-dev, iant CC=golang-dev https://codereview.appspot.com/7563045
Diffstat (limited to 'src/cmd/8l')
-rw-r--r--src/cmd/8l/l.h1
-rw-r--r--src/cmd/8l/obj.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/8l/l.h b/src/cmd/8l/l.h
index 062dc0566..f6de74646 100644
--- a/src/cmd/8l/l.h
+++ b/src/cmd/8l/l.h
@@ -42,6 +42,7 @@ enum
thechar = '8',
PtrSize = 4,
IntSize = 4,
+ MaxAlign = 32, // max data alignment
FuncAlign = 16
};
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c
index f06bc5d9d..8144dfadd 100644
--- a/src/cmd/8l/obj.c
+++ b/src/cmd/8l/obj.c
@@ -130,6 +130,10 @@ main(int argc, char *argv[])
flagparse(&argc, &argv, usage);
+ // TODO: link mode flag instead of isobj
+ if(isobj)
+ linkmode = LinkExternal;
+
if(argc != 1)
usage();