From owner-cvs-all@FreeBSD.ORG Thu Mar 6 23:24:31 2008 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17AC21065671; Thu, 6 Mar 2008 23:24:31 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail03.syd.optusnet.com.au (mail03.syd.optusnet.com.au [211.29.132.184]) by mx1.freebsd.org (Postfix) with ESMTP id F01B28FC13; Thu, 6 Mar 2008 23:24:24 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c220-239-252-11.carlnfd3.nsw.optusnet.com.au (c220-239-252-11.carlnfd3.nsw.optusnet.com.au [220.239.252.11]) by mail03.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id m26NOMoB022146 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 7 Mar 2008 10:24:23 +1100 Date: Fri, 7 Mar 2008 10:24:22 +1100 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: David Schultz In-Reply-To: <20080306063746.GC48339@zim.MIT.EDU> Message-ID: <20080307100713.I10724@delplex.bde.org> References: <200803051121.m25BLE03035426@repoman.freebsd.org> <20080305182531.GS68971@server.vk2pj.dyndns.org> <20080306021222.GA46783@zim.MIT.EDU> <47CF5D19.3090100@freebsd.org> <20080306033246.GA47280@zim.MIT.EDU> <20080306062301.GX68971@server.vk2pj.dyndns.org> <20080306063746.GC48339@zim.MIT.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@freebsd.org, cvs-all@freebsd.org, Bruce Evans , Colin Percival , cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/i386/include _types.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Mar 2008 23:24:31 -0000 On Thu, 6 Mar 2008, David Schultz wrote: > On Thu, Mar 06, 2008, Peter Jeremy wrote: >> On Wed, Mar 05, 2008 at 10:32:46PM -0500, David Schultz wrote: >>> gcc doesn't get any of this right. FreeBSD/i386 fixes the problem >>> for /doubles/ by setting the i387 to use 53-bit precision. >> Note that FreeBSD/amd64 does not do this when running i386 binaries >> so you can get discrepancies between running the same program natively >> vs running it in compatibility mode. On my list of things to fix. > Good point. I don't think i386 ever got fixed to do the > appropriate mode change for Linux binaries, either, BTW. Actually, someone named das fixed this on 2005/02/06 in rev.1.136 of i386/linux/linux_sysvec.c, but the fix is buggy -- it accesses the i387 directly and thus causes npxdna() traps which should cause panics since direct access to the i387 is not permitted (it should use npxinit(), which was originally for the corresponding initialization in setregs() but is no longer used there since the normal initialization is now virtual). Bruce