diff options
author | Hector Chu <hectorchu@gmail.com> | 2009-12-13 12:39:20 -0800 |
---|---|---|
committer | Hector Chu <hectorchu@gmail.com> | 2009-12-13 12:39:20 -0800 |
commit | 41571e5c6b33f5a48ad748ddcbe0b65b93bccd10 (patch) | |
tree | cda9259e623b814b5a7abe41839cea648a6763aa /src/cmd/8l/asm.c | |
parent | 4a1dc14dabaee0d29e13736cf255dfb5a1736f80 (diff) | |
download | golang-41571e5c6b33f5a48ad748ddcbe0b65b93bccd10.tar.gz |
8l: add support for PE output.
R=rsc
http://codereview.appspot.com/166080
Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/cmd/8l/asm.c')
-rw-r--r-- | src/cmd/8l/asm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c index 00e9e6925..73ceeba6e 100644 --- a/src/cmd/8l/asm.c +++ b/src/cmd/8l/asm.c @@ -32,6 +32,7 @@ #include "../ld/lib.h" #include "../ld/elf.h" #include "../ld/macho.h" +#include "../ld/pe.h" #define Dbufslop 100 @@ -531,6 +532,7 @@ asmb(void) case 7: case 8: case 9: + case 10: v = rnd(HEADR+textsize, INITRND); seek(cout, v, 0); break; @@ -588,6 +590,7 @@ asmb(void) case 7: case 8: case 9: + case 10: symo = rnd(HEADR+textsize, INITRND)+datsize; symo = rnd(symo, INITRND); break; @@ -605,6 +608,8 @@ asmb(void) asmlc(); if(dlm) asmdyn(); + if(HEADTYPE == 10) + strnput("", INITRND-(8+symsize+lcsize)%INITRND); cflush(); seek(cout, symo, 0); lputl(symsize); @@ -1018,6 +1023,10 @@ asmb(void) if(a+elfwriteinterp() > ELFRESERVE) diag("ELFRESERVE too small: %d > %d", a, ELFRESERVE); break; + + case 10: + asmbpe(); + break; } cflush(); } |