Use __pthread_sig_cancel and __pthread_sig_restart everywhere instead
[kopensolaris-gnu/glibc.git] / NEWS
diff --git a/NEWS b/NEWS
index 086c8fb..6e0c6b5 100644 (file)
--- a/NEWS
+++ b/NEWS
-GNU C Library NEWS -- history of user-visible changes.  28 March 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 1.10
+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
 
 * GNU extensions are no longer declared by default.  To enable them you
   must define the macro `_GNU_SOURCE' in your program or compile with
@@ -20,8 +118,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.
@@ -34,7 +132,9 @@ 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
@@ -43,9 +143,22 @@ Version 1.10
   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
@@ -60,13 +173,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, 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,
@@ -95,11 +220,15 @@ 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 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.  This can be
-  useful for debugging.
+  of a malloc'd block, given any address within the block;
+  `malloc_object_allocated_size' returns the size of an allocated block;
+  and `malloc_walk' lets you walk through all allocated blocks.  These can
+  be useful for debugging; see <malloc.h> for the interfaces.
 
 * There is a new malloc debugging hook `__memalign_hook'.
 
@@ -121,7 +250,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
@@ -145,15 +276,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 has ported the C library to Linux/Alpha (alpha-*-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.
@@ -170,7 +314,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.
@@ -179,19 +323,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
 
@@ -313,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).