Fix warnings.
[kopensolaris-gnu/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index 8794dfc..7cd28f1 100644 (file)
--- a/NEWS
+++ b/NEWS
-GNU C Library NEWS -- history of user-visible changes.  1998-03-04
+GNU C Library NEWS -- history of user-visible changes.  2001-3-11
 
-Copyright (C) 1992, 93, 94, 95, 96, 97, 98 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 using the `glibcbug' script to
 <bugs@gnu.org>.  Questions and suggestions should be send to
 <bug-glibc@gnu.org>.
 \f
+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
@@ -35,6 +280,9 @@ Version 2.1
 * 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.
 
@@ -47,7 +295,7 @@ Version 2.1
 
 * Mark Kettenis implemented the utmpx interface and an utmp daemon.
 
-* Ulrich Drepper added character conversion functions.
+* Ulrich Drepper added character set conversion functions (iconv).
 
 * Optimized string functions have been added.
 
@@ -61,24 +309,26 @@ Version 2.1
   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
+                                 user  system     wall
+
+    using local files          12.19s   6.88s   22.91s
 
-    using local files          12.19s   6.88s  22.91s
+    using NIS                  13.92s   8.91s   26.34s
 
-    using NIS                  13.92s   8.91s  26.34s
+    using NIS & nscd           10.37s   7.34s   25.30s
 
-    using NIS & nscd           10.37s   7.34s  25.30s
+    using NIS+                 27.57s  30.37s  640.46s
 
-    using NIS & old nscd [1]   13.83s   8.32s  29.60s
+    using NIS+ & nscd           10.25s   7.83s   26.51s
+
+    using NIS & old nscd [1]   13.83s   8.32s   29.60s
 
-  When NIS+ is used instead of NIS the benefit from using nscd is much bigger.
   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.  When using nscd unpacking is now even faster than using
-  NIS.
+  horribly slow.
 
-  [1] The old nscd implementation is not anymore available since it was
-  distributed with glibc up to version 2.0.98.
+  [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.
 
@@ -89,23 +339,31 @@ Version 2.1
 
 * 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: fmtmsg
+addseverity                    NEW: Unix98
 alphasort64                    NEW: LFS
-argp_err_exit_status           NEW: argp
-argp_error                     NEW: argp
-argp_failure                   NEW: argp
-argp_help                      NEW: argp
-argp_parse                     NEW: argp
-argp_program_bug_address       NEW: argp
-argp_program_version           NEW: argp
-argp_program_version_hook      NEW: argp
-argp_state_help                        NEW: argp
-argp_usage                     NEW: argp
-authdes_create                 NEW: NIS+
-authdes_getucred               NEW: NIS+
-authdes_pk_create              NEW: NIS+
+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.
@@ -132,7 +390,7 @@ catanh                              NEW: ISO C 9x
 catanhf                                NEW: ISO C 9x
 catanhl                                NEW: ISO C 9x
 catanl                         NEW: ISO C 9x
-cbc_crypt                      NEW: NIS+
+cbc_crypt                      NEW: Secure RPC
 ccos                           NEW: ISO C 9x
 ccosf                          NEW: ISO C 9x
 ccosh                          NEW: ISO C 9x
@@ -181,9 +439,9 @@ ctanh                               NEW: ISO C 9x
 ctanhf                         NEW: ISO C 9x
 ctanhl                         NEW: ISO C 9x
 ctanl                          NEW: ISO C 9x
-des_setparity                  NEW: NIS+
-ecb_crypt                      NEW: NIS+
-endutxent                      NEW: utmpx
+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
@@ -223,7 +481,7 @@ fmaxl                               NEW: ISO C 9x
 fmin                           NEW: ISO C 9x
 fminf                          NEW: ISO C 9x
 fminl                          NEW: ISO C 9x
-fmtmsg                         NEW: fmtmsg
+fmtmsg                         NEW: Unix98
 fopen64                                NEW: LFS
 fputc_locked                   REMOVED
 fputs_unlocked                 NEW: GNU ext.
@@ -249,19 +507,19 @@ getdate_err                       NEW: Unix98
 getdate_r                      NEW: GNU ext.
 getmsg                         NEW: STREAMS
 getnameinfo                    NEW: IPv6
-getnetname                     NEW: IPv6
+getnetname                     NEW: Secure RPC
 getpmsg                                NEW: STREAMS
 getpt                          NEW: Unix98 PTY
 getrlimit64                    NEW: LFS
-getutxent                      NEW: utmpx
-getutxid                       NEW: utmpx
-getutxline                     NEW: utmpx
+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: IPv6
+host2netname                   NEW: Secure RPC
 iconv                          NEW: iconv
 iconv_close                    NEW: iconv
 iconv_open                     NEW: iconv
@@ -274,15 +532,15 @@ in6addr_loopback          NEW: IPv6
 inet6_isipv4mapped             NEW: IPv6
 isastream                      NEW: STREAMS
 iswblank                       NEW: GNU ext.
-key_decryptsession             NEW: NIS+
-key_decryptsession_pk          NEW: NIS+
-key_encryptsession             NEW: NIS+
-key_encryptsession_pk          NEW: NIS+
-key_gendes                     NEW: NIS+
-key_get_conv                   NEW: NIS+
-key_secretkey_is_set           NEW: NIS+
-key_setnet                     NEW: NIS+
-key_setsecret                  NEW: NIS+
+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
@@ -310,14 +568,15 @@ nanl                              NEW: ISO C 9x
 nearbyint                      NEW: ISO C 9x
 nearbyintf                     NEW: ISO C 9x
 nearbyintl                     NEW: ISO C 9x
-netname2host                   NEW: IPv6
-netname2user                   NEW: IPv6
-nextafterx                     NEW: ISO C 9x
-nextafterxf                    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: NIS+
+passwd2des                     NEW: Secure RPC
 pow10                          NEW: GNU ext.
 pow10f                         NEW: GNU ext.
 pow10l                         NEW: GNU ext.
@@ -335,7 +594,7 @@ putchar_locked                      REMOVED
 putgrent                       NEW: GNU ext.
 putmsg                         NEW: STREAMS
 putpmsg                                NEW: STREAMS
-pututxline                     NEW: utmpx
+pututxline                     NEW: Unix98
 pwrite                         NEW: Unix98
 pwrite64                       NEW: LFS
 readdir64                      NEW: LFS
@@ -354,7 +613,7 @@ scandir64                   NEW: LFS
 sendfile                       NEW: kernel
 setcontext                     NEW: Unix98
 setrlimit64                    NEW: LFS
-setutxent                      NEW: utmpx
+setutxent                      NEW: Unix98
 sighold                                NEW: Unix98
 sigignore                      NEW: Unix98
 sigqueue                       NEW: POSIX.1b
@@ -369,11 +628,10 @@ statfs64                  NEW: LFS
 statvfs                                NEW: Unix98
 statvfs64                      NEW: LFS
 strcasestr                     NEW: GNU ext.
-strfxtime                      NEW: ISO C 9x
 strtoimax                      NEW: ISO C 9x
 strtoumax                      NEW: ISO C 9x
 strverscmp                     NEW: GNU ext.
-svcauthdes_stats               NEW: NIS+
+svcauthdes_stats               NEW: Secure RPC
 svcunix_create                 NEW: sunrpc etx
 svcunixfd_create               NEW: sunrpc ext
 swapcontext                    NEW: Unix98
@@ -389,11 +647,11 @@ truncf                            NEW: ISO C 9x
 truncl                         NEW: ISO C 9x
 umount2                                NEW: kernel
 unlockpt                       NEW: Unix98 PTY
-updwtmpx                       NEW: utmpx
-user2netname                   NEW: IPv6
-utmpxname                      NEW: utmpx
+updwtmpx                       NEW: Unix98
+user2netname                   NEW: Secure RPC
+utmpxname                      NEW: Unix98
 versionsort                    NEW: GNU ext.
-versionsort64                  NEW: LFS
+versionsort64                  NEW: GNU ext.
 waitid                         NEW: Unix98
 wcscasecmp                     NEW: GNU ext.
 wcsncasecmp                    NEW: GNU ext.
@@ -406,23 +664,28 @@ wcswcs                            NEW: Unix98
 wordexp                                NEW: POSIX.2
 wordfree                       NEW: POSIX.2
 write_profiling                        REMOVED
-xdecrypt                       NEW: NIS+
-xdr_authdes_cred               NEW: NIS+
-xdr_authdes_verf               NEW: NIS+
-xdr_cryptkeyarg                        NEW: NIS+
-xdr_cryptkeyarg2               NEW: NIS+
-xdr_cryptkeyres                        NEW: NIS+
-xdr_getcredres                 NEW: NIS+
-xdr_key_netstarg               NEW: NIS+
-xdr_key_netstres               NEW: NIS+
-xdr_keybuf                     NEW: NIS+
-xdr_keystatus                  NEW: NIS+
-xdr_netnamestr                 NEW: NIS+
-xdr_sizeof                     NEW: NIS+
+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: NIS+
+xencrypt                       NEW: Secure RPC
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \f
+Version 2.0.6
+
+* more bug fixes
+
+\f
 Version 2.0.5
 
 * more bug fixes
@@ -976,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
@@ -987,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.
@@ -1002,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