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

[commits] r10332 - in /libdfp/trunk: ./ autom4te.cache/



Author: ryanarn
Date: Wed Apr 28 12:56:46 2010
New Revision: 10332

Log:
2010-04-28  Ryan S. Arnold  <rsa@xxxxxxxxxx>

	* configure: Regenerated.
	* Makefile.in: Remove appending of cc_msize to CFLAGS.
	* configure.ac: Remove cc_msize and cc_mzarch and accompanying
	AC_SUBST.  The preferred method is to require the user to pass
	-m[31|32|64] in CFLAGS as an env variable when configure is invoked.
	* README.user: New file.
	* README.developer: Updated to direct user to pass -m[31|32|64] in
	CFLAGS and to always use --build and --host values that align with the
	-m values.
	* autom4te.cache/requests
	* autom4te.cache/output.0


Added:
    libdfp/trunk/README.user
Modified:
    libdfp/trunk/Makefile.in
    libdfp/trunk/README.developer
    libdfp/trunk/autom4te.cache/output.0
    libdfp/trunk/autom4te.cache/requests
    libdfp/trunk/configure
    libdfp/trunk/configure.ac

Modified: libdfp/trunk/Makefile.in
==============================================================================
--- libdfp/trunk/Makefile.in (original)
+++ libdfp/trunk/Makefile.in Wed Apr 28 12:56:46 2010
@@ -6,8 +6,26 @@
 top_builddir = .
 
 prefix = @prefix@
+exec_prefix = @exec_prefix@
 libdir = @libdir@
 includedir = @includedir@
+
+#cc_msize = @cc_msize@
+
+# Not used on non-Z systems, i.e. empty
+#cc_mzarch = @cc_mzarch@
+
+# Where to install the library and object files.
+ifndef libdir
+libdir = $(exec_prefix)/lib
+endif
+inst_libdir = $(install_root)$(libdir)
+
+# Where to install the header files.
+ifndef includedir
+includedir = $(prefix)/include
+endif
+inst_includedir = $(install_root)$(includedir)
 
 dfp_name = @PACKAGE_NAME@
 dfp_version = @PACKAGE_VERSION@
@@ -20,7 +38,8 @@
 # The soname that symlinks to the real library code: e.g. libdfp.so.1.
 # Traditionally the version number on the soname defined the 'interface'
 # version.  Since this library intends to use symbol versioning there
-# probably isn't ever a reason to move to .so.2 or later.
+# probably isn't ever a reason to move to .so.2 or later but we'll follow the
+# precedent.
 SHARED_SONAME_LIB = @PACKAGE_NAME@.so.1
 
 # The linkername that symlinks to the soname: e.g. libdfp.so.  The linker looks for this name.
@@ -54,13 +73,11 @@
 asflags-cpu = $(submachine_opt)
 endif
 
-cc_msize = @cc_msize@
-
-# Not used on non-Z systems, i.e. empty
-cc_mzarch = @cc_mzarch@
-
-default_cflags := @CFLAGS@ -m$(cc_msize) $(cc_mzarch)
-default_asflags := @ASFLAGS@ -m$(cc_msize) $(cc_mzarch)
+#default_cflags := @CFLAGS@ -m$(cc_msize) $(cc_mzarch)
+#default_asflags := @ASFLAGS@ -m$(cc_msize) $(cc_mzarch)
+
+default_cflags := @CFLAGS@
+default_asflags := @ASFLAGS@
 
 ifndef	+cflags
 # Remove -I stuff from CFLAGS.
@@ -74,6 +91,9 @@
 +cflags	:= $(sort $(+cflags))
 
 override CFLAGS = $(gnu-inline-CFLAGS) $(+cflags)
+# Necessary so that the submake invocation of libdecnumber/Makefile actually
+# picks up the CFLAGS.
+export CFLAGS
 
 # These are the flags given to the compiler to tell it what sort of
 # optimization and/or debugging output to do for .S files.
@@ -84,7 +104,8 @@
 endif
 
 # This makes sure -mcpu=CPU gets used when gcc is invoked against .S files.
-+asflags	+=  $(asflags-cpu)
+# Also pull in CFLAGS so we get -m<size> options set by the configuration.
++asflags	+=  $(asflags-cpu) $(filter -g%,$(CFLAGS)) $(filter -m%,$(CFLAGS))
 
 # Don't duplicate options.
 +asflags	:= $(sort $(+asflags))
@@ -162,10 +183,11 @@
 # Configure will have generated the Makefile for the selected backend.
 # Let's add it to the subdir list so it gets recursively invoked by Make.  We
 # have to pass CFLAGS here because configure's CFLAGS doesn't have -mcpu,
-# -m[31|32|64] or -mzarch.
+# -m[31|32|64] or -mzarch.  Don't pass -e to make or it could pull unwanted
+#  variables from the environment.
 $(dfp_backend)/$(dfp_backend_lib):
 	@echo "+Building DFP backend $@"
-	DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS="$(CFLAGS)" $(MAKE) -eC $(dfp_backend)
+	DEFS="-D__STDC_DEC_FP__=200704L" CFLAGS="$(CFLAGS)" $(MAKE) -C $(dfp_backend)
 	@echo
 
 libdfp: @enable_static@ @enable_shared@
@@ -316,25 +338,25 @@
 
 .PHONY: clean
 
-install_to := $(patsubst %/,%,$(install_root))
+#install_to := $(patsubst %/,%,$(install_root))
 
 install: all
-	$(INSTALL) -d $(install_to)$(libdir)
+	$(INSTALL) -d $(inst_libdir)
 ifeq ("@enable_static@","static")
-	$(INSTALL) -t $(install_to)$(libdir) $(top_builddir)/$(STATIC_LIB)
-endif
-	$(INSTALL) -t $(install_to)$(libdir) $(top_builddir)/$(SHARED_REALNAME_LIB)
-	ln -f -s $(SHARED_REALNAME_LIB) $(install_to)$(libdir)/$(SHARED_LINKERNAME_LIB)
-	$(LDCONFIG) -l $(install_to)$(libdir)/$(SHARED_REALNAME_LIB)
-	$(INSTALL) -d $(install_to)$(includedir)
-	$(INSTALL) -d $(install_to)$(includedir)/dfp
-	$(INSTALL) -t $(install_to)$(includedir)/dfp $(top_srcdir)/dfp/*.h
+	$(INSTALL) -t $(inst_libdir) $(top_builddir)/$(STATIC_LIB)
+endif
+	$(INSTALL) -t $(inst_libdir) $(top_builddir)/$(SHARED_REALNAME_LIB)
+	ln -f -s $(SHARED_REALNAME_LIB) $(inst_libdir)/$(SHARED_LINKERNAME_LIB)
+	$(LDCONFIG) -l $(inst_libdir)/$(SHARED_REALNAME_LIB)
+	$(INSTALL) -d $(inst_includedir)
+	$(INSTALL) -d $(inst_includedir)/dfp
+	$(INSTALL) -t $(inst_includedir)/dfp $(top_srcdir)/dfp/*.h
 .PHONY: install
 
 install-headers:
-	$(INSTALL) -d $(install_to)$(includedir)
-	$(INSTALL) -d $(install_to)$(includedir)/dfp
-	$(INSTALL) -t $(install_to)$(includedir)/dfp $(top_srcdir)/dfp/*.h
+	$(INSTALL) -d $(inst_includedir)
+	$(INSTALL) -d $(inst_includedir)/dfp
+	$(INSTALL) -t $(inst_includedir)/dfp $(top_srcdir)/dfp/*.h
 .PHONY: install-headers
 
 # Clean out the existing .SUFFIXES setting.

Modified: libdfp/trunk/README.developer
==============================================================================
--- libdfp/trunk/README.developer (original)
+++ libdfp/trunk/README.developer Wed Apr 28 12:56:46 2010
@@ -275,11 +275,41 @@
 
 ---------------------------------------------------------------------------
 5.1 Configure Switches
-
-Libdfp's default configure should be 64-bit.  In order to build 32-bit you can
-pass the following switches:
+Environment Variables
+
+CC
+	Select your compiler.
+
+CFLAGS="-m64 -O2 -g"
+	Since the default bitness of the compiler's generated binaries varies
+	between Linux distros, and on some architectures the Kernel has a
+	different bitness than the default user env it is recommended that the
+	-m[31|32|64] flags be passed.
+
+	Some System Z machines require the -mzarch flag, e.g.
+	CFLAGS="-m31 -mzarch -O2 -g"
+
+	These should accompany sympathetic --build and --host switches
+	described below, e.g.
+
+		powerpc-linux-gnu for -m32
+		powerpc64-linux-gnu for -m64
+
+ASFLAGS
+	Libdfp's Makefile.in will pull -g or -m[31|32|64] into ASFLAGS if it is
+	specified in CFLAGS.  If you need anything else, pass it in here and
+	it'll be added.
+
+Libdfp's default configure  will be based on whatever bitness the user
+environment is.
+
+In order to build 32-bit libdfp you can pass the following switches:
 
 	--build=powerpc-linux-gnu --host=powerpc-linux-gnu
+
+In order to build 64-bit libdfp you can pass the following switches:
+
+	--build=powerpc64-linux-gnu --host=powerpc64-linux-gnu
 
 The following switches define the DFP backend.
 
@@ -304,6 +334,27 @@
 	--with-backend=libdecnumber --enable-decimal-float=dpd
 	--with-backend=libdecnumber --enable-decimal-float=bid
 	--with-backend=libbid --enable-decimal-float=bid
+
+--prefix=/opt/foo
+	[OPTIONAL]
+
+	Override the default system prefix, e.g. if you want to install into
+	/opt/ for some reason specify: --prefix=/opt/libdfp/.
+
+--libdir=/usr/lib64
+
+	[REQUIRED if you want to install 64-bit libs into lib64/]
+
+	[OPTIONAL]
+	Override the default '<foo>/lib' library path on installation.
+
+	If you've already used --prefix=/opt/foo and you need t install a
+	64-bit libdfp into lib64/ then you need:
+
+	--prefix=/opt/foo --libdir=/opt/foo/lib64/
+
+	In otherwords, libdir REPLACES the path "<prefix>/lib" on installation
+	it doesn't concatenate onto "<prefix>"
 
 --with-glibc-headers=/home/$USER/stage_libdfp/glibc-2.10-headers
 
@@ -325,7 +376,7 @@
 	link against is a 64-bit.  It doesn't have to be tuned for power6
 	but it should be able to execute properly.
 
---with-cpu={power5|power6|<etc>}
+--with-cpu={power5|power6|power7|<etc>}
 
 	[OPTIONAL]
 
@@ -336,41 +387,44 @@
 
 Here are some valid configurations of Libdfp:
 
-General PowerPC (soft-dfp) using the libdecnumber backend and dpd encoding:
-
-CC=/opt/at05/bin/gcc \
+64-bit PowerPC (soft-dfp) using the libdecnumber backend and dpd encoding:
+
+CC=/opt/at05/bin/gcc CFLAGS="-m64 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
+	--libdir=/usr/lib64/ \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
+	--build=powerpc64-linux-gnu --host=powerpc64-linux-gnu \
 	--with-glibc-build=/home/ryanarn/glibc-2.11/build/glibc64_power5 \
 	2>&1 | tee _configure64_power5
 
-PowerPC POWER6 (hard-dfp) using libdecnumber backend and dpd encoding:
-We only need the --with-cpu=power6 flag for power6 support and
-hardware-dfp:
-
-CC=/opt/at05/bin/gcc \
+64-bit PowerPC POWER6 (hard-dfp) using libdecnumber backend and dpd encoding: We only
+need the --with-cpu=power6 flag for power6 support and hardware-dfp:
+
+CC=/opt/at05/bin/gcc CFLAGS="-m64 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
+	--libdir=/usr/lib64/ \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
+	--build=powerpc64-linux-gnu --host=powerpc64-linux-gnu \
 	--with-glibc-build=/home/ryanarn/glibc-2.11/build/glibc64_power6 \
 	--with-cpu=power6 2>&1 | tee _configure64_power6
 
-PowerPC POWER7 (hard-dfp) using libdecnumber backend and dpd encoding:
-We only need the --with-cpu=power7 flag for power7 support and
-hardware-dfp:
-
-CC=/opt/at05/bin/gcc \
+64-bit PowerPC POWER7 (hard-dfp) using libdecnumber backend and dpd encoding: We only
+need the --with-cpu=power7 flag for power7 support and hardware-dfp:
+
+CC=/opt/at05/bin/gcc CFLAGS="-m64 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
+	--libdir=/usr/lib64/ \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
+	--build=powerpc64-linux-gnu --host=powerpc64-linux-gnu \
 	--with-glibc-build=/home/ryanarn/glibc-2.11/build/glibc64_power7 \
 	--with-cpu=power7 2>&1 | tee _configure64_power7
 
-To build 32-bit use the following (notice the --build=powerpc-linux-gnu
---host=powerpc-linux-gnu switches):
-
-CC=/opt/at05/bin/gcc \
+32-bit PowerPC (soft-dfp) using the libdecnumber backend and dpd encoding:
+
+CC=/opt/at05/bin/gcc CFLAGS="-m32 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
@@ -378,9 +432,9 @@
 	--with-glibc-build=/home/ryanarn/glibc-2.11/build/glibc32_power5 \
 	2>&1 | tee _configure32_power5
 
-Or 32-bit POWER6:
-
-CC=/opt/at05/bin/gcc \
+Or 32-bit POWER6 (hard-dfp):
+
+CC=/opt/at05/bin/gcc CFLAGS="-m32 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
@@ -388,9 +442,9 @@
 	--with-glibc-build=/home/ryanarn/glibc-2.11/build/glibc32_power6 \
 	--with-cpu=power6 2>&1 | tee _configure32_power6
 
-Or 32-bit POWER7:
-
-CC=/opt/at05/bin/gcc \
+Or 32-bit POWER7 (hard-dfp):
+
+CC=/opt/at05/bin/gcc CFLAGS="-m32 -O2 -g" \
 /home/ryanarn/eglibc/eglibc/libdfp/trunk/configure \
 	--with-backend=libdecnumber --enable-decimal-float=dpd \
 	--with-glibc-headers=/home/ryanarn/ppc64-tc-utils/trunk/libdfp/include-2.10/ \
@@ -576,4 +630,3 @@
 
 Thanks to Michael Matz (SuSE) for help getting the initial packaging for
 Libdfp straightened out.
-

Added: libdfp/trunk/README.user
==============================================================================
--- libdfp/trunk/README.user (added)
+++ libdfp/trunk/README.user Wed Apr 28 12:56:46 2010
@@ -1,0 +1,250 @@
+===========================================================================
+
+				  Libdfp
+	    The "Decimal Floating Point C Library" User's Guide
+		   for the GNU/Linux OS and GLIBC 2.10+
+		      Contributed by IBM Corporation
+		Copyright (C) 2010 Free Software Foundation
+
+===========================================================================
+NOTE:Eight space tabs are the optimum editor setting for reading this file.
+===========================================================================
+
+		Author(s) : Ryan S. Arnold <rsa@xxxxxxxxxx>
+		      Date Created: January 27, 2010
+
+---------------------------------------------------------------------------
+Table of Contents:
+
+	1.  Introduction
+	  1.1.  ISO/IEC TR 24732
+	  1.2.  IEEE 754-2008 (DPD & BID Encodings)
+	  1.3.  Backends (libdecnumber & libbid)
+	2.  Availability
+	3.  Compliance With ISO/IEC TR 24732
+	  3.1  __STDC_WANT_DEC_FP__
+	  3.2  GNU99 Compatibility
+	  3.3  scanf Support
+	  3.4  printf Support
+	4.  Dependencies
+	  4.1  GNU/Linux OS
+	  4.2  GLIBC Minimum Version
+	  4.3  GCC With --enable-decimal-float Support
+	5.  _Decimal* Data Types
+	6.  Compile and Link
+	7.  Unsupported/Non-Standard Additions
+
+---------------------------------------------------------------------------
+1.  Introduction
+
+The "Decimal Floating Point C Library" is an implementation of ISO/IEC
+Technical report  "ISO/IEC TR 24732" which describes the C-Language library
+routines necessary to provide the C library runtime support for decimal
+floating point data types introduced in IEEE 754-2008, namely _Decimal32,
+_Decimal64, and _Decimal128.
+
+---------------------------------------------------------------------------
+1.1. ISO/IEC TR 24732
+
+The latest description of ISO/IEC TR 24732 at the time of this writing can
+be found here:
+
+	http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1312.pdf
+
+A rationale can be found here:
+
+	http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1242.pdf
+
+---------------------------------------------------------------------------
+1.2. IEEE754-2008 (DPD & BID Encodings)
+
+IEEE 754-2008 defines two different encodings for the decimal floating
+point data types.  These are DPD and BID.
+
+	DPD (Densely Packed Decimal) - IBM sponsored encoding (implemented
+				       in hardware).
+
+	BID (Binary Integer Decimal) - Intel sponsored encoding.
+
+Both encodings can be investigated in the draft IEEE754r:
+
+	http://754r.ucbtest.org/drafts/archive/2006-10-04.pdf
+
+---------------------------------------------------------------------------
+1.3. Backends (libdecnumber & libbid)
+
+Libdfp can make use of two backend libraries for software emulation.  These
+are "libdecnumber" and "libbid".
+
+For the most part, a user of libdfp should not have to be concerned with
+the libdfp backends.
+
+The user's interface is that defined by ISO/IEC TR 24732, i.e. the Decimal
+Floating Point addition to the C Language specification.
+
+Currently Libdfp only supports the libdecnumber backend.
+
+---------------------------------------------------------------------------
+2. Availability
+
+Libdfp attempts to provide an encoding agnostic API to users based upon the
+_Decimal32, _Decimal64, and _Decimal128 data-types and the proposed C-Language
+extension for Decimal Floating Point Types.
+
+---------------------------------------------------------------------------
+3. Compliance With ISO/IEC TR 24732
+
+This section covers issues related to compliance with ISO/IEC TR 24732.
+
+---------------------------------------------------------------------------
+3.1 __STDC_WANT_DEC_FP__
+
+The standard ISO/IEC TR 24732 indicates that programs that wish to use
+Decimal Floating Point should define the following macro:
+
+	__STDC_WANT_DEC_FP__
+
+There is no set value for this macro.
+
+Simply passing -D__STDC_WANT_DEC_FP__ on compilation, or defining it in your
+program should suffice:
+
+#define __STDC_WANT_DEC_FP__
+
+This macro is REQUIRED when including dfp/math.h dfp/fenv.h, etc to pick
+up the DFP function prototypes and data types defined in these headers.
+
+---------------------------------------------------------------------------
+3.2 GNU99 Compatibility
+
+GNU99 compatibility is required to pick up some DFP prototypes that are
+similar to the binary floating point prototypes guarded in <math.h> by
+__USE_ISOC99 and others.  It will define __USE_ISOC99.
+
+Use the following compilation flag: -std=gnu99
+
+NOTE: -std=gnu99 IS NOT THE SAME AS __USE_ISOC99 though -std=gnu99 DOES
+DEFINE __USE_ISOC99!  Additionally, simply using -std=c99 isn't enough!
+
+NOTE: If you forget to use -std=gnu99 you may notice that you will get very
+screwy results when you call dfp math functions.  If the compiler can't find
+the prototypes (due to missing defines) it will attempt to create a default
+prototype which will have the incorrect return type.
+
+Compile with -Wall to pick up undefined prototype warnings.
+
+---------------------------------------------------------------------------
+3.3 scanf Support
+
+Libdfp does not, and will not comply with the TR 24732 requirement for the
+addition of scanf in support of decimal floating point data types.  The
+strtod[32|64|128] functions can be used for the same purpose without the
+implications of scanf.
+
+---------------------------------------------------------------------------
+3.4 printf Support
+
+Libdfp supports the addition of the printf format codes indicated by TR
+24732.  GLIBC proper owns the printf implementation.  Libdfp utilizes the
+printf-hooks mechanism provided by GLIBC to register support of the DFP
+format codes.
+
+The fully functional printf-hooks mechanism was debuted in GLIBC 2.10.
+
+Libdfp handles the registration of printf-hooks with GLIBC but a user must
+ask Libdfp to do so if he/she wishes to use any printf variants with
+Decimal Floating Point types by executing the following function prior to
+execution of printf with DFP types:
+
+	#include <dfp.h>
+	register_printf_dfp();
+	printf
+
+After registration of the DFP printf-hooks printf will recognize the following
+length modifiers:
+
+	%H - for _Decimal32
+	%D - for _Decimal64
+	%DD - for _Decimal128
+---------------------------------------------------------------------------
+4. Dependencies
+
+---------------------------------------------------------------------------
+4.1 GNU/Linux OS
+
+Libdfp is only enabled to work on the GNU/Linux OS.
+
+---------------------------------------------------------------------------
+4.2 GLIBC Minimum Version
+
+Libdfp version 1.0.0 relies upon a minimum GLIBC 2.10 for printf-hooks
+support.  The libdfp configure stage will check the libc that it is linked
+against for the printf-hook support and will warn if it is not found.
+
+---------------------------------------------------------------------------
+4.3 GCC With --enable-decimal-float Support
+
+There's a dependency on a version of GCC which supports Decimal Floating
+Point.  Use the following to determine if your compiler supports it:
+
+	gcc -v 2>&1 | grep "\-\-enable\-decimal\-float"
+
+If decimal floating point support is not available in your compiler the
+libdfp configure stage will fail with a warning.
+
+---------------------------------------------------------------------------
+5.  _Decimal* Data Types
+
+The Decimal Floating Point data types are as follows:
+
+	_Decimal32
+	_Decimal64
+	_Decimal128
+
+The floating point suffix for DFP constants follows:
+
+	'DF' for _Decimal32, e.g. _Decimal32 d32 = 1.045DF;
+	'DD' for _Decimal64, e.g. _Decimal64 d64 = 1.4738273DD;
+	'DL' for _Decimal128, e.g. _Decimal128 d128 = 1.0823382394823945DL;
+
+NOTE: Assigning a naked constant to a DFP variable will actually be
+performing a binary to decimal conversion and, depending on the precision,
+can assign an incorrect number.  Always use the decimal floating point
+suffix!
+
+---------------------------------------------------------------------------
+6.  Compile and Link
+
+A compilation and link for a DFP program will look like the following:
+
+	$(CC) -Wall test_dfp.c -o test_dfp -D__STDC_WANT_DEC_FP__ -std=gnu99 -ldfp
+
+---------------------------------------------------------------------------
+7.  Unsupported/Non-Standard Additions
+
+Libdfp provides a non-standard method for output of the decoded Densely
+Packed Decimal representation using the decoded[32|64|128]() functions.  The
+output format is:
+
+  [sign][MSD],[decoded-declet-1],...,[decoded-declet-n][E][+|-][decoded exponent]
+
+Examples:
+
+  +0,000,000E+0 = decoded32(0DF)
+  +0,000,000,000,001,000E-1 = decoded64(100.0DD)
+  -0,000,000,000,000,000,000,000,000,039,654,003E-3 = decoded128(-39654.003DL)
+  +9,876,543E+22 = decoded32(9.876543E+28DF)
+
+WARNING:  Do NOT rely on these methods for user space code.  They're only
+provided for toolchain development debug support.
+
+A header file providing the prototype for these functions is not provided by
+the Advance Toolchain to discourage you from using them.  If you MUST use them
+define the following prototypes in your program:
+
+  /* char * should ref a 14 byte char array, +0,000,000E+0\0  */
+  extern char * decoded32 (_Decimal32, char*);
+  /* char * should ref a 26 byte char array, +0,000,000,000,000,000E+0\0  */
+  extern char * decoded64 (_Decimal64, char*);
+  /* char * should ref a 50 byte char array, * +0,000,000,000,000,000,000,000,000,000,000,000E+0\0  */
+  extern char * decoded128 (_Decimal128, char*);

Modified: libdfp/trunk/autom4te.cache/output.0
==============================================================================
--- libdfp/trunk/autom4te.cache/output.0 (original)
+++ libdfp/trunk/autom4te.cache/output.0 Wed Apr 28 12:56:46 2010
@@ -2364,7 +2364,7 @@
 
 # It was considered to add this to CFLAGS before AC_PROG_CC was declared to
 # make sure that libdecnumber got all of the flags but it was decided to
-# simply invoke decnumber's `make' with an overridden CFLAGS.
+# simply invoke decnumber's `make' with an exported and overridden CFLAGS.
 
 
 

Modified: libdfp/trunk/autom4te.cache/requests
==============================================================================
--- libdfp/trunk/autom4te.cache/requests (original)
+++ libdfp/trunk/autom4te.cache/requests Wed Apr 28 12:56:46 2010
@@ -16,11 +16,182 @@
                       {
                         'm4_pattern_forbid' => 1,
                         'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_C_VOLATILE' => 1,
+                        'AC_TYPE_OFF_T' => 1,
+                        'AC_FUNC_CLOSEDIR_VOID' => 1,
+                        'AC_REPLACE_FNMATCH' => 1,
+                        'AC_DEFUN' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AC_FUNC_STAT' => 1,
+                        'AC_FUNC_WAIT3' => 1,
+                        'AC_HEADER_TIME' => 1,
+                        'AC_FUNC_LSTAT' => 1,
+                        'AC_STRUCT_TM' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AC_FUNC_GETMNTENT' => 1,
+                        'AC_TYPE_MODE_T' => 1,
+                        'AC_CHECK_HEADERS' => 1,
+                        'AC_FUNC_STRTOD' => 1,
+                        'AC_FUNC_STRNLEN' => 1,
+                        'm4_sinclude' => 1,
+                        'AC_PROG_CXX' => 1,
+                        'AC_PATH_X' => 1,
+                        'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+                        'AC_PROG_AWK' => 1,
+                        '_m4_warn' => 1,
+                        'AC_HEADER_STDC' => 1,
+                        'AC_HEADER_MAJOR' => 1,
+                        'AC_FUNC_ERROR_AT_LINE' => 1,
+                        'AC_PROG_GCC_TRADITIONAL' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AC_FUNC_MBRTOWC' => 1,
+                        'AC_STRUCT_ST_BLOCKS' => 1,
+                        'AC_TYPE_SIGNAL' => 1,
+                        'AC_TYPE_UID_T' => 1,
+                        'AC_PROG_MAKE_SET' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        '_AM_AUTOCONF_VERSION' => 1,
+                        'm4_pattern_allow' => 1,
+                        'sinclude' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AC_FUNC_STRERROR_R' => 1,
+                        'AC_PROG_CC' => 1,
+                        'AC_FUNC_FORK' => 1,
+                        'AC_DECL_SYS_SIGLIST' => 1,
+                        'AU_DEFUN' => 1,
+                        'AC_FUNC_STRCOLL' => 1,
+                        'AC_FUNC_VPRINTF' => 1,
+                        'AC_PROG_YACC' => 1,
+                        'AC_INIT' => 1,
+                        'AC_STRUCT_TIMEZONE' => 1,
+                        'AC_FUNC_CHOWN' => 1,
+                        'AC_SUBST' => 1,
+                        'AC_FUNC_ALLOCA' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_FUNC_GETPGRP' => 1,
+                        'AC_PROG_RANLIB' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_FUNC_SETPGRP' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AC_FUNC_MMAP' => 1,
+                        'AC_FUNC_REALLOC' => 1,
+                        'AC_TYPE_SIZE_T' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'AC_CHECK_TYPES' => 1,
+                        'AC_CHECK_MEMBERS' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        'AC_DEFUN_ONCE' => 1,
+                        'AC_FUNC_UTIME_NULL' => 1,
+                        'AC_FUNC_SELECT_ARGTYPES' => 1,
+                        'AC_HEADER_STAT' => 1,
+                        'AC_FUNC_STRFTIME' => 1,
+                        'AC_PROG_CPP' => 1,
+                        'AC_C_INLINE' => 1,
+                        'AC_PROG_LEX' => 1,
+                        'AC_C_CONST' => 1,
+                        'AC_TYPE_PID_T' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'include' => 1,
+                        'AC_FUNC_SETVBUF_REVERSED' => 1,
+                        'AC_PROG_INSTALL' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_FUNC_OBSTACK' => 1,
+                        'AC_CHECK_LIB' => 1,
+                        'AC_FUNC_MALLOC' => 1,
+                        'AC_FUNC_GETGROUPS' => 1,
+                        'AC_FUNC_GETLOADAVG' => 1,
+                        'AH_OUTPUT' => 1,
+                        'AC_FUNC_FSEEKO' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'AC_FUNC_MKTIME' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_HEADER_SYS_WAIT' => 1,
+                        'AC_PROG_LN_S' => 1,
+                        'AC_FUNC_MEMCMP' => 1,
+                        'm4_include' => 1,
+                        'AC_HEADER_DIRENT' => 1,
+                        'AC_CHECK_FUNCS' => 1
+                      }
+                    ], 'Autom4te::Request' ),
+             bless( [
+                      '1',
+                      1,
+                      [
+                        '/usr/local/share/autoconf'
+                      ],
+                      [
+                        '/usr/local/share/autoconf/autoconf/autoconf.m4f',
+                        'configure.ac'
+                      ],
+                      {
+                        'AM_PROG_F77_C_O' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AC_INIT' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_SUBST' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AC_DEFUN' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'm4_sinclude' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        'AC_DEFUN_ONCE' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+                        '_m4_warn' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'AM_ENABLE_MULTILIB' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'include' => 1,
+                        'LT_INIT' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'AH_OUTPUT' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        '_AM_AUTOCONF_VERSION' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'sinclude' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'm4_include' => 1,
+                        'AU_DEFUN' => 1,
+                        'AC_SUBST_TRACE' => 1
+                      }
+                    ], 'Autom4te::Request' ),
+             bless( [
+                      '2',
+                      1,
+                      [
+                        '/usr/share/autoconf'
+                      ],
+                      [
+                        '/usr/share/autoconf/autoconf/autoconf.m4f',
+                        'configure.ac'
+                      ],
+                      {
+                        'm4_pattern_forbid' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
                         'AC_TYPE_OFF_T' => 1,
                         'AC_C_VOLATILE' => 1,
                         'AC_FUNC_CLOSEDIR_VOID' => 1,
                         'AC_REPLACE_FNMATCH' => 1,
-                        'AC_DEFUN' => 1,
                         'AC_PROG_LIBTOOL' => 1,
                         'AC_FUNC_STAT' => 1,
                         'AC_HEADER_TIME' => 1,
@@ -52,15 +223,13 @@
                         'AC_PROG_MAKE_SET' => 1,
                         'sinclude' => 1,
                         'm4_pattern_allow' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
                         'AC_DEFINE_TRACE_LITERAL' => 1,
                         'AC_FUNC_STRERROR_R' => 1,
                         'AC_PROG_CC' => 1,
+                        'AC_FUNC_FORK' => 1,
                         'AC_DECL_SYS_SIGLIST' => 1,
-                        'AC_FUNC_FORK' => 1,
                         'AC_FUNC_VPRINTF' => 1,
                         'AC_FUNC_STRCOLL' => 1,
-                        'AU_DEFUN' => 1,
                         'AC_PROG_YACC' => 1,
                         'AC_INIT' => 1,
                         'AC_STRUCT_TIMEZONE' => 1,
@@ -80,7 +249,6 @@
                         'AC_CHECK_TYPES' => 1,
                         'AC_CHECK_MEMBERS' => 1,
                         'AM_MAINTAINER_MODE' => 1,
-                        'AC_DEFUN_ONCE' => 1,
                         'AC_FUNC_UTIME_NULL' => 1,
                         'AC_FUNC_SELECT_ARGTYPES' => 1,
                         'AC_FUNC_STRFTIME' => 1,
@@ -95,8 +263,8 @@
                         'AC_FUNC_SETVBUF_REVERSED' => 1,
                         'AC_PROG_INSTALL' => 1,
                         'AM_GNU_GETTEXT' => 1,
+                        'AC_FUNC_OBSTACK' => 1,
                         'AC_CHECK_LIB' => 1,
-                        'AC_FUNC_OBSTACK' => 1,
                         'AC_FUNC_MALLOC' => 1,
                         'AC_FUNC_GETGROUPS' => 1,
                         'AC_FUNC_GETLOADAVG' => 1,
@@ -114,66 +282,6 @@
                         'AC_HEADER_DIRENT' => 1,
                         'AC_CHECK_FUNCS' => 1
                       }
-                    ], 'Autom4te::Request' ),
-             bless( [
-                      '1',
-                      1,
-                      [
-                        '/usr/local/share/autoconf'
-                      ],
-                      [
-                        '/usr/local/share/autoconf/autoconf/autoconf.m4f',
-                        'configure.ac'
-                      ],
-                      {
-                        '_LT_AC_TAGCONFIG' => 1,
-                        'AM_PROG_F77_C_O' => 1,
-                        'AC_INIT' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
-                        'AC_SUBST' => 1,
-                        'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AC_FC_SRCEXT' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'AC_DEFUN' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        'm4_sinclude' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'AM_MAINTAINER_MODE' => 1,
-                        'AC_DEFUN_ONCE' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        '_m4_warn' => 1,
-                        'AM_PROG_CXX_C_O' => 1,
-                        'AM_ENABLE_MULTILIB' => 1,
-                        'AC_CONFIG_FILES' => 1,
-                        'include' => 1,
-                        'LT_INIT' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        'AC_LIBSOURCE' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'AH_OUTPUT' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'AC_CONFIG_AUX_DIR' => 1,
-                        'sinclude' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'm4_pattern_allow' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AC_CONFIG_HEADERS' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
-                        'm4_include' => 1,
-                        'AU_DEFUN' => 1,
-                        'AC_SUBST_TRACE' => 1
-                      }
                     ], 'Autom4te::Request' )
            );
 

Modified: libdfp/trunk/configure
==============================================================================
--- libdfp/trunk/configure (original)
+++ libdfp/trunk/configure Wed Apr 28 12:56:46 2010
@@ -2364,7 +2364,7 @@
 
 # It was considered to add this to CFLAGS before AC_PROG_CC was declared to
 # make sure that libdecnumber got all of the flags but it was decided to
-# simply invoke decnumber's `make' with an overridden CFLAGS.
+# simply invoke decnumber's `make' with an exported and overridden CFLAGS.
 
 
 

Modified: libdfp/trunk/configure.ac
==============================================================================
--- libdfp/trunk/configure.ac (original)
+++ libdfp/trunk/configure.ac Wed Apr 28 12:56:46 2010
@@ -222,12 +222,17 @@
 
 # Expand the configuration machine name into a subdirectory by architecture
 # type and particular chip.
-cc_msize=
+#cc_msize=
+#	powerpc) base_machine=powerpc machine=powerpc/powerpc32 cc_msize=32 ;;
+#	powerpc64) base_machine=powerpc machine=powerpc/powerpc64 cc_msize=64;;
+#	s390) base_machine=s390 machine=s390/s390-32 cc_msize=31;;
+#	s390x) base_machine=s390 machine=s390/s390-64 cc_msize=64;;
+
 case "$machine" in
-	powerpc) base_machine=powerpc machine=powerpc/powerpc32 cc_msize=32 ;;
-	powerpc64) base_machine=powerpc machine=powerpc/powerpc64 cc_msize=64;;
-	s390) base_machine=s390 machine=s390/s390-32 cc_msize=31;;
-	s390x) base_machine=s390 machine=s390/s390-64 cc_msize=64;;
+	powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
+	powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
+	s390) base_machine=s390 machine=s390/s390-32 ;;
+	s390x) base_machine=s390 machine=s390/s390-64 ;;
 	i[34567]86) base_machine=i386 machine=i386/$machine ;;
 	*) base_machine=$machine ;;
 esac
@@ -252,9 +257,9 @@
 
 # It was considered to add this to CFLAGS before AC_PROG_CC was declared to
 # make sure that libdecnumber got all of the flags but it was decided to
-# simply invoke decnumber's `make' with an overridden CFLAGS.
-AC_SUBST(cc_mzarch)
-AC_SUBST(cc_msize)
+# simply invoke decnumber's `make' with an exported and overridden CFLAGS.
+#AC_SUBST(cc_mzarch)
+#AC_SUBST(cc_msize)
 
 AC_SUBST(CFLAGS)
 AC_SUBST(ASFLAGS)
@@ -306,7 +311,8 @@
 # Check for GLIBC 2.10 headers
 have_glibc_2_10_headers=yes
 saved_CFLAGS="$CFLAGS"
-CFLAGS="-m$cc_msize $CFLAGS $glibc_headers_inc"
+#CFLAGS="-m$cc_msize $CFLAGS $glibc_headers_inc"
+CFLAGS="$CFLAGS $glibc_headers_inc"
 
 AC_MSG_CHECKING([for printf-hook register_printf_type() in printf.h to verify GLIBC 2.10])
 AC_TRY_COMPILE([#include "printf.h"],[
@@ -364,7 +370,8 @@
 # Check for GLIBC 2.10 runtime support
 have_glibc_2_10=yes
 saved_CFLAGS="$CFLAGS"
-CFLAGS="-m$cc_msize $CFLAGS $glibc_headers_inc"
+#CFLAGS="-m$cc_msize $CFLAGS $glibc_headers_inc"
+CFLAGS="$CFLAGS $glibc_headers_inc"
 saved_LIBS="$LIBS"
 LIBS="$LIBS $glibc_build_lib"