aboutsummaryrefslogtreecommitdiff
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
commit7663ffcae641dbf06b9d5321c9afbad4fc73e336 (patch)
tree9c159bc3a5799d22e5a72d718f5ffef5b838f18d /src/cmd/8l
parentdfc22e29ec2f687375d32c9f7662416d0c9f97d3 (diff)
downloadgo-7663ffcae641dbf06b9d5321c9afbad4fc73e336.tar.xz
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://golang.org/cl/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 062dc05662..f6de746466 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 f06bc5d9dc..8144dfadd0 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();