From owner-svn-src-head@FreeBSD.ORG Thu Oct 13 20:13:14 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 985A9106564A; Thu, 13 Oct 2011 20:13:14 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [70.36.220.4]) by mx1.freebsd.org (Postfix) with ESMTP id 4D9518FC15; Thu, 13 Oct 2011 20:13:14 +0000 (UTC) Received: from [172.23.7.198] (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mail.xcllnt.net (8.14.5/8.14.5) with ESMTP id p9DKD76q029430 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 13 Oct 2011 13:13:13 -0700 (PDT) (envelope-from marcel@xcllnt.net) Mime-Version: 1.0 (Apple Message framework v1244.3) Content-Type: text/plain; charset=us-ascii From: Marcel Moolenaar In-Reply-To: <20111013190943.GM1511@deviant.kiev.zoral.com.ua> Date: Thu, 13 Oct 2011 13:13:10 -0700 Content-Transfer-Encoding: 7bit Message-Id: References: <201110131620.p9DGKAM2022926@svn.freebsd.org> <20111013182025.GK1511@deviant.kiev.zoral.com.ua> <7FB94714-3E47-4E1E-947A-AC62FF071135@xcllnt.net> <20111013190943.GM1511@deviant.kiev.zoral.com.ua> To: Kostik Belousov X-Mailer: Apple Mail (2.1244.3) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Marcel Moolenaar , src-committers@freebsd.org Subject: Re: svn commit: r226343 - head/sys/vm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Oct 2011 20:13:14 -0000 On Oct 13, 2011, at 12:09 PM, Kostik Belousov wrote: > On Thu, Oct 13, 2011 at 11:30:12AM -0700, Marcel Moolenaar wrote: >> >> On Oct 13, 2011, at 11:20 AM, Kostik Belousov wrote: >> >>> The two commits removed NX support for .data/.bss for 32bit binaries >>> Thon amd64. is is too unfortunate. Can we claim that only old >>> Thbinaries need this hack ? >> >> I don't know. When did our ABI for i386 change to have NX by default? > I think it changed de-facto when NX appears to be supported by hardware. > In other words, PF_R->PF_X was always considered a coincident, and not > a promise. That's really besides the point. ABI changes are made deliberately and ABIs must be well-documented for anyone to adhere to it. You can't post hoc wave your hand and say that at some unspecified time in the past the ABI changed: at what precise time does "supported by hardware mean" and how does that tie to a major FreeBSD version? Point in case: the JDK 1.4.x still works on FreeBSD 9.x (i386), so the ABI really hasn't changed at all in that respect. > I think we can claim that the moment FreeBSD gained PAE support, it happen. We cannot make that claim at at. > I would suggest to add a sysctl, say kern.elf32.readable_nx, with > the values: > 0 - strictly follow segment permissions > 1 - PF_R implies PF_X if p_osrel < 600000 > 2 - PF_R always implied PF_X > for 32bit binaries. A sysctl is a good idea, but I would just give it a 0/1 value. Adding a "p_osrel < 600000" case is entirely without grounds. -- Marcel Moolenaar marcel@xcllnt.net