From: Wei Guangjing Date: Thu, 17 Feb 2011 23:58:47 +0000 (+1100) Subject: 6l: pe fixes X-Git-Tag: weekly.2011-02-24~69 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8ba4df2e9a742f89640b03b484e3d0251ba7fbd8;p=gostls13.git 6l: pe fixes R=rsc, brainman CC=golang-dev https://golang.org/cl/4182061 --- diff --git a/src/cmd/6l/pass.c b/src/cmd/6l/pass.c index 5eb221a35d..d6d93ee4bd 100644 --- a/src/cmd/6l/pass.c +++ b/src/cmd/6l/pass.c @@ -289,7 +289,7 @@ patch(void) // a different method is used to access them. if(p->from.type == D_INDIR+D_GS && p->to.type >= D_AX && p->to.type <= D_DI - && p->from.offset != 0x58) { + && p->from.offset <= 8) { q = appendp(p); q->from = p->from; q->from.type = D_INDIR + p->to.type; diff --git a/src/cmd/ld/pe.c b/src/cmd/ld/pe.c index 995809f5f2..425fd9e091 100644 --- a/src/cmd/ld/pe.c +++ b/src/cmd/ld/pe.c @@ -500,6 +500,7 @@ asmbpe(void) IMAGE_FILE_EXECUTABLE_IMAGE|IMAGE_FILE_DEBUG_STRIPPED; if (pe64) { fh.SizeOfOptionalHeader = sizeof(oh64); + fh.Characteristics |= IMAGE_FILE_LARGE_ADDRESS_AWARE; set(Magic, 0x20b); // PE32+ } else { fh.SizeOfOptionalHeader = sizeof(oh);