From owner-cvs-src@FreeBSD.ORG Fri Mar 18 06:16:53 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6D4DA16A4CE; Fri, 18 Mar 2005 06:16:53 +0000 (GMT) Received: from VARK.MIT.EDU (VARK.MIT.EDU [18.95.3.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0900F43D3F; Fri, 18 Mar 2005 06:16:53 +0000 (GMT) (envelope-from das@FreeBSD.ORG) Received: from VARK.MIT.EDU (localhost [127.0.0.1]) by VARK.MIT.EDU (8.13.3/8.13.1) with ESMTP id j2I6GlP4040997; Fri, 18 Mar 2005 01:16:47 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by VARK.MIT.EDU (8.13.3/8.13.1/Submit) id j2I6GlxO040996; Fri, 18 Mar 2005 01:16:47 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Fri, 18 Mar 2005 01:16:47 -0500 From: David Schultz To: Alexey Dokuchaev Message-ID: <20050318061647.GA40922@VARK.MIT.EDU> Mail-Followup-To: Alexey Dokuchaev , src-committers@FreeBSD.ORG, cvs-src@FreeBSD.ORG, cvs-all@FreeBSD.ORG References: <200503172221.j2HMLkfq017761@repoman.freebsd.org> <20050318055212.GA70385@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050318055212.GA70385@FreeBSD.org> cc: cvs-src@FreeBSD.ORG cc: src-committers@FreeBSD.ORG cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/lib/msun/i387 fenv.c fenv.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2005 06:16:53 -0000 On Fri, Mar 18, 2005, Alexey Dokuchaev wrote: > On Thu, Mar 17, 2005 at 10:21:46PM +0000, David Schultz wrote: > > das 2005-03-17 22:21:46 UTC > > > > FreeBSD src repository > > > > Modified files: > > lib/msun/i387 fenv.c fenv.h > > Log: > > Make the fenv.h routines work for programs that use SSE for > > floating-point arithmetic on i386. Now I'm going to make excuses > > for why this code is kinda scary: > > > > - To avoid breaking the ABI with 5.3-RELEASE, we can't change > > sizeof(fenv_t). I stuck the saved mxcsr in some discontiguous > > reserved bits in the existing structure. > > Why do you care about ABI compatibility between 6-CURRENT and 5.3-RELEASE? > If you plan to MFC this code at some point, you could use your current > approach in RELENG_5. This would, of course, mean you'd have to maintain > two different code sets, but still. The reasons are manifold. For one, I would like the complicated version to get exposure in -CURRENT before I MFC it. Further, this only adds a few extra instructions, so it's not a big deal, particularly compared to the code to support older processors. You're right that I could just bump the libm version number and break the ABI, but that inconveniences people, so I would like to avoid it when possible.