diff options
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(); } |