summaryrefslogtreecommitdiff
path: root/patches/glibc/20040827
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/20040827')
-rw-r--r--patches/glibc/20040827/arm-ctl_bus_isa.patch51
-rw-r--r--patches/glibc/20040827/glibc-2.3.2-sparc64-dl-machine.patch29
-rw-r--r--patches/glibc/20040827/glibc-2.3.3-cygwin.patch103
-rw-r--r--patches/glibc/20040827/glibc-2.3.3-libeh-kludge.patch26
-rw-r--r--patches/glibc/20040827/glibc-configure-apple-as.patch23
-rw-r--r--patches/glibc/20040827/glibc-fp-byteorder.patch203
6 files changed, 0 insertions, 435 deletions
diff --git a/patches/glibc/20040827/arm-ctl_bus_isa.patch b/patches/glibc/20040827/arm-ctl_bus_isa.patch
deleted file mode 100644
index 3422070..0000000
--- a/patches/glibc/20040827/arm-ctl_bus_isa.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Applies to both glibc-2.2.5 and glibc-2.3.2, and probably glibc cvs as of Aug 2004.
-Needed to build glibc with linux kernels 2.4.23 or higher on ARM,
-Fixes following error:
-
-../sysdeps/unix/sysv/linux/arm/ioperm.c: In function `init_iosys':
-../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: `BUS_ISA' undeclared (first use in this function)
-../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (Each undeclared identifier is reported only once
-../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: for each function it appears in.)
-../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: initializer element is not constant
-../sysdeps/unix/sysv/linux/arm/ioperm.c:103: error: (near initialization for `iobase_name[1]')
-../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: initializer element is not constant
-../sysdeps/unix/sysv/linux/arm/ioperm.c:104: error: (near initialization for `ioshift_name[1]')
-make[2]: *** [/home/dank/crosstool-0.28/build/arm-softfloat-linux-gnu/gcc-3.3.4-glibc-2.2.5/build-glibc/misc/ioperm.o] Error 1
-
-cf. "[SYSCTL] BUS_ISA -> CTL_BUS_ISA", http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html
-
---- glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c.old 2003-02-20 14:22:24.000000000 -0800
-+++ glibc-2.3.2/sysdeps/unix/sysv/linux/arm/ioperm.c 2004-01-31 16:01:50.000000000 -0800
-@@ -47,6 +47,12 @@
- #include <asm/page.h>
- #include <sys/sysctl.h>
-
-+/* see http://www.ussg.iu.edu/hypermail/linux/kernel/0311.0/0529.html */
-+#include <linux/version.h>
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23))
-+#define CTL_BUS_ISA BUS_ISA /* and hope it's not the one from linux/input.h */
-+#endif
-+
- #define PATH_ARM_SYSTYPE "/etc/arm_systype"
- #define PATH_CPUINFO "/proc/cpuinfo"
-
-@@ -80,7 +86,7 @@
- * Initialize I/O system. There are several ways to get the information
- * we need. Each is tried in turn until one succeeds.
- *
-- * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*). This is the preferred method
-+ * 1. Sysctl (CTL_BUS, CTL_BUS_ISA, ISA_*). This is the preferred method
- * but not all kernels support it.
- *
- * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE.
-@@ -100,8 +106,8 @@
- {
- char systype[256];
- int i, n;
-- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
-- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
-+ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
-+ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
- size_t len = sizeof(io.base);
-
- if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
diff --git a/patches/glibc/20040827/glibc-2.3.2-sparc64-dl-machine.patch b/patches/glibc/20040827/glibc-2.3.2-sparc64-dl-machine.patch
deleted file mode 100644
index 20cb799..0000000
--- a/patches/glibc/20040827/glibc-2.3.2-sparc64-dl-machine.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-See http://gcc.gnu.org/PR15345
-
-Quick kludge by H.J.Lu
-Works around gcc-3.4.0 error which shows up when building glibc-2.3.2 for sparc64:
-
-.../sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/libc.a(dl-reloc.o)(.text+0x4b4): In function `elf_machine_load_address.3':
-: undefined reference to `_DYNAMIC'
-collect2: ld returned 1 exit status
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/elf/sln] Error 1
-
-
---- glibc-2.3.2/sysdeps/sparc/sparc64/dl-machine.h.orig Sat May 8 20:54:26 2004
-+++ glibc-2.3.2/sysdeps/sparc/sparc64/dl-machine.h Sat May 8 17:18:04 2004
-@@ -65,6 +65,7 @@
- }
-
- /* Return the run-time load address of the shared object. */
-+#ifdef IS_IN_rtld
- static inline Elf64_Addr
- elf_machine_load_address (void)
- {
-@@ -84,6 +85,7 @@
- pc[3]*4 is l_addr + _GLOBAL_OFFSET_TABLE_ - (long)pc - 12 */
- return (Elf64_Addr) got - *got + (Elf32_Sword) ((pc[2] - pc[3]) * 4) - 4;
- }
-+#endif
-
- /* We have 4 cases to handle. And we code different code sequences
- for each one. I love V9 code models... */
diff --git a/patches/glibc/20040827/glibc-2.3.3-cygwin.patch b/patches/glibc/20040827/glibc-2.3.3-cygwin.patch
deleted file mode 100644
index 0ad9a71..0000000
--- a/patches/glibc/20040827/glibc-2.3.3-cygwin.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Fixes
-elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
-...
-when building glibc-2.3.3 on cygwin
-
-Idea from
-http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
-Basically, make glibc use .oST as suffix for 'object static'
-instead of .oS, since cygwin has trouble distinguishing .os from .oS
-(Original patch had .on, but .oST is more mnemonic for 'object static')
-
-glibc-linuxthreads-2.3.3 also requires a patch, see
-../glibc-linuxthreads-2.3.3/glibc-linuxthreads-2.3.3-cygwin.patch
-
-[ Rediffed against glibc-2.3.3 ]
-
-
-diff -aur glibc-2.3.3/Makeconfig glibc-2.3.3-cygwin/Makeconfig
---- glibc-2.3.3/Makeconfig 2003-09-17 01:36:10.000000000 -0700
-+++ glibc-2.3.3-cygwin/Makeconfig 2004-08-27 20:34:43.000000000 -0700
-@@ -439,13 +439,13 @@
- # run the linked programs.
- link-libc = -Wl,-rpath-link=$(rpath-link) \
- $(common-objpfx)libc.so$(libc.so-version) \
-- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
-+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
- # This is how to find at build-time things that will be installed there.
- rpath-dirs = math elf dlfcn nss nis rt resolv crypt
- else
- ifneq (,$(filter aix aix%,$(config-os)))
- link-libc = $(common-objpfx)libc.a \
-- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
-+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
- rpath-dirs = math dlfcn nss nis rt resolv crypt
- endif
- endif
-@@ -658,7 +658,7 @@
- # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
- # to pass different flags for each flavor.
- libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
--all-object-suffixes := .o .os .op .og .ob .oS
-+all-object-suffixes := .o .os .op .og .ob .oST
- object-suffixes :=
- CPPFLAGS-.o = $(pic-default)
- CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
-@@ -714,14 +714,14 @@
-
- ifeq (yes,$(build-shared))
- # Build special library that contains the static-only routines for libc.
--object-suffixes-for-libc += .oS
-+object-suffixes-for-libc += .oST
-
- # Must build the routines as PIC, though, because they can end up in (users')
- # shared objects. We don't want to use CFLAGS-os because users may, for
- # example, make that processor-specific.
--CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
--CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
--libtype.oS = lib%_nonshared.a
-+CFLAGS-.oST = $(CFLAGS-.o) $(pic-ccflag)
-+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
-+libtype.oST = lib%_nonshared.a
- endif
-
- # The assembler can generate debug information too.
-diff -aur glibc-2.3.3/Makerules glibc-2.3.3-cygwin/Makerules
---- glibc-2.3.3/Makerules 2003-10-31 16:35:57.000000000 -0800
-+++ glibc-2.3.3-cygwin/Makerules 2004-08-27 20:33:47.000000000 -0700
-@@ -414,7 +414,7 @@
- # Bounded pointer thunks are only built for *.ob
- elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
-
--elide-routines.oS += $(filter-out $(static-only-routines),\
-+elide-routines.oST += $(filter-out $(static-only-routines),\
- $(routines) $(aux) $(sysdep_routines)) \
- $(elide-bp-thunks)
- elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
-@@ -934,7 +934,7 @@
- install: $(inst_libdir)/libc.so
- $(inst_libdir)/libc.so: $(common-objpfx)format.lds \
- $(common-objpfx)libc.so$(libc.so-version) \
-- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
-+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
- $(libprefix)$(libc-name)) \
- $(+force)
- (echo '/* GNU ld script';\
-@@ -942,7 +942,7 @@
- echo ' the static library, so try that secondarily. */';\
- cat $<; \
- echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
-- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
-+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
- ')' \
- ) > $@.new
- mv -f $@.new $@
-diff -aur glibc-2.3.3/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.3-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
---- glibc-2.3.3/sysdeps/sparc/sparc32/sparcv9/Makefile 2002-08-29 03:41:15.000000000 -0700
-+++ glibc-2.3.3-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-27 20:35:43.000000000 -0700
-@@ -10,4 +10,4 @@
- ASFLAGS-.op += -Wa,-Av9a
- ASFLAGS-.og += -Wa,-Av9a
- ASFLAGS-.ob += -Wa,-Av9a
--ASFLAGS-.oS += -Wa,-Av9a
-+ASFLAGS-.oST += -Wa,-Av9a
diff --git a/patches/glibc/20040827/glibc-2.3.3-libeh-kludge.patch b/patches/glibc/20040827/glibc-2.3.3-libeh-kludge.patch
deleted file mode 100644
index 0e8c2a6..0000000
--- a/patches/glibc/20040827/glibc-2.3.3-libeh-kludge.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-wget "http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2003-09&msgid=20030911190500.GE12344%40sunsite.ms.mff.cuni.cz"
-aka http://sources.redhat.com/ml/libc-alpha/2003-09/msg00104.html
-
-This seems to fix the error
- gcc-3.4.1-glibc-2.3.3/lib/gcc/powerpc-7400-linux-gnu/3.4.1/../../../../powerpc-7400-linux-gnu/bin/ld: cannot find -lgcc_eh
- make[1]: *** [build/powerpc-7400-linux-gnu/gcc-3.4.1-glibc-2.3.3/build-glibc/libc.so] Error 1
-but I assume it will cause trouble with nptl, since it's so violent
-
-FIXME: once we figure out why this patch is wrong, fix it right :-)
-
-Rediffed against glibc-20040822
-
-
---- glibc-20040822/Makeconfig.orig 2004-08-04 20:34:28.000000000 -0700
-+++ glibc-20040822/Makeconfig 2004-08-24 07:36:49.000000000 -0700
-@@ -527,8 +527,8 @@
- libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) -Wl,--no-as-needed
- endif
- ifneq ($(have-cc-with-libunwind),yes)
-- gnulib := -lgcc $(libgcc_eh)
-- static-gnulib := -lgcc -lgcc_eh
-+ gnulib := -lgcc
-+ static-gnulib := -lgcc
- else
- gnulib := -lgcc $(libgcc_eh) -lunwind
- static-gnulib := -lgcc -lgcc_eh -lunwind
diff --git a/patches/glibc/20040827/glibc-configure-apple-as.patch b/patches/glibc/20040827/glibc-configure-apple-as.patch
deleted file mode 100644
index 604c36d..0000000
--- a/patches/glibc/20040827/glibc-configure-apple-as.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
-http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
-
-The following makes it possible to configure glibc-2.3.2 on Mac OS X,
-where the assembler but doesn't understand the --version flag.
-
-Fixes the symptom
-checking whether ld is GNU ld... no
-checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
-checking version of /usr/libexec/gcc/darwin/ppc/as...
-<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
-
---- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
-+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
-@@ -3789,7 +3789,7 @@
- # Found it, now check the version.
- echo "$as_me:$LINENO: checking version of $AS" >&5
- echo $ECHO_N "checking version of $AS... $ECHO_C" >&6
-- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[3-9]*)
diff --git a/patches/glibc/20040827/glibc-fp-byteorder.patch b/patches/glibc/20040827/glibc-fp-byteorder.patch
deleted file mode 100644
index f20432e..0000000
--- a/patches/glibc/20040827/glibc-fp-byteorder.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Taken from http://sources.redhat.com/ml/crossgcc/2004-02/msg00104.html
-Author: addsub@eyou.com
-Target: ARM
-
-Fixes http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/920501-8.c
-and makes printf("%f", 1.0) work.
-
-Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00115.html :
- It ... fixes the 'printf("%f\n", 0.5); prints 0.000000' and general 'floating point
- is broken' on my big-endian hardfloat FPA ARM platform. ...
- It's definitely needed for hardfloat. So I'd think it's needed for
- big-endian systems in any case, and for VFP on little-endian systems
- too. Someone would have to verify that though.
-
-Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00123.html
- I just had a look at glibc-20040830, and [this patch] is still needed and useful
- for this version. glibc-20040830 out-of-the-box still contains the
- following wrong assumptions:
- - sysdeps/arm/bits/endian.h: float word order is big endian (which it is
- not on vfp systems)
- - sysdeps/arm/gmp-mparam.h: IEEE doubles are mixed endian (which they
- are not on big endian systems, neither on vfp systems)
- - sysdeps/arm/ieee754.h: IEEE doubles are in little endian byte order
- (which they are not on big endian systems)
- [This patch] seems the right solution for all of these issues.
-
-Dimitry Andric wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00132.html :
- It's even needed for glibc CVS, AFAICS.
- The patch hunk which modifies glibc.new/sysdeps/arm/bits/endian.h
- (currently at version 1.4) is only needed for proper VFP operation.
- But the hunk which modifies sysdeps/arm/gmp-mparam.h, and the hunk
- that deletes sysdeps/arm/ieee754.h (yes, this IS correct), are needed
- for proper operation of *any* FP model on big endian ARM.
-
-See also discussion in followups to
-http://sources.redhat.com/ml/crossgcc/2004-05/msg00245.html)
-
-Message-ID: <276985760.37584@eyou.com>
-Received: from unknown (HELO eyou.com) (172.16.2.2)
- by 0.0.0.0 with SMTP; Tue, 17 Feb 2004 10:42:40 +0800
-Received: (qmail 8238 invoked by uid 65534); 17 Feb 2004 10:42:38 +0800
-Date: 17 Feb 2004 10:42:38 +0800
-Message-ID: <20040217104238.8237.qmail@eyou.com>
-From: "add" <addsub@eyou.com>
-To: dank@kegel.com
-Reply-To: "add" <addsub@eyou.com>
-Subject: Re:&nbsp;&nbsp;&nbsp;problem&nbsp;while&nbsp;building&nbsp;arm&nbsp;vfp&nbsp;softfloat&nbsp;gcc&nbsp;`
-
-Hi, Dan, This is a patch I applied to my glibc-2.3.2, then my softfloat
-toolchain can printf("%f\n",1.0). So you may have a try of this
-
-
-diff -uNrp glibc.old/sysdeps/arm/bits/endian.h glibc.new/sysdeps/arm/bits/endian.h
---- glibc.old/sysdeps/arm/bits/endian.h 1999-04-12 11:59:13.000000000 -0400
-+++ glibc.new/sysdeps/arm/bits/endian.h 2004-02-12 09:15:13.000000000 -0500
-@@ -9,4 +9,9 @@
- #else
- #define __BYTE_ORDER __LITTLE_ENDIAN
- #endif
-+
-+#ifdef __VFP_FP__
-+#define __FLOAT_WORD_ORDER __BYTE_ORDER
-+#else
- #define __FLOAT_WORD_ORDER __BIG_ENDIAN
-+#endif
-diff -uNrp glibc.old/sysdeps/arm/gmp-mparam.h glibc.new/sysdeps/arm/gmp-mparam.h
---- glibc.old/sysdeps/arm/gmp-mparam.h 2001-07-07 15:21:19.000000000 -0400
-+++ glibc.new/sysdeps/arm/gmp-mparam.h 2004-02-12 09:15:13.000000000 -0500
-@@ -26,5 +26,13 @@ MA 02111-1307, USA. */
- #define BITS_PER_SHORTINT 16
- #define BITS_PER_CHAR 8
-
--#define IEEE_DOUBLE_BIG_ENDIAN 0
--#define IEEE_DOUBLE_MIXED_ENDIAN 1
-+#if defined(__ARMEB__)
-+# define IEEE_DOUBLE_MIXED_ENDIAN 0
-+# define IEEE_DOUBLE_BIG_ENDIAN 1
-+#elif defined(__VFP_FP__)
-+# define IEEE_DOUBLE_MIXED_ENDIAN 0
-+# define IEEE_DOUBLE_BIG_ENDIAN 0
-+#else
-+# define IEEE_DOUBLE_BIG_ENDIAN 0
-+# define IEEE_DOUBLE_MIXED_ENDIAN 1
-+#endif
-diff -uNrp glibc.old/sysdeps/arm/ieee754.h glibc.new/sysdeps/arm/ieee754.h
---- glibc.old/sysdeps/arm/ieee754.h 2001-07-07 15:21:19.000000000 -0400
-+++ glibc.new/sysdeps/arm/ieee754.h 1969-12-31 19:00:00.000000000 -0500
-@@ -1,115 +0,0 @@
--/* Copyright (C) 1992, 1995, 1996, 1998 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library; if not, write to the Free
-- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-- 02111-1307 USA. */
--
--#ifndef _IEEE754_H
--
--#define _IEEE754_H 1
--#include <features.h>
--
--#include <endian.h>
--
--__BEGIN_DECLS
--
--union ieee754_float
-- {
-- float f;
--
-- /* This is the IEEE 754 single-precision format. */
-- struct
-- {
-- unsigned int mantissa:23;
-- unsigned int exponent:8;
-- unsigned int negative:1;
-- } ieee;
--
-- /* This format makes it easier to see if a NaN is a signalling NaN. */
-- struct
-- {
-- unsigned int mantissa:22;
-- unsigned int quiet_nan:1;
-- unsigned int exponent:8;
-- unsigned int negative:1;
-- } ieee_nan;
-- };
--
--#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
--
--
--union ieee754_double
-- {
-- double d;
--
-- /* This is the IEEE 754 double-precision format. */
-- struct
-- {
-- unsigned int mantissa0:20;
-- unsigned int exponent:11;
-- unsigned int negative:1;
-- unsigned int mantissa1:32;
-- } ieee;
--
-- /* This format makes it easier to see if a NaN is a signalling NaN. */
-- struct
-- {
-- unsigned int mantissa0:19;
-- unsigned int quiet_nan:1;
-- unsigned int exponent:11;
-- unsigned int negative:1;
-- unsigned int mantissa1:32;
-- } ieee_nan;
-- };
--
--#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
--
--
--/* The following two structures are correct for `new' floating point systems but
-- wrong for the old FPPC. The only solution seems to be to avoid their use on
-- old hardware. */
--
--union ieee854_long_double
-- {
-- long double d;
--
-- /* This is the IEEE 854 double-extended-precision format. */
-- struct
-- {
-- unsigned int exponent:15;
-- unsigned int empty:16;
-- unsigned int negative:1;
-- unsigned int mantissa1:32;
-- unsigned int mantissa0:32;
-- } ieee;
--
-- /* This is for NaNs in the IEEE 854 double-extended-precision format. */
-- struct
-- {
-- unsigned int exponent:15;
-- unsigned int empty:16;
-- unsigned int negative:1;
-- unsigned int mantissa1:32;
-- unsigned int mantissa0:30;
-- unsigned int quiet_nan:1;
-- unsigned int one:1;
-- } ieee_nan;
-- };
--
--#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
--
--__END_DECLS
--
--#endif /* ieee754.h */