From 1c0c252880112892427bb4ba55968a2fceef95ef Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 20 Apr 2010 20:39:55 -0700 Subject: [PATCH] 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 --- src/cmd/6l/asm.c | 10 +++++----- src/cmd/8l/asm.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) 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); -- 2.50.0