From: Russ Cox Date: Wed, 21 Apr 2010 03:39:55 +0000 (-0700) Subject: 6l, 8l: include ELF header in PT_LOAD mapping for text segment X-Git-Tag: weekly.2010-04-27~64 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1c0c252880112892427bb4ba55968a2fceef95ef;p=gostls13.git 6l, 8l: include ELF header in PT_LOAD mapping for text segment Due to page boundary rounding, the header would have been loaded as part of the text segment already, but this change placates the "paxctl" tool on so-called hardened Linux distributions (as if normal distributions weren't already hard enough to use). R=r CC=golang-dev https://golang.org/cl/954041 --- diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c index af00f55944..b83cec68fb 100644 --- a/src/cmd/6l/asm.c +++ b/src/cmd/6l/asm.c @@ -713,11 +713,11 @@ asmb(void) ph = newElfPhdr(); ph->type = PT_LOAD; ph->flags = PF_X+PF_R; - ph->vaddr = va; - ph->paddr = va; - ph->off = fo; - ph->filesz = w; - ph->memsz = w; + ph->vaddr = va - fo; + ph->paddr = va - fo; + ph->off = 0; + ph->filesz = w + fo; + ph->memsz = w + fo; ph->align = INITRND; fo = rnd(fo+w, INITRND); diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c index eddf6617b1..4e8c0560d9 100644 --- a/src/cmd/8l/asm.c +++ b/src/cmd/8l/asm.c @@ -829,11 +829,11 @@ asmb(void) ph = newElfPhdr(); ph->type = PT_LOAD; ph->flags = PF_X+PF_R; - ph->vaddr = va; - ph->paddr = va; - ph->off = fo; - ph->filesz = w; - ph->memsz = w; + ph->vaddr = va - fo; + ph->paddr = va - fo; + ph->off = 0; + ph->filesz = w + fo; + ph->memsz = w + fo; ph->align = INITRND; fo = rnd(fo+w, INITRND);