From owner-freebsd-hackers Tue Jan 21 20:31:25 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id UAA11709 for hackers-outgoing; Tue, 21 Jan 1997 20:31:25 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA11698 for ; Tue, 21 Jan 1997 20:31:16 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.3/8.6.9) id PAA01813; Wed, 22 Jan 1997 15:29:20 +1100 Date: Wed, 22 Jan 1997 15:29:20 +1100 From: Bruce Evans Message-Id: <199701220429.PAA01813@godzilla.zeta.org.au> To: freebsd-hackers@FreeBSD.org, jdp@polstra.com Subject: Re: Commerical applications (was: Development and validation Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk >I realized later that this is not true. ELF double-maps the page >containing the boundary between text and data. That wastes a page >(4K), making ELF's memory usage in execution the same on average >as that of a.out. Isn't this just wasteful on (flat model) i386's? It provides no protection against writing the text in the boundary page via the data mapping, and isn't necessary for execution because the i386 doesn't have an execution bit in its page tables. Protection can only be provided by starting the data segment at the boundary, but this would break many (broken) programs that assume that text pointers are interchangeable with data pointers, and doesn't require double mapping anyway. Bruce