summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-03-10 16:08:03 +0000
committerUlrich Drepper <drepper@redhat.com>1999-03-10 16:08:03 +0000
commit91ea72b7d26907ddbfc5a155752ec506d926c804 (patch)
treef4210ebf87585fe5b2a9ba28d6f69f8578cf91b2
parent11c293e1461b7823bea06ab8c025eae891846919 (diff)
downloadglibc-91ea72b7d26907ddbfc5a155752ec506d926c804.tar.gz
glibc-91ea72b7d26907ddbfc5a155752ec506d926c804.tar.xz
glibc-91ea72b7d26907ddbfc5a155752ec506d926c804.zip
Update.
1999-03-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* stdio-common/printf_fphex.c: Move to ...
	* sysdeps/generic/printf_fphex.c: ... here.  Fix exponent of
	extended precision number.
	* sysdeps/m68k/printf_fphex.c: New file.

1999-03-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/stdio.texi: Fix typos.
-rw-r--r--ChangeLog11
-rw-r--r--INSTALL31
-rw-r--r--README4
-rw-r--r--manual/install.texi13
-rw-r--r--manual/stdio.texi6
-rw-r--r--sysdeps/generic/printf_fphex.c (renamed from stdio-common/printf_fphex.c)12
-rw-r--r--sysdeps/m68k/printf_fphex.c2
7 files changed, 50 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index d725cf7f23..94d260dfec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+1999-03-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* stdio-common/printf_fphex.c: Move to ...
+	* sysdeps/generic/printf_fphex.c: ... here.  Fix exponent of
+	extended precision number.
+	* sysdeps/m68k/printf_fphex.c: New file.
+
+1999-03-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* manual/stdio.texi: Fix typos.
+
 1999-03-09  Ulrich Drepper  <drepper@cygnus.com>
 
 	* version.h (VERSION): Bump to 2.1.1.
diff --git a/INSTALL b/INSTALL
index f8ebfa81d5..255ba289dc 100644
--- a/INSTALL
+++ b/INSTALL
@@ -197,11 +197,11 @@ from underneath.
    If you are upgrading from a previous installation of glibc 2.0 or
 2.1, `make install' will do the entire job.  If you're upgrading from
 Linux libc5 or some other C library, you need to rename the old
-`/usr/include' directory out of the way first, or you will end up with
-a mixture of header files from both libraries, and you won't be able to
-compile anything.  You may also need to reconfigure GCC to work with
-the new library.  The easiest way to do that is to figure out the
-compiler switches to make it work again
+`/usr/include' directory out of the way before running `make install',
+or you will end up with a mixture of header files from both libraries,
+and you won't be able to compile anything.  You may also need to
+reconfigure GCC to work with the new library.  The easiest way to do
+that is to figure out the compiler switches to make it work again
 (`-Wl,-dynamic-linker=/lib/ld-linux.so.2' should work on Linux systems)
 and use them to recompile gcc.  You can also edit the specs file
 (`/usr/lib/gcc-lib/TARGET/VERSION/specs'), but that is a bit of a black
@@ -217,8 +217,8 @@ environment or preparing a binary distribution.
 may not want to run.  `nscd' caches name service lookups; it can
 dramatically improve performance with NIS+, and may help with DNS as
 well.  `utmpd' allows programs that use the old format for the `utmp'
-file to coexist with new programs.  For more information see the files
-`nscd/README' and `login/README.utmpd'.
+file to coexist with new programs.  For more information see the file
+`login/README.utmpd'.
 
    One auxiliary program, `/usr/libexec/pt_chown', is installed setuid
 `root'.  This program is invoked by the `grantpt' function; it sets the
@@ -246,16 +246,17 @@ build the GNU C library:
      bugs which only show up in big projects like GNU `libc'.  Version
      3.76.1 seems OK but some people have reported problems.
 
-   * EGCS 1.1.1, 1.1 or 1.0.3
+   * EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1
 
      The GNU C library can only be compiled with the GNU C compiler
      family.  As of the 2.1 release, EGCS 1.0.3 or higher is required.
-     GCC 2.8.1 cannot be used due to an incompatible implementation of
-     some internal compiler support routines; see the FAQ for details.
-     GCC 2.7.x is simply too buggy.  You can use whatever compiler you
-     like to compile programs that use GNU libc, but be aware that both
-     GCC 2.7 and 2.8 have bugs in their floating-point support that may
-     be triggered by the math library.
+     GCC 2.8.1 can also be used (but see the FAQ for reasons why you
+     might not want to).  Earlier versions simply are too buggy.
+
+     You can use whatever compiler you like to compile programs that
+     use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in
+     their floating-point support that may be triggered by the math
+     library.
 
      On Alpha machines you need at least EGCS 1.1.1.  Earlier versions
      don't work reliably.
@@ -279,7 +280,7 @@ build the GNU C library:
      For PPC you might need some patches even on top of the last
      binutils version.  See the FAQ.
 
-   * GNU `texinfo' 3.11
+   * GNU `texinfo' 3.12f
 
      To correctly translate and install the Texinfo documentation you
      need this version of the `texinfo' package.  Earlier versions do
diff --git a/README b/README
index 72adb5eceb..fdbdff8ac6 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the version 2.1 release of the GNU C Library.
+This directory contains the version 2.1.1 release of the GNU C Library.
 Many bugs have been fixed since the last release.
 Some bugs surely remain.
 
@@ -53,7 +53,7 @@ provides the Unix `crypt' function, plus some other entry points.
 Because of the United States export restriction on DES
 implementations, we are distributing this code separately from the
 rest of the C library.  There is an extra distribution tar file just
-for crypt; it is called `glibc-crypt-2.1.tar.gz'.  You can just
+for crypt; it is called `glibc-crypt-2.1.1.tar.gz'.  You can just
 unpack the crypt distribution along with the rest of the C library and
 build; you can also build the library without getting crypt.  Users
 outside the USA can get the crypt distribution via anonymous FTP from
diff --git a/manual/install.texi b/manual/install.texi
index 5ac0e785c3..013c1a34e4 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -276,14 +276,15 @@ have bugs which only show up in big projects like GNU @code{libc}.
 Version 3.76.1 seems OK but some people have reported problems.
 
 @item
-EGCS 1.1.1, 1.1 or 1.0.3
+EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1
 
 The GNU C library can only be compiled with the GNU C compiler family.
-As of the 2.1 release, EGCS 1.0.3 or higher is required.  GCC 2.8.1 cannot
-be used due to an incompatible implementation of some internal compiler
-support routines; see the FAQ for details.  GCC 2.7.x is simply too
-buggy.  You can use whatever compiler you like to compile programs that
-use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in their
+As of the 2.1 release, EGCS 1.0.3 or higher is required.  GCC 2.8.1 can
+also be used (but see the FAQ for reasons why you might not want to).
+Earlier versions simply are too buggy.
+
+You can use whatever compiler you like to compile programs that use GNU
+libc, but be aware that both GCC 2.7 and 2.8 have bugs in their
 floating-point support that may be triggered by the math library.
 
 On Alpha machines you need at least EGCS 1.1.1.  Earlier versions don't
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 1b9679f3bb..3449a51d2b 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1302,14 +1302,14 @@ exchanged as texts between different programs and/or machines.  The
 numbers are represented is the form
 @w{[@code{-}]@code{0x}@var{h}@code{.}@var{hhh}@code{p}[@code{+}|@code{-}]@var{dd}}.
 At the left of the decimal-point character exactly one digit is print.
-This character is only @code{0} is the number is denormalized.
+This character is only @code{0} if the number is denormalized.
 Otherwise the value is unspecified; it is implemention dependent how many
 bits are used.  The number of hexadecimal digits on the right side of
 the decimal-point character is equal to the precision.  If the precision
 is zero it is determined to be large enough to provide an exact
 representation of the number (or it is large enough to distinguish two
 adjacent values if the @code{FLT_RADIX} is not a power of 2,
-@pxref{Floating Point Parameters})  For the @samp{%a} conversion
+@pxref{Floating Point Parameters}).  For the @samp{%a} conversion
 lower-case characters are used to represent the hexadecimal number and
 the prefix and exponent sign are printed as @code{0x} and @code{p}
 respectively.  Otherwise upper-case characters are used and @code{0X}
@@ -1364,7 +1364,7 @@ is explicitly @code{0}, this suppresses the decimal point character
 entirely.  For the @samp{%g} and @samp{%G} conversions, the precision
 specifies how many significant digits to print.  Significant digits are
 the first digit before the decimal point, and all the digits after it.
-If the precision @code{0} or not specified for @samp{%g} or @samp{%G},
+If the precision is @code{0} or not specified for @samp{%g} or @samp{%G},
 it is treated like a value of @code{1}.  If the value being printed
 cannot be expressed accurately in the specified number of digits, the
 value is rounded to the nearest number that fits.
diff --git a/stdio-common/printf_fphex.c b/sysdeps/generic/printf_fphex.c
index 660435f6b3..00dd8eed1d 100644
--- a/stdio-common/printf_fphex.c
+++ b/sysdeps/generic/printf_fphex.c
@@ -263,7 +263,7 @@ __printf_fphex (FILE *fp,
 	    {
 	      /* This is a denormalized number.  */
 	      expnegative = 1;
-	      exponent = -(1 - IEEE754_DOUBLE_BIAS);
+	      exponent = IEEE754_DOUBLE_BIAS - 1;
 	    }
 	}
       else if (exponent >= IEEE754_DOUBLE_BIAS)
@@ -315,13 +315,19 @@ __printf_fphex (FILE *fp,
 	    {
 	      /* This is a denormalized number.  */
 	      expnegative = 1;
-	      exponent = -(1 - (IEEE854_LONG_DOUBLE_BIAS + 3));
+	      /* This is a hook for the m68k long double format, where the
+		 exponent bias is the same for normalized and denormalized
+		 numbers.  */
+#ifndef LONG_DOUBLE_DENORM_BIAS
+# define LONG_DOUBLE_DENORM_BIAS (IEEE854_LONG_DOUBLE_BIAS - 1)
+#endif
+	      exponent = LONG_DOUBLE_DENORM_BIAS + 3;
 	    }
 	}
       else if (exponent >= IEEE854_LONG_DOUBLE_BIAS + 3)
 	{
 	  expnegative = 0;
-	  exponent -= IEEE854_LONG_DOUBLE_BIAS + 2;
+	  exponent -= IEEE854_LONG_DOUBLE_BIAS + 3;
 	}
       else
 	{
diff --git a/sysdeps/m68k/printf_fphex.c b/sysdeps/m68k/printf_fphex.c
new file mode 100644
index 0000000000..0e68b16b77
--- /dev/null
+++ b/sysdeps/m68k/printf_fphex.c
@@ -0,0 +1,2 @@
+#define LONG_DOUBLE_DENORM_BIAS IEEE854_LONG_DOUBLE_BIAS
+#include <sysdeps/generic/printf_fphex.c>