From owner-freebsd-standards Mon Feb 17 16:49:17 2003 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 069AB37B401 for ; Mon, 17 Feb 2003 16:49:16 -0800 (PST) Received: from espresso.bsdmike.org (espresso.bsdmike.org [65.39.129.122]) by mx1.FreeBSD.org (Postfix) with ESMTP id F06E443F93 for ; Mon, 17 Feb 2003 16:49:14 -0800 (PST) (envelope-from mike@espresso.bsdmike.org) Received: by espresso.bsdmike.org (Postfix, from userid 1002) id 7A77A9BC3; Mon, 17 Feb 2003 19:36:55 -0500 (EST) Date: Mon, 17 Feb 2003 19:36:55 -0500 From: Mike Barcroft To: Dag-Erling Smorgrav Cc: Kris Kennaway , standards@freebsd.org Subject: Re: -fno-builtin world breaks in gperf Message-ID: <20030217193655.I74149@espresso.bsdmike.org> References: <20030217213405.GB71679@rot13.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ; from des@ofug.org on Tue, Feb 18, 2003 at 01:03:44AM +0100 Organization: The FreeBSD Project Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Dag-Erling Smorgrav writes: > Kris Kennaway writes: > > On Mon, Feb 17, 2003 at 03:46:15PM +0100, Dag-Erling Smorgrav wrote: > > > Our libm doesn't seem to support long double at all, yet our libstdc++ > > > requires long double support. > > I pointed this out a while ago..looks like no-one did anything about > > it yet. > > I've looked at it, and it looks Hard[tm]. The four architectures I > tested (alpha, ia32, ia64, sparc64) had four different representations > for long double: [...] You might want to take a look at the fpclassify() implementation. It doesn't look like your findings are correct. Specifically, see the bitfield layouts in _fpmath.h. IIRC, long doubles are as follows: - alpha IEEE double (64-bit) format - ia64 IEEE quad (128-bit) format - i386 IEEE double-extended (80-bit) format - sparc64 IEEE quad (128-bit) format - powerpc IEEE quad (128-bit) format Plus the following quirks: - alpha doesn't support IEEE rounding by default (compiler options needed) - i386 and ia64 have a normalization bit in the mantissa - i386 has 101 other quirks that BDE knows about :) Best regards, Mike Barcroft To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message