Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Feb 2003 00:55:08 -0800
From:      David Schultz <das@FreeBSD.org>
To:        standards@FreeBSD.org
Cc:        obrien@FreeBSD.org
Subject:   importing gdtoa
Message-ID:  <20030221085508.GA55786@HAL9000.homeunix.com>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030221085508.GA55786>