Fix warnings.
[kopensolaris-gnu/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index 7fb49b6..7cd28f1 100644 (file)
--- a/NEWS
+++ b/NEWS
-GNU C Library NEWS -- history of user-visible changes.  14 March 1996
+GNU C Library NEWS -- history of user-visible changes.  2001-3-11
 
-Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+Copyright (C) 1992-1999, 2000, 2001 Free Software Foundation, Inc.
 See the end for copying conditions.
 
-Please send GNU C library bug reports to bug-glibc@prep.ai.mit.edu.
+Please send GNU C library bug reports using the `glibcbug' script to
+<bugs@gnu.org>.  Questions and suggestions should be send to
+<bug-glibc@gnu.org>.
 \f
-Version 1.10
+Version 2.2.3
+
+* Intel's IA-64 math library is largely integrated.  It provides fast and
+  accurate implementatations for most basic and standard math functions
+  in float, double, and long double format.
+
+* Stephen Moshier implemented j0, j1, jn, y0, y1, yn, and lgamma for the
+  96-bit long double format.
+
+* The beginning of a last-bit accurate math library by IBM Haifa were added.
+  The basic double functions exist today.  Contributed by Abraham Ziv
+  <ziv@il.ibm.com>, Moshe Olshansky <olshansk@il.ibm.com>, Ealan Henis
+  <ealan@il.ibm.com>, and Anna Reitman <reitman@il.ibm.com>.
+
+* An asynchronous name lookup library was added.  The interface is designed
+  after POSIX AIO.  The proposal was circulated beforehand to get comments.
+  No negative ones came in.  Implemented by Ulrich Drepper.
+\f
+Version 2.2.2
+
+* Lots of headers were cleaned up.  Using the tool in the conform/ subdir
+  we can now check for namespace violations and missing declarations.  The
+  result is that almost all headers are now Unix-compliant (as defined in
+  the upcoming XPG6).  The negative side is that some programs might need
+  corrections, too, if they depend on the incorrect form of the headers in
+  previous versions which defined too many symbols and included too many
+  other headers.
+
+* regex now handles multibyte character sets correctly.
+  Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
+
+* iconv (the program) does now conform to the upcoming XPG6 and handles
+  charmaps.  Instead of the charset names the path of charmaps can be
+  provided and the conversion happens based on this data.
+  Contributed by Ulrich Drepper.
+
+* The locale program now provides detailed information about the installed
+  locales.  While
+
+    locale -a
+
+  only lists the names of the supported locales
+
+    locale -a --verbose
+
+  provides details such as country, language, and codeset name.
+  Contributed by Ulrich Drepper.
+\f
+Version 2.2.1
+
+* The gencat program now parses the input file according to the charset
+  selected by the LC_CTYPE category.  This is important for stateful
+  character sets.  To make generating catalogs easier there is a way
+  to overwrite the charset selected by the locale: before the first
+  message or $ quote line the catalog can contain a line like
+
+    $ codeset=ISO-8859-2
+
+  to select the charset (ISO-8859-2 in this case).
+
+  Implemented by Shinya Hanataka and Ulrich Drepper.
+
+* New codeset conversion modules: IBM-922  (Estonia PC codeset),
+  IBM-1124 (Ukraine PC codeset), IBM-1129 (Vietnamese PC codeset).
+  Contributed by Masahide Washizawa <washi@jp.ibm.com>.
+
+* Optimized string functions for Alpha ev6 and ev67 by Richard Henderson
+  <rth@redhat.com> and Rick Gorton <rick.gorton@alpha-processor.com>.
+
+* The LANGUAGE environment variable is now ignored unless the locale is
+  changed from the default "C" locale.
+
+* The usual bug fixes.
+\f
+Version 2.2
+
+* Greg McGary added runtime support for bounds checking using gcc's
+  new -fbounded-pointers option.  ix86 target is complete.  PowerPC
+  is in progress.
+
+* Thorsten Kukuk added secure mode support to nscd.
+
+* The Berkeley db libraries have been removed.
+
+  Related, the nss_db module is now in a separate package since it
+  obviously requires a database library being available.
+
+* Wide character I/O streams implemented by Ulrich Drepper.
+
+* Functions from the extended socket API added by Ulrich Drepper.
+
+* Functions feenableexcept and fedisableexcept to control the
+  behaviour of individual exceptions have been added by Andreas Jaeger.
+
+* ldconfig program added by Andreas Jaeger and Jakub Jelinek.
+
+* The resolver code has been updated from bind 8.2.3-T5B which supports
+  threads.  The integration was done by Andreas Jaeger, Adam D. Bradley,
+  and Mark Kettenis.
+
+  This change could in some situations effect backward compatibility.  Since
+  now `_res' is a thread-local instead of a global variable, modifying it
+  in one thread does not have any effect in other threads.
+
+  The resolver library was also extended to allow IPv6 as the transport
+  protocol for the requests.  This work was done by Stig Venaas.
+
+* Compatibility code for K&R C compilers has been removed from the
+  header files.  A ISO C compiler is needed to use the library
+  (conforming to either C89 or C99 standard).
+
+* Complete rewrite of the localedef program to support multibyte character
+  sets.  Implement handling of ISO 14651 and ISO 14652.  Rewrite strcoll,
+  strxfrm, wcscoll, and wcsxfrm functions.  Make isw*() functions work.
+  Implemented by Ulrich Drepper.
+
+  Bruno Haible significantly improved the generation and use of the data
+  structures for the wide character tables.
+
+* Plural handling in gettext implemented by Ulrich Drepper.
+
+* The utmp daemon has been removed.
+
+* The port to MIPS-Linux has been finished by Andreas Jaeger.
+
+* A port to Hitachi SH3 and SH4 has been contributed by Kazumoto Kojima
+  and Yutaka Niibe.
+
+* POSIX clocks and timers implemented by Kaz Kylheku and Ulrich Drepper.
+
+* POSIX barriers implemented by Kaz Kylheku.
+
+* POSIX spawn function family implemented by Ulrich Drepper.
+
+* POSIX spinlocks are now available.
+
+* Timed wait functions for mutex, rwlock, and semaphores are implemented.
+
+* the configure option --enable-kernel=X.Y.Z allows to strip out
+  compatibility for kernel versions before X.Y.Z.  This is currently only
+  implemented for Linux.
+
+* the sockaddr_in6 structure changed.  The IPv6 working group added a new
+  field sin6_scope_id.  This means that all programs using IPv6 should be
+  recompiled.  Don't expect binary compatibility with previous glibc
+  versions.
+
+* various conversion modules for IBM character sets contributed by
+  Masahide Washizawa.
+
+* IA-64 port by Jes Sorensen and HJ Lu.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Compiling the GNU C Library for Linux/ia64
+******************************************
+
+   Please refer to the file INSTALL in the same directory as you found
+this file for general information about configuring and compiling
+glibc.
+
+   For general inquiries about glibc under Linux/ia64 please use the
+following mailing list linux-ia64@linuxia64.org or one of the relevant
+glibc mailing lists.
+
+Recommended Tools for Compilation
+=================================
+
+   In order for glibc-2.2 to build correctly on the ia64 you need at
+least the following versions of the GNU tools (the :
+
+   * The Cygnus toolchain snapshot for the ia64 as of August 4
+     including the provided set of patches.  It is however recommend
+     you use the October 24 toolchain snapshot or a more recent version.
+
+   OR alternatively you can try the following (the Cygnus toolchain is
+   the recommended solution):
+
+   * GCC and binutils, GAS and GNU LD out of CVS from
+     sources.redhat.com as of August 28, 2000 or later.  The CVS tree
+     may require special patches to work properly on the ia64.
+
+Configuring and compiling GNU Libc for Linux/ia64
+=================================================
+
+   The library requires Linux kernel version 2.4.0-test4-000728 or
+later to funtion properly. Besides that it support for debug libraries
+is currently untested. Hence the following options
+are required for configuring the library:
+
+   --disable-debug --enable-kernel=2.4.0
+
+   It is also important that you make sure the library picks up the
+appropriate kernel header files, if you do not have recent enough
+kernel headers in /usr/src/linux/include, you should use the
+--with-headers=<path> option to specify the location.
+
+   As an example I personally use the following options to configure
+the library:
+
+   --disable-debug
+   --disable-cvs
+   --enable-kernel=2.4.0
+   --host=ia64-linux
+   --enable-add-ons=yes
+   --prefix=/usr
+   --with-headers=/home/jes/linux/include
+
+
+Good luck
+
+Jes Sorensen <jes@linuxcare.com>,
+November 14th, 2000
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\f
+Version 2.1.3
+
+* bug fixes
+
+\f
+Version 2.1.2
+
+* bug fixes
+
+\f
+Version 2.1.1
+
+* New ISO C 9x function _Exit, imaxabs, and imaxdiv are added.
+
+* New xdr functions are added; some rpc functions are now 64bit clean.
+
+* Fixed a number of bugs and memory leaks (especially in NIS+ code).
+
+* Fixed known incompatibilities with glibc 2.0.
+
+* New functions lock64, strchrnul, rawmemchr, getutmp and getutmpx.
+
+* Optimized a number of functions (especially the ELF dynamic loader).
+
+* Update timezone data files.
+
+* lots of charmaps corrections
+
+* some new locale definitions and charmaps
+
+\f
+Version 2.1
+
+* Richard Henderson corrected size of struct timeval on Linux/Alpha to
+  conform to POSIX member type requirements.  Symbol versions have been
+  adjusted as needed within the library, and for direct use by applications,
+  but there is potential for problems if third-party libraries use
+  struct timeval as part of their interface.  This does not present
+  a problem for X and other "essential" system libraries.
+
+* An additional locale model to support C++ Standard Library locale
+  model and probably more was implemented by Ulrich Drepper.
+
+* Eric Youngdale and Ulrich Drepper implemented versioning of objects on
+  symbol level.
+
+* Miles Bader provided the `argp' function family to support hierachical
+  command line argument parsing, layered on top of getopt.
+
+* strtod accepts new hexadecimal floating-point format from ISO C 9X.
+
+* printf has two new specifiers %a and %A to print hexadecimal flaoting-point
+  numbers.
+
+* scanf recognizes the %a and %A format for scanning floating point numbers.
+
+* the new headers <stdint.h> and <inttypes.h> from ISO C 9X provides
+  information and interfaces for the available integer types.
+
+* about 130 new math functions were added to implement the ISO C9x math
+  library.
+
+* the new header <complex.h> contains definitions of the complex math
+  functions from ISO C 9X.
+
+* the new header <tgmath.h> defines generic macros to use complex or
+  real valued functions.
+
+* Thorsten Kukuk provided an implementation for NIS+, securelevel 0, 1 and 2.
+
+* Andreas Jaeger provided a test suite for the math library.
+
+* Mark Kettenis implemented the utmpx interface and an utmp daemon.
+
+* Ulrich Drepper added character set conversion functions (iconv).
+
+* Optimized string functions have been added.
+
+* The localedata addon is now part of glibc.
+
+* An implementation of profiling shared libraries was added by Ulrich Drepper.
+
+* Thorsten Kukuk and Ulrich Drepper provided an implementation for a caching
+  daemon for NSS (nscd).
+
+  Missing a better place here are some numbers on improvements.  Under
+  Linux 2.1.125 un-tar-ing the kernel sources takes
+
+                                 user  system     wall
+
+    using local files          12.19s   6.88s   22.91s
+
+    using NIS                  13.92s   8.91s   26.34s
+
+    using NIS & nscd           10.37s   7.34s   25.30s
+
+    using NIS+                 27.57s  30.37s  640.46s
+
+    using NIS+ & nscd           10.25s   7.83s   26.51s
+
+    using NIS & old nscd [1]   13.83s   8.32s   29.60s
+
+  Keep in mind that non-namelookup related operations dominate above times.
+  It was just a common complain that using NIS+ unpacking the kernel is
+  horribly slow.
+
+  [1] The old nscd implementation is not available anymore since it was
+  distributed with glibc up to version 2.0.98 and thus is now replaced.
+
+* Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
+
+* Mark Kettenis provided a Hesiod NSS module.
+
+* The ELF dynamic loader knows how to process dynamic string tokens ($ORIGIN
+  and $PLATFORM) in RPATHs and similar strings (Ulrich Drepper).
+
+* rcmd can now handle netgroups (Dick Streefland).
+
+* A port to the ARM was contributed by Phil Blundell, Pat Beirne and Scott
+  Bambrough.
+
+* Support for the IPv6 protocol has been added to the socket API, as per the
+  latest draft standards.
+
+* Support for Linux 2.2 has been added.
+
+* Interface changes relative to the latest 2.0.x release:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+addseverity                    NEW: Unix98
+alphasort64                    NEW: LFS
+argp_err_exit_status           NEW: argp, GNU ext
+argp_error                     NEW: argp, GNU ext
+argp_failure                   NEW: argp, GNU ext
+argp_help                      NEW: argp, GNU ext
+argp_parse                     NEW: argp, GNU ext
+argp_program_bug_address       NEW: argp, GNU ext
+argp_program_version           NEW: argp, GNU ext
+argp_program_version_hook      NEW: argp, GNU ext
+argp_state_help                        NEW: argp, GNU ext
+argp_usage                     NEW: argp, GNU ext
+authdes_create                 NEW: Secure RPC
+authdes_getucred               NEW: Secure RPC
+authdes_pk_create              NEW: Secure RPC
+backtrace                      NEW: GNU ext.
+backtrace_symbols              NEW: GNU ext.
+backtrace_symbols_fd           NEW: GNU ext.
+cacos                          NEW: ISO C 9x
+cacosf                         NEW: ISO C 9x
+cacosh                         NEW: ISO C 9x
+cacoshf                                NEW: ISO C 9x
+cacoshl                                NEW: ISO C 9x
+cacosl                         NEW: ISO C 9x
+capget                         NEW: kernel
+capset                         NEW: kernel
+carg                           NEW: ISO C 9x
+cargf                          NEW: ISO C 9x
+cargl                          NEW: ISO C 9x
+casin                          NEW: ISO C 9x
+casinf                         NEW: ISO C 9x
+casinh                         NEW: ISO C 9x
+casinhf                                NEW: ISO C 9x
+casinhl                                NEW: ISO C 9x
+casinl                         NEW: ISO C 9x
+catan                          NEW: ISO C 9x
+catanf                         NEW: ISO C 9x
+catanh                         NEW: ISO C 9x
+catanhf                                NEW: ISO C 9x
+catanhl                                NEW: ISO C 9x
+catanl                         NEW: ISO C 9x
+cbc_crypt                      NEW: Secure RPC
+ccos                           NEW: ISO C 9x
+ccosf                          NEW: ISO C 9x
+ccosh                          NEW: ISO C 9x
+ccoshf                         NEW: ISO C 9x
+ccoshl                         NEW: ISO C 9x
+ccosl                          NEW: ISO C 9x
+cexp                           NEW: ISO C 9x
+cexpf                          NEW: ISO C 9x
+cexpl                          NEW: ISO C 9x
+cimag                          NEW: ISO C 9x
+cimagf                         NEW: ISO C 9x
+cimagl                         NEW: ISO C 9x
+clearerr_locked                        REMOVED
+clntunix_create                        NEW: sunrpc ext
+clog                           NEW: ISO C 9x
+clog10                         NEW: ISO C 9x
+clog10f                                NEW: ISO C 9x
+clog10l                                NEW: ISO C 9x
+clogf                          NEW: ISO C 9x
+clogl                          NEW: ISO C 9x
+conj                           NEW: ISO C 9x
+conjf                          NEW: ISO C 9x
+conjl                          NEW: ISO C 9x
+cpow                           NEW: ISO C 9x
+cpowf                          NEW: ISO C 9x
+cpowl                          NEW: ISO C 9x
+cproj                          NEW: ISO C 9x
+cprojf                         NEW: ISO C 9x
+cprojl                         NEW: ISO C 9x
+creal                          NEW: ISO C 9x
+crealf                         NEW: ISO C 9x
+creall                         NEW: ISO C 9x
+creat64                                NEW: LFS
+csin                           NEW: ISO C 9x
+csinf                          NEW: ISO C 9x
+csinh                          NEW: ISO C 9x
+csinhf                         NEW: ISO C 9x
+csinhl                         NEW: ISO C 9x
+csinl                          NEW: ISO C 9x
+csqrt                          NEW: ISO C 9x
+csqrtf                         NEW: ISO C 9x
+csqrtl                         NEW: ISO C 9x
+ctan                           NEW: ISO C 9x
+ctanf                          NEW: ISO C 9x
+ctanh                          NEW: ISO C 9x
+ctanhf                         NEW: ISO C 9x
+ctanhl                         NEW: ISO C 9x
+ctanl                          NEW: ISO C 9x
+des_setparity                  NEW: Secure RPC
+ecb_crypt                      NEW: Secure RPC
+endutxent                      NEW: Unix98
+exp10                          NEW: ISO C 9x
+exp10f                         NEW: ISO C 9x
+exp10l                         NEW: ISO C 9x
+exp2                           NEW: ISO C 9x
+exp2f                          NEW: ISO C 9x
+exp2l                          NEW: ISO C 9x
+fattach                                NEW: STREAMS
+fdetach                                NEW: STREAMS
+fdim                           NEW: ISO C 9x
+fdimf                          NEW: ISO C 9x
+fdiml                          NEW: ISO C 9x
+feclearexcept                  NEW: ISO C 9x
+fegetenv                       NEW: ISO C 9x
+fegetexceptflag                        NEW: ISO C 9x
+fegetround                     NEW: ISO C 9x
+feholdexcept                   NEW: ISO C 9x
+feof_locked                    REMOVED
+feraiseexcept                  NEW: ISO C 9x
+ferror_locked                  REMOVED
+fesetenv                       NEW: ISO C 9x
+fesetexceptflag                        NEW: ISO C 9x
+fesetround                     NEW: ISO C 9x
+fetestexcept                   NEW: ISO C 9x
+feupdateenv                    NEW: ISO C 9x
+fflush_locked                  REMOVED
+ffsl                           NEW: GNU ext.
+ffsll                          NEW: GNU ext.
+fgetpos64                      NEW: LFS
+fgets_unlocked                 NEW: GNU ext.
+fileno_locked                  REMOVED
+fma                            NEW: ISO C 9x
+fmaf                           NEW: ISO C 9x
+fmal                           NEW: ISO C 9x
+fmax                           NEW: ISO C 9x
+fmaxf                          NEW: ISO C 9x
+fmaxl                          NEW: ISO C 9x
+fmin                           NEW: ISO C 9x
+fminf                          NEW: ISO C 9x
+fminl                          NEW: ISO C 9x
+fmtmsg                         NEW: Unix98
+fopen64                                NEW: LFS
+fputc_locked                   REMOVED
+fputs_unlocked                 NEW: GNU ext.
+fread_unlocked                 NEW: GNU ext.
+freopen64                      NEW: LFS
+fseeko                         NEW: Unix98
+fsetpos64                      NEW: LFS
+fstatfs64                      NEW: LFS
+fstatvfs                       NEW: Unix98
+fstatvfs64                     NEW: LFS
+ftello                         NEW: Unix98
+ftello64                       NEW: LFS
+ftruncate64                    NEW: LFS
+ftw64                          NEW: LFS
+fwrite_unlocked                        NEW: GNU ext.
+gai_strerror                   NEW: IPv6
+gamma_r                                REMOVED
+gammaf_r                       REMOVED
+gammal_r                       REMOVED
+getchar_locked                 REMOVED
+getdate                                NEW: Unix98
+getdate_err                    NEW: Unix98
+getdate_r                      NEW: GNU ext.
+getmsg                         NEW: STREAMS
+getnameinfo                    NEW: IPv6
+getnetname                     NEW: Secure RPC
+getpmsg                                NEW: STREAMS
+getpt                          NEW: Unix98 PTY
+getrlimit64                    NEW: LFS
+getutxent                      NEW: Unix98
+getutxid                       NEW: Unix98
+getutxline                     NEW: Unix98
+glob64                         NEW: GNU ext.
+globfree64                     NEW: GNU ext.
+gnu_get_libc_release           NEW: GNU ext.
+gnu_get_libc_version           NEW: GNU ext.
+grantpt                                NEW: Unix98 PTY
+host2netname                   NEW: Secure RPC
+iconv                          NEW: iconv
+iconv_close                    NEW: iconv
+iconv_open                     NEW: iconv
+if_freenameindex               NEW: IPv6
+if_indextoname                 NEW: IPv6
+if_nameindex                   NEW: IPv6
+if_nametoindex                 NEW: IPv6
+in6addr_any                    NEW: IPv6
+in6addr_loopback               NEW: IPv6
+inet6_isipv4mapped             NEW: IPv6
+isastream                      NEW: STREAMS
+iswblank                       NEW: GNU ext.
+key_decryptsession             NEW: Secure RPC
+key_decryptsession_pk          NEW: Secure RPC
+key_encryptsession             NEW: Secure RPC
+key_encryptsession_pk          NEW: Secure RPC
+key_gendes                     NEW: Secure RPC
+key_get_conv                   NEW: Secure RPC
+key_secretkey_is_set           NEW: Secure RPC
+key_setnet                     NEW: Secure RPC
+key_setsecret                  NEW: Secure RPC
+llrint                         NEW: ISO C 9x
+llrintf                                NEW: ISO C 9x
+llrintl                                NEW: ISO C 9x
+llround                                NEW: ISO C 9x
+llroundf                       NEW: ISO C 9x
+llroundl                       NEW: ISO C 9x
+log2                           NEW: ISO C 9x
+log2f                          NEW: ISO C 9x
+log2l                          NEW: ISO C 9x
+lrint                          NEW: ISO C 9x
+lrintf                         NEW: ISO C 9x
+lrintl                         NEW: ISO C 9x
+lround                         NEW: ISO C 9x
+lroundf                                NEW: ISO C 9x
+lroundl                                NEW: ISO C 9x
+lseek64                                NEW: LFS
+makecontext                    NEW: Unix98
+mempcpy                                NEW: GNU ext.
+mmap64                         NEW: LFS
+moncontrol                     REMOVED
+modify_ldt                     NEW: kernel
+nan                            NEW: ISO C 9x
+nanf                           NEW: ISO C 9x
+nanl                           NEW: ISO C 9x
+nearbyint                      NEW: ISO C 9x
+nearbyintf                     NEW: ISO C 9x
+nearbyintl                     NEW: ISO C 9x
+netname2host                   NEW: Secure RPC
+netname2user                   NEW: Secure RPC
+nexttoward                     NEW: ISO C 9x
+nexttowardf                    NEW: ISO C 9x
+nexttowardl                    NEW: ISO C 9x
+nftw                           NEW: Unix98
+nftw64                         NEW: LFS
+open64                         NEW: LFS
+passwd2des                     NEW: Secure RPC
+pow10                          NEW: GNU ext.
+pow10f                         NEW: GNU ext.
+pow10l                         NEW: GNU ext.
+pread                          NEW: Unix98
+pread64                                NEW: LFS
+printf_size                    NEW: GNU ext.
+printf_size_info               NEW: GNU ext.
+profil_counter                 REMOVED
+pthread_mutexattr_getkind_np   REPLACED
+pthread_mutexattr_setkind_np   REPLACED
+ptsname                                NEW: Unix98 PTY
+ptsname_r                      NEW: Unix98 PTY
+putc_locked                    REMOVED
+putchar_locked                 REMOVED
+putgrent                       NEW: GNU ext.
+putmsg                         NEW: STREAMS
+putpmsg                                NEW: STREAMS
+pututxline                     NEW: Unix98
+pwrite                         NEW: Unix98
+pwrite64                       NEW: LFS
+readdir64                      NEW: LFS
+readdir64_r                    NEW: LFS
+remquo                         NEW: ISO C 9x
+remquof                                NEW: ISO C 9x
+remquol                                NEW: ISO C 9x
+round                          NEW: ISO C 9x
+roundf                         NEW: ISO C 9x
+roundl                         NEW: ISO C 9x
+rtime                          NEW: GNU ext.
+scalbln                                NEW: ISO C 9x
+scalblnf                       NEW: ISO C 9x
+scalblnl                       NEW: ISO C 9x
+scandir64                      NEW: LFS
+sendfile                       NEW: kernel
+setcontext                     NEW: Unix98
+setrlimit64                    NEW: LFS
+setutxent                      NEW: Unix98
+sighold                                NEW: Unix98
+sigignore                      NEW: Unix98
+sigqueue                       NEW: POSIX.1b
+sigrelse                       NEW: Unix98
+sigset                         NEW: POSIX.1b
+sigtimedwait                   NEW: POSIX.1b
+sigwaitinfo                    NEW: POSIX.1b
+sincos                         NEW: GNU ext.
+sincosf                                NEW: GNU ext.
+sincosl                                NEW: GNU ext.
+statfs64                       NEW: LFS
+statvfs                                NEW: Unix98
+statvfs64                      NEW: LFS
+strcasestr                     NEW: GNU ext.
+strtoimax                      NEW: ISO C 9x
+strtoumax                      NEW: ISO C 9x
+strverscmp                     NEW: GNU ext.
+svcauthdes_stats               NEW: Secure RPC
+svcunix_create                 NEW: sunrpc etx
+svcunixfd_create               NEW: sunrpc ext
+swapcontext                    NEW: Unix98
+tcgetsid                       NEW: Unix98 PTY
+tdestroy                       NEW: GNU ext.
+tgamma                         NEW: ISO C 9x
+tgammaf                                NEW: ISO C 9x
+tgammal                                NEW: ISO C 9x
+tmpfile64                      NEW: LFS
+trunc                          NEW: ISO C 9x
+truncate64                     NEW: LFS
+truncf                         NEW: ISO C 9x
+truncl                         NEW: ISO C 9x
+umount2                                NEW: kernel
+unlockpt                       NEW: Unix98 PTY
+updwtmpx                       NEW: Unix98
+user2netname                   NEW: Secure RPC
+utmpxname                      NEW: Unix98
+versionsort                    NEW: GNU ext.
+versionsort64                  NEW: GNU ext.
+waitid                         NEW: Unix98
+wcscasecmp                     NEW: GNU ext.
+wcsncasecmp                    NEW: GNU ext.
+wcsnlen                                NEW: GNU ext.
+wcstoimax                      NEW: ISO C 9x
+wcstoll                                NEW: ISO C 9x
+wcstoull                       NEW: ISO C 9x
+wcstoumax                      NEW: ISO C 9x
+wcswcs                         NEW: Unix98
+wordexp                                NEW: POSIX.2
+wordfree                       NEW: POSIX.2
+write_profiling                        REMOVED
+xdecrypt                       NEW: Secure RPC
+xdr_authdes_cred               NEW: Secure RPC
+xdr_authdes_verf               NEW: Secure RPC
+xdr_cryptkeyarg                        NEW: Secure RPC
+xdr_cryptkeyarg2               NEW: Secure RPC
+xdr_cryptkeyres                        NEW: Secure RPC
+xdr_getcredres                 NEW: Secure RPC
+xdr_key_netstarg               NEW: Secure RPC
+xdr_key_netstres               NEW: Secure RPC
+xdr_keybuf                     NEW: Secure RPC
+xdr_keystatus                  NEW: Secure RPC
+xdr_netnamestr                 NEW: Secure RPC
+xdr_sizeof                     NEW: Secure RPC
+xdr_unixcred                   NEW: sunrpc ext
+xencrypt                       NEW: Secure RPC
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\f
+Version 2.0.6
+
+* more bug fixes
+
+\f
+Version 2.0.5
+
+* more bug fixes
+
+* inet_ntoa is thread-safe
+
+* updwtmp is moved from libutil to libc
+
+* rewrite of cbrt function
+
+* update of timezone data
+\f
+Version 2.0.4
+
+* more bug fixes
+\f
+Version 2.0.3
+
+* more bug fixes
+\f
+Version 2.0.2
+
+* more bug fixes
+
+* add atoll function
+
+* fix complex problems in Berkeley DB code
+
+* fix math functions
+\f
+Version 2.0.1
+
+* fixed lots of header problems (especially Linux/GNU specific)
+
+* dynamic loader preserves all registers
+
+* Roland McGrath provided support for handling of auxiliary objects in
+  the ELF dynamic loader.
+
+* support for parallel builds is improved
+\f
+Version 2.0
+
+* GNU extensions are no longer declared by default.  To enable them you
+  must define the macro `_GNU_SOURCE' in your program or compile with
+  `-D_GNU_SOURCE'.
 
 * The library has changed from using GNU ld symbol aliases to using weak
   symbols where available.  The ELF object file format supports weak
@@ -16,8 +742,8 @@ Version 1.10
   of many files which contained only symbol aliases, reducing the size of
   the source and the compiled library; many other files were renamed to
   less cryptic names previously occupied by the symbol alias files.
-  There is a new header file <elf.h> and new library `-lelf' for
-  programs which operate on files in the ELF format.
+  There is a new header file <elf.h> for programs which operate on
+  files in the ELF format.
 
 * Converted to Autoconf version 2, so `configure' has more options.
   Run `configure --help' to see the details.
@@ -30,17 +756,33 @@ Version 1.10
   are enabled, the new library `-ldl' is available for arbitrary run-time
   loading of shared objects; its interface is defined in <dlfcn.h>.  The
   new header file <link.h> gives access to the internals of the run-time
-  dynamic linker, `ld.so'.
+  dynamic linker, `ld.so'.  The shell script `ldd' is similar to the
+  application of same name on other systems and it provides information
+  about dynamically linked binaries.
 
 * The C library now provides the run-time support code for profiling
   executables compiled with `-pg'.  Programs can control the profiling code
-  through the interface in <sys/gmon.h>.  The profiling code was adapted
-  from 4.4 BSD-Lite.
+  through the interface in <sys/gmon.h>.  The `gmon.out' files written by
+  the GNU C library can be read only by GNU `gprof' (from GNU binutils);
+  the support for this file format was contributed by David Mosberger-Tang.
 
 * The math code has been replaced with a math library based on fdlibm from
-  Sun, and modified by JT Conklin with i387 support and by Ian Taylor with
-  `float' functions.  The math functions now reside in a separate library,
-  so programs using them will need to use `-lm' their linking commands.
+  Sun, and modified by JT Conklin and Ulrich Drepper with i387 support, by
+  Ian Taylor with `float' functions and by Ulrich Drepper with `long double'
+  functions.  The math functions now reside in a separate library,  so
+  programs using them will need to use `-lm' their linking commands.
+
+* John C. Bowman contributed optimized ix87 assembler inline functions.
+
+* Ulrich Drepper has contributed support for an `/etc/nsswitch.conf'
+  mechanism similar to that found in Solaris 2.  This is now used for the
+  group, passwd, hosts, networks, services, protocols, rpc, ethers,
+  shadow, netgroup, publickey, and alias databases.  The `nsswitch.conf'
+  file controls what services are used for each individual database.  This
+  works by loading shared libraries with names specified in `nsswitch.conf',
+  so service modules can be changed or added at any time without even
+  relinking any program.  Currently there are the file, db, and NIS based
+  NSS services available.
 
 * The new functions `strtoq' and `strtouq' parse integer values from
   strings, like `strtol' and `strtoul', but they return `long long int' and
@@ -55,12 +797,25 @@ Version 1.10
   `strtod', `strtof', and `strtold'.  These new functions are perfectly
   accurate, and much faster than the old ones.
 
+* The implementation of the POSIX locale model was completely rewritten by
+  Ulrich Drepper.  This includes the new programs `localedef' and `locale'
+  to compile the POSIX locale definition.
+
+* The former dummy implementations of the strcoll and strxfrm function are
+  now replaced by fully functional code contributed by Ulrich Drepper.  The
+  collation information comes from the POSIX locale definitions.
+
 * The new header <langinfo.h> defines an interface for accessing
   various locale-dependent data (using the locale chosen with `setlocale').
 
 * Ulrich Drepper has contributed a new suite of functions for operation on
-  wide-character and multibyte-character strings; see <wcstr.h> and <mbstr.h>.
-  These new functions are intended to conform to the ISO C specification.
+  wide-character and multibyte-character strings, in <wchar.h>;
+  and classification and case conversion of wide characters, in <wctype.h>.
+  These new functions are conforming to the ISO C, Amendement 1 specification.
+
+* There is now a second implementation of the standard I/O library available.
+  It comes from GNU libg++ as was written by Per Bothner, heavily modified
+  by Hongjiu Lu and made thread safe by Ulrich Drepper.
 
 * You can now use positional parameter specifications in format strings
   for the `printf' and `scanf' families of functions.  For example,
@@ -89,11 +844,9 @@ Version 1.10
 * The new header file <fts.h> and suite of functions simplify programs that
   operate on directory trees.  This code comes from 4.4 BSD.
 
-* The resolver code has been updated from the BIND 4.9.3 release.
-
-* The new function `malloc_find_object_address' finds the starting address
-  of a malloc'd block, given any address within the block.  This can be
-  useful for debugging.
+* The resolver code has been updated from the BIND 4.9.5-P1 release.
+  Parts of the code were heavily modified by Ulrich Drepper to fit in the
+  NSS scheme used in glibc.
 
 * There is a new malloc debugging hook `__memalign_hook'.
 
@@ -115,7 +868,9 @@ Version 1.10
 
 * The new functions `ecvt', `fcvt', and `gcvt' provide an obsolete interface
   for formatting floating-point numbers.  They are provided only for
-  compatibility; new programs should use `sprintf' instead.
+  compatibility; new programs should use `sprintf' instead.  There are
+  also equivalent function for the `long double' floating-point type and
+  all functions also exist in a reentrant form.
 
 * The new auxiliary library `-lutil' from 4.4 BSD contains various
   functions for maintaining the login-record files (primarily of use to
@@ -139,11 +894,28 @@ Version 1.10
 
 * Ulrich Drepper has updated the Linux-specific code, based largely
   on work done in Hongjiu Lu's version of GNU libc for Linux.
-  The GNU library now supports Linux versions 1.3.29 and later,
-  using the ELF object file format (i[345]86-*-linux).
+  The GNU library now supports Linux versions 2.0.10 and later,
+  using the ELF object file format (i[3456]86-*-linux).
+
+* Andreas Schwab has ported the C library to Linux/m68k (m68k-*-linux).
+
+* David Mosberger-Tang and Richard Henderson have ported the C library
+  to Linux/Alpha (alpha-*-linux).  Richard Henderson contributed the
+  dynamic linking support for ELF/Alpha.
+
+* Richard Henderson contributed several Alpha optimized assembler function
+  for arithmetic and string handling.
 
 * Ulrich Drepper has contributed a new set of message catalog functions to
-  support multiple languages, for use with his new package GNU gettext.
+  support multiple languages using the <libintl.h> interface, for use with
+  his new package GNU gettext.  Translation volunteers have contributed
+  catalogs of the library's messages in Spanish, German, and Korean.
+
+* For compatibility with XPG4, Ulrich Drepper has contributed the `gencat'
+  program and the `catgets' function for reading the catalog files it
+  creates.  (The <libintl.h> interface is preferred; we include the
+  <nl_types.h> interface using `catgets' only for source compatibility with
+  programs already written to use it.)
 
 * New header file <values.h> gives SVID-compatible names for <limits.h>
   constants.
@@ -160,7 +932,7 @@ Version 1.10
   `struct sockaddr *' type, does not generate a type-clash warning.
 
 * New function `error' declared in header file <error.h> is a convenient
-  function for printing error messages and optionally exitting; this is the
+  function for printing error messages and optionally exiting; this is the
   canonical function used in GNU programs.  The new functions `err', `warn',
   and friends in header file <err.h> are the canonical 4.4 BSD interface for
   doing the same thing.
@@ -169,19 +941,72 @@ Version 1.10
   POSIX.2 `glob' function to do ~ and {...} expansion.
 
 * New function `unsetenv' complements `setenv' for compatibility with 4.4 BSD.
+  `clearenv' which is used in POSIX.9 is also available.
 
 * New function `getsid' returns session ID number on systems that support it.
 
 * We have incorporated the 4.4 BSD `db' library (version 1.85).  New header
   files <db.h> and <mpool.h> provide a rich set of functions for several
   types of simple databases stored in memory and in files, and <ndbm.h> is
-  an old `ndbm'-compatbile interface using the `db' functions.
+  an old `ndbm'-compatible interface using the `db' functions.  Link with
+  `-ldb' to get these functions.
 
 * New macro `strdupa' copies a string like `strdup', but uses local stack
   space from `alloca' instead of dynamic heap space from `malloc'.
 
 * New function `strnlen' is like `strlen' but searches only a given maximum
-  number of characters for the null terminator.
+  number of characters for the null terminator.  `stpncpy', `strndup' and
+  `strndupa' are similar variants for the `stpcpy', `strdup' and `strdupa'
+  function.
+
+* New function `statfs' in header <sys/statfs.h>.
+
+* The new <argz.h> and <envz.h> interfaces contributed by Miles Bader
+  provide convenient functions for operating on blocks of null-terminated
+  strings.
+
+* A new suite of functions in <utmp.h> handle all the details of reading
+  and writing the utmp file.
+
+* An implementation of the NIS/YP(tm) based NSS service was contributed by
+  Thorsten Kukuk.
+
+* Paul Eggert and Ulrich Drepper modified the `strftime' function to be
+  completely POSIX compliant and also implemented the extended functionality
+  to handle alternate digit representation and alternate era date formats.
+
+* Ulrich Drepper provided an implementation of the `strptime' function
+  defined in XPG4.2 which transforms a string into a `struct tm' value.
+
+* Paul Eggert provided the tzselect shell script as part of the timezone
+  code.  The shell script makes it easy to select the correct timezone
+  specification.
+
+* The implementation of the malloc family of functions is completely replaced
+  by a new implementation by Doug Lea with many improvements by Wolfram Gloger.
+  The implementation uses the mmap function (if available) and it is
+  optimized for the use in multi threaded programs.
+
+* Ulrich Drepper contributed a MD5 "encryption" for the crypt family of
+  functions.  This new functionality is usable by specifying a special
+  salt string and it is compatible with implementation on *BSD systems.
+
+* Lots of functions from the XPG4.2 standard were added by Ulrich Drepper:
+  `getsubopt' to handle second level command line options, `bsd_signal'
+  to access BSD style `signal' functionality, the obsolete `regexp' style
+  expression matcher.
+
+* the `lchown' function is available on system which support this
+  functionality.
+
+* The implementation of the shadow password handling function was contributed
+  by Ulrich Drepper.
+
+* David Mosberger-Tang changed the SunRPC implementation to be 64bit safe.
+
+* POSIX.1g support was added.  The <sys/select.h> header is available,
+  `isfdtype' and `pselect' are implemented.  Craig Metz contributed an
+  implementation of `getaddrinfo'.
 \f
 Version 1.09
 
@@ -303,7 +1128,7 @@ Version 1.06
   `make dvi' will produce a DVI file of the printed manual.
   `make info' will produce Info files that you can read on line using C-h i
   in Emacs or the `info' program.
-  Please send comments on the manual to bug-glibc-manual@prep.ai.mit.edu.
+  Please send comments on the manual to bug-glibc-manual@gnu.org.
 
 * The library now supports SVR4 on i386s (i386-unknown-sysv4).
 
@@ -414,7 +1239,8 @@ Version 1.04
   compiler, so the C library should now work with C++ code.
 
 * The header file <bstring.h> is gone.  <string.h> now declares bcopy,
-  bcmp, bzero, and ffs.
+  bcmp, bzero, and ffs.  (Update: nowadays these functions are declared
+  in <strings.h>.)
 
 * Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting
   function which uses the `merge sort' algorithm, and is said to be
@@ -425,14 +1251,6 @@ Version 1.04
 
 * The C library now includes Michael Glad's Ultra Fast Crypt, which
   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-VERSION-crypt.tar.Z', e.g. `glibc-1.04-crypt.tar.Z'.  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
-  ftp.uni-c.dk [129.142.6.74], or another archive site outside the U.S.
 
 * The code and header files taken from 4.4 BSD have been updated with the
   latest files released from Berkeley.
@@ -440,7 +1258,7 @@ Version 1.04
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+Copyright (C) 1992-1999, 2000 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the