[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] decNumber issues for decimal float support



As discussed in <http://www.eglibc.org/archives/patches/msg00156.html>,
developers from IBM are planning to submit to EGLIBC the C library
support for C decimal floating types.  This support uses the decNumber
library, and before the decimal float support can be added to EGLIBC
there are several issues regarding decNumber that need to be sorted out.
There might be similar issues with the BID library that Intel is
planning to contribute to GCC.

GCC uses decNumber within the C compiler for compile-time support, and
within libgcc for runtime support of arithmetic, comparisons, and type
conversions.  IBM contributed version 3.25 of the decNumber code to GCC,
where it has an FSF copyright and the license is GPL version 2 or later
plus "unlimited permission to link the compiled version of this file
into combinations with other programs, and to distribute those
combinations without any restriction coming from the use of this file".
The glibc decimal float patch also uses decNumber for underlying
support, but with a different version of decNumber which the author,
Mike Cowlishaw of IBM, released with an IBM copyright and LGPL v2.1
license.

When decNumber is used in two GNU projects we will presumably need a
home for the sources from which the other project can copy.  The license
will need to be appropriate for both projects.  It might be relevant for
the license issue that the decNumber functions in both projects are
meant to be used only to support the documented functions in those
libraries and are not meant to be called directly from user code.

Meanwhile, Mike Cowlishaw has released new versions of decNumber.  We
would like to upgrade the version used in GCC and also use the new
version in EGLIBC.  We expect that there will be no problem getting IBM
and Mike Cowlishaw to contribute to the GNU project a new version using
whatever license is appropriate for the two GNU projects and agreeable
to the FSF.  From a technical point of view, upgrading to a new version
of decNumber includes reformatting to follow GNU coding conventions,
fixing header file inclusions necessary to compile GCC for a variety of
hosts, and adding prefixes to global functions in libraries so they
won't conflict with each other and with versions of decNumber that
applications link against.  For GCC the upgrade will be in the form of
a patch against current decNumber files in the GCC tree.

These issues could take a lot of time to sort out so I'd like to have
people start thinking about them now instead of waiting until we're
ready to submit the decimal float support to EGLIBC.

Janis Johnson
IBM Linux Technology Center