-GNU C Library NEWS -- history of user-visible changes. 28 March 1996
+GNU C Library NEWS -- history of user-visible changes. 1997-03-18
-Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+Copyright (C) 1992, 93, 94, 95, 96, 97 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.ai.mit.edu>. Questions and suggestions should be send to
+<bug-glibc@prep.ai.mit.edu>.
\f
-Version 1.10
+Version 2.1
+
+* 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 format for scanning floating point numbers
+
+* the new header <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
+
+* Thorsten Kukuk provided an implementation for NIS+, securelevel 0 and 1.
+ The implementation for securelevel 2 will follow as soon as the Diffie-
+ Hellman patent expired.
+
+* Andreas Jaeger provided a test suite for the math library
+\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
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.
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
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
`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,
* 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'.
* 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
* 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.
`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.
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