1
0
mirror of https://github.com/golang/go synced 2024-11-21 16:04:45 -07:00

8l: fix windows build

R=rsc
CC=golang-dev
https://golang.org/cl/2595041
This commit is contained in:
Alex Brainman 2010-10-20 14:06:00 +11:00
parent a9725396c0
commit 5e4963d9e8

View File

@ -86,6 +86,7 @@ pewrite(void)
{
int i, j;
seek(cout, 0, 0);
ewrite(cout, dosstub, sizeof dosstub);
strnput("PE", 4);
@ -102,7 +103,7 @@ pewrite(void)
void
dope(void)
{
textsect = new_section(".text", textsize, 0);
textsect = new_section(".text", segtext.len, 0);
textsect->Characteristics = IMAGE_SCN_CNT_CODE|
IMAGE_SCN_CNT_INITIALIZED_DATA|
IMAGE_SCN_MEM_EXECUTE|IMAGE_SCN_MEM_READ;
@ -167,7 +168,6 @@ add_import_table(void)
for(f=fs; f->name; f++)
f->thunk += va;
vlong off = seek(cout, 0, 1);
seek(cout, 0, 2);
for(d=ds; ; d++) {
lputl(d->OriginalFirstThunk);
@ -187,12 +187,13 @@ add_import_table(void)
lputl(f->thunk);
strnput("", isect->SizeOfRawData - size);
cflush();
seek(cout, off, 0);
}
void
asmbpe(void)
{
vlong eof;
switch(thechar) {
default:
diag("unknown PE architecture");
@ -205,6 +206,10 @@ asmbpe(void)
break;
}
// make sure the end of file is INITRND-aligned.
eof = seek(cout, 0, 2);
strnput("", rnd(eof, INITRND) - eof);
add_import_table();
fh.NumberOfSections = nsect;