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.
This commit is contained in:
Ulrich Drepper 1999-03-10 16:08:03 +00:00
parent 11c293e146
commit 91ea72b7d2
7 changed files with 50 additions and 29 deletions

View File

@ -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> 1999-03-09 Ulrich Drepper <drepper@cygnus.com>
* version.h (VERSION): Bump to 2.1.1. * version.h (VERSION): Bump to 2.1.1.

31
INSTALL
View File

@ -197,11 +197,11 @@ from underneath.
If you are upgrading from a previous installation of glibc 2.0 or 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 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 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 `/usr/include' directory out of the way before running `make install',
a mixture of header files from both libraries, and you won't be able to or you will end up with a mixture of header files from both libraries,
compile anything. You may also need to reconfigure GCC to work with and you won't be able to compile anything. You may also need to
the new library. The easiest way to do that is to figure out the reconfigure GCC to work with the new library. The easiest way to do
compiler switches to make it work again 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) (`-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 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 (`/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 may not want to run. `nscd' caches name service lookups; it can
dramatically improve performance with NIS+, and may help with DNS as dramatically improve performance with NIS+, and may help with DNS as
well. `utmpd' allows programs that use the old format for the `utmp' well. `utmpd' allows programs that use the old format for the `utmp'
file to coexist with new programs. For more information see the files file to coexist with new programs. For more information see the file
`nscd/README' and `login/README.utmpd'. `login/README.utmpd'.
One auxiliary program, `/usr/libexec/pt_chown', is installed setuid One auxiliary program, `/usr/libexec/pt_chown', is installed setuid
`root'. This program is invoked by the `grantpt' function; it sets the `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 bugs which only show up in big projects like GNU `libc'. Version
3.76.1 seems OK but some people have reported problems. 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 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. 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 GCC 2.8.1 can also be used (but see the FAQ for reasons why you
some internal compiler support routines; see the FAQ for details. might not want to). Earlier versions simply are too buggy.
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 You can use whatever compiler you like to compile programs that
GCC 2.7 and 2.8 have bugs in their floating-point support that may use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in
be triggered by the math library. 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 On Alpha machines you need at least EGCS 1.1.1. Earlier versions
don't work reliably. 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 For PPC you might need some patches even on top of the last
binutils version. See the FAQ. binutils version. See the FAQ.
* GNU `texinfo' 3.11 * GNU `texinfo' 3.12f
To correctly translate and install the Texinfo documentation you To correctly translate and install the Texinfo documentation you
need this version of the `texinfo' package. Earlier versions do need this version of the `texinfo' package. Earlier versions do

4
README
View File

@ -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. Many bugs have been fixed since the last release.
Some bugs surely remain. 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 Because of the United States export restriction on DES
implementations, we are distributing this code separately from the implementations, we are distributing this code separately from the
rest of the C library. There is an extra distribution tar file just 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 unpack the crypt distribution along with the rest of the C library and
build; you can also build the library without getting crypt. Users build; you can also build the library without getting crypt. Users
outside the USA can get the crypt distribution via anonymous FTP from outside the USA can get the crypt distribution via anonymous FTP from

View File

@ -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. Version 3.76.1 seems OK but some people have reported problems.
@item @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. 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 As of the 2.1 release, EGCS 1.0.3 or higher is required. GCC 2.8.1 can
be used due to an incompatible implementation of some internal compiler also be used (but see the FAQ for reasons why you might not want to).
support routines; see the FAQ for details. GCC 2.7.x is simply too Earlier versions simply are too buggy.
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 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. 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 On Alpha machines you need at least EGCS 1.1.1. Earlier versions don't

View File

@ -1302,14 +1302,14 @@ exchanged as texts between different programs and/or machines. The
numbers are represented is the form numbers are represented is the form
@w{[@code{-}]@code{0x}@var{h}@code{.}@var{hhh}@code{p}[@code{+}|@code{-}]@var{dd}}. @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. 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 Otherwise the value is unspecified; it is implemention dependent how many
bits are used. The number of hexadecimal digits on the right side of 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 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 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 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, 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 lower-case characters are used to represent the hexadecimal number and
the prefix and exponent sign are printed as @code{0x} and @code{p} the prefix and exponent sign are printed as @code{0x} and @code{p}
respectively. Otherwise upper-case characters are used and @code{0X} 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 entirely. For the @samp{%g} and @samp{%G} conversions, the precision
specifies how many significant digits to print. Significant digits are specifies how many significant digits to print. Significant digits are
the first digit before the decimal point, and all the digits after it. 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 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 cannot be expressed accurately in the specified number of digits, the
value is rounded to the nearest number that fits. value is rounded to the nearest number that fits.

View File

@ -263,7 +263,7 @@ __printf_fphex (FILE *fp,
{ {
/* This is a denormalized number. */ /* This is a denormalized number. */
expnegative = 1; expnegative = 1;
exponent = -(1 - IEEE754_DOUBLE_BIAS); exponent = IEEE754_DOUBLE_BIAS - 1;
} }
} }
else if (exponent >= IEEE754_DOUBLE_BIAS) else if (exponent >= IEEE754_DOUBLE_BIAS)
@ -315,13 +315,19 @@ __printf_fphex (FILE *fp,
{ {
/* This is a denormalized number. */ /* This is a denormalized number. */
expnegative = 1; 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) else if (exponent >= IEEE854_LONG_DOUBLE_BIAS + 3)
{ {
expnegative = 0; expnegative = 0;
exponent -= IEEE854_LONG_DOUBLE_BIAS + 2; exponent -= IEEE854_LONG_DOUBLE_BIAS + 3;
} }
else else
{ {

View File

@ -0,0 +1,2 @@
#define LONG_DOUBLE_DENORM_BIAS IEEE854_LONG_DOUBLE_BIAS
#include <sysdeps/generic/printf_fphex.c>