Use __pthread_sig_cancel and __pthread_sig_restart everywhere instead
[kopensolaris-gnu/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index edb07b8..6e0c6b5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,107 @@
-GNU C Library NEWS -- history of user-visible changes.  24 June 1996
+GNU C Library NEWS -- history of user-visible changes.  1998-03-04
 
-Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+Copyright (C) 1992, 93, 94, 95, 96, 97, 98 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 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.
+
+* 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 conversion functions.
+
+* 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 provided an implementation for a caching daemon for NSS
+  (nscd).
+
+* Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
+
+* Mark Kettenis provided a Hesiod NSS module.
+\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
 
@@ -20,8 +118,8 @@ Version 2.0
   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.
@@ -34,7 +132,9 @@ Version 2.0
   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
@@ -43,18 +143,22 @@ Version 2.0
   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, and rpc 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.  A future release of the
-  separate NYS package will provide NIS/YP and NIS+ modules for this interface.
+  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
@@ -69,13 +173,25 @@ Version 2.0
   `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, in <wcstr.h> and <mbstr.h>;
+  wide-character and multibyte-character strings, in <wchar.h>;
   and classification and case conversion of wide characters, in <wctype.h>.
-  These new functions are intended to conform to the ISO C specification.
+  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,
@@ -104,7 +220,9 @@ Version 2.0
 * 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.4-T3B release.
+* 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.
 
 * The new function `malloc_find_object_address' finds the starting address
   of a malloc'd block, given any address within the block;
@@ -132,7 +250,9 @@ Version 2.0
 
 * 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
@@ -156,13 +276,17 @@ Version 2.0
 
 * 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 has ported the C library to Linux/Alpha (alpha-*-linux).
-  Richard Henderson contributed the dynamic linking support for ELF/Alpha.
+* 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 using the <libintl.h> interface, for use with
@@ -190,7 +314,7 @@ Version 2.0
   `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.
@@ -199,20 +323,23 @@ Version 2.0
   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.  Link with
+  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>.
 
@@ -222,6 +349,46 @@ Version 2.0
 
 * 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
 
@@ -343,7 +510,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).