From owner-freebsd-standards Fri Feb 21 0:55:11 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 F120537B401; Fri, 21 Feb 2003 00:55:09 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-224.client.attbi.com [12.233.57.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 705C643FA3; Fri, 21 Feb 2003 00:55:09 -0800 (PST) (envelope-from das@FreeBSD.org) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.6/8.12.5) with ESMTP id h1L8t89l055875; Fri, 21 Feb 2003 00:55:08 -0800 (PST) (envelope-from das@FreeBSD.org) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6/8.12.5/Submit) id h1L8t8OQ055874; Fri, 21 Feb 2003 00:55:08 -0800 (PST) (envelope-from das@FreeBSD.org) Date: Fri, 21 Feb 2003 00:55:08 -0800 From: David Schultz To: standards@FreeBSD.org Cc: obrien@FreeBSD.org Subject: importing gdtoa Message-ID: <20030221085508.GA55786@HAL9000.homeunix.com> Mail-Followup-To: standards@FreeBSD.ORG, obrien@FreeBSD.ORG Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 Some time in the next two weekends, I plan to fiddle with David Gay's gdtoa sources, which include implementations of strtod and dtoa for all IEEE 754 formats. It is laid out so that the only source file in it we should have to modify is gdtoaimp.h. Here is my plan, with a few tweaks suggested by mike@. Does anyone have any comments before I throw this together in a local repository? Also, is there any CVS voodoo I need to be aware of to do the import, other than 'cvs import'? - Import gdtoa sources into src/contrib/netlib/gdtoa, except for gdtoaimp.h, which goes into src/lib/libc/include. - Add src/lib/libc/stdlib/Makefile.gdtoa to build the gdtoa stuff with the correct CFLAGS. The decision of which versions of the files to compile (i.e. long double = (double|extended|quad|double double)) needs to be MD. Put this in src/lib/libc/$arch/stdlib/Makefile.gdtoa. - Make the necessary modifications to gdtoaimp.h to support threads and Alpha and PPC quirks, and prefix exported symbols with underscores. - Remove the present src/lib/libc/stdlib/strtod.c. There shouldn't be any useful local hacks in here that can't be stuck in gdtoaimp.h. (We lose 'restrict' qualifiers.) - Add src/lib/libc/$arch/stdlib/strtod.c, which contains __weak_reference(correct-sym-for-this-arch, strtold); as well as similar glue for dtoa for printf. - Update printf() to properly handle long doubles by using gdtoa(). - Update manpages. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message