Tue Jun 25 02:59:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
* malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
* malloc/malloc-size.c: New file.
* malloc/malloc-walk.c: New file.
* malloc/malloc-find.c (malloc_find_object_address): Return null if
PTR is outside the heap.
* elf/dl-load.c (_dl_map_object): If the requested name matches the
soname of a loaded object, use that object.
Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makefile (subdirs): Add nss.
* inet/Makefile (routines): Add getrpcent, getrpcbyname,
getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
* inet/getrpcbynumber_r.c: New file.
* inet/getrpcbynumber.c: New file.
* inet/getrpcbyname.c: New file.
* inet/getrpcbyname_r.c: New file.
* inet/getrpcent_r.c: New file.
* inet/getrpcent.c: New file.
* nss/rpc-lookup.c: New file.
* nss/nss_files/files-rpc.c: New file.
* nss/Makefile (routines): Add rpc-lookup.
(libnss_files-routines): Add files-rpc.
* sunrpc/Makefile (routines): Remove getrpcent.
* sunrpc/getrpcent.c: File removed.
* nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
non-null on entry.
* Makeconfig (rpath-link): Add $(nssobjdir).
(nssobjdir): New variable.
* Makerules: Move shared library building before objects rules, so
versions are known before extra-lib.mk gets included.
* extra-lib.mk (lib-noranlib): Depend on the shared object too.
* pwd/getpwuid.c: Rewritten using nss.
* pwd/getpwnam.c: Likewise.
* pwd/getpwent.c: Likewise.
* grp/getgrnam.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrent.c: Likewise.
* pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
* pwd/getpwent_r.c: New file.
* pwd/getpwnam_r.c: New file.
* pwd/getpwuid_r.c: New file.
* grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
* grp/getgrnam_r.c: New file.
* grp/getgrgid_r.c: New file.
* grp/getgrent_r.c: New file.
* grp/Makefile (routines): Remove grpopen, grpread.
* pwd/Makefile (routines): Remove pwdopen, pwdread.
* grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.
* pwd/fgetpwent.c: Rewritten using files-parse.c.
* grp/fgetgrent.c: Likewise.
* nss/Makefile (routines): Add grp-lookup and pwd-lookup.
* nss/pwd-lookup.c, nss/grp-lookup.c: New files.
* nss/nss_files/files-grp.c: New file.
* nss/nss_files/files-pwd.c: New file.
* nss/Makefile (subdir-dirs): New variable; use it in vpath.
* nss/nss_files/files-parse.c: New file.
* nss/nss_files/files-XXX.c: New file.
* nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
nss/nss_files/files-service.c, nss/nss_files/files-network.c:
Rewritten using them.
* nss/Makefile (libnss_files-routines): Remove files-host.
Add files-hosts, files-grp, files-pwd.
* nss/nss_dns/dns-network.c: Don't include <pthread.h>.
Mon Jun 24 22:39:12 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
A .plt entry now loads the .rela.plt offset directly rather
than making us calculate it.
Sun Jun 23 15:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/Makefile ($(installed-localtime-file) rule): Do
$(make-target-directory) first.
* resolv.h: Fix wrapper for resolv/resolv.h.
* configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
Compile dummy file and pass -nostdlib -nostartfiles so as not to
require installed libraries.
* shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
libnss_dns=1.
Sun Jun 23 19:42:05 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.
* inet/herrno.c: New file.
* resolv/res_init.c: Remove res_hconf calls.
* nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
nss/service-lookup.c: New files. Implementation of name
service switch, following the approach in Solaris.
Interface specification and general structure inspired by Peter
Eriksson <pen@lysator.liu.se>.
* nss/nss_files/files-host.c, nss/nss_files/files-network.c,
nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
Implementation of libnss_files.so module for file based databases
in NSS service.
* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
if libnss_dns.so module for DNS name lookup in NSS service.
* inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
Changed to serve as interface to NSS.
* inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files. Implement
interfaces to NSS, including reentrant functions.
* resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
resolv/sethostent.c: Removed: Obsoleted by NSS.
* resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
gethnamaddr.c. These private functions are now used in more
than one file.
* resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.
Sat Jun 22 16:49:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile ($(config)): Make sure the word list in the for
loop is syntactically non-empty.
1996-06-25 16:56:57 +08:00
|
|
|
|
GNU C Library NEWS -- history of user-visible changes. 24 June 1996
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
1996-01-02 16:57:42 +08:00
|
|
|
|
Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
See the end for copying conditions.
|
|
|
|
|
|
|
|
|
|
Please send GNU C library bug reports to bug-glibc@prep.ai.mit.edu.
|
|
|
|
|
|
1996-06-23 05:14:17 +08:00
|
|
|
|
Version 2.0
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
1996-03-20 05:59:41 +08:00
|
|
|
|
* 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'.
|
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
|
* The library has changed from using GNU ld symbol aliases to using weak
|
|
|
|
|
symbols where available. The ELF object file format supports weak
|
|
|
|
|
symbols; GNU ld also supports weak symbols in the a.out format. (There
|
|
|
|
|
is also now support for other GNU ld extensions in ELF. Use the
|
1995-02-21 14:17:59 +08:00
|
|
|
|
`--with-elf' option to configure to indicate you have ELF, and
|
|
|
|
|
`--with-gnu-ld' if using GNU ld.) This change resulted in the deletion
|
1995-02-18 09:27:10 +08:00
|
|
|
|
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.
|
1995-03-21 15:58:50 +08:00
|
|
|
|
There is a new header file <elf.h> and new library `-lelf' 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.
|
|
|
|
|
|
|
|
|
|
* The library can now be configured to build profiling, highly-optimized
|
1995-08-08 05:45:04 +08:00
|
|
|
|
(but undebuggable), and/or shared libraries (ELF with GNU ld only). The
|
|
|
|
|
`--enable-profile', `--enable-omitfp', and `--enable-shared' options to
|
|
|
|
|
`configure' enable building these extra libraries. The shared library is
|
|
|
|
|
built by default when using both ELF and GNU ld. When shared libraries
|
|
|
|
|
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'.
|
1995-03-21 15:58:50 +08:00
|
|
|
|
|
1996-01-02 16:57:42 +08:00
|
|
|
|
* The C library now provides the run-time support code for profiling
|
|
|
|
|
executables compiled with `-pg'. Programs can control the profiling code
|
1996-03-20 05:59:41 +08:00
|
|
|
|
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.
|
1996-01-02 16:57:42 +08:00
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
Tue Jun 25 02:59:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
* malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
* malloc/malloc-size.c: New file.
* malloc/malloc-walk.c: New file.
* malloc/malloc-find.c (malloc_find_object_address): Return null if
PTR is outside the heap.
* elf/dl-load.c (_dl_map_object): If the requested name matches the
soname of a loaded object, use that object.
Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makefile (subdirs): Add nss.
* inet/Makefile (routines): Add getrpcent, getrpcbyname,
getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
* inet/getrpcbynumber_r.c: New file.
* inet/getrpcbynumber.c: New file.
* inet/getrpcbyname.c: New file.
* inet/getrpcbyname_r.c: New file.
* inet/getrpcent_r.c: New file.
* inet/getrpcent.c: New file.
* nss/rpc-lookup.c: New file.
* nss/nss_files/files-rpc.c: New file.
* nss/Makefile (routines): Add rpc-lookup.
(libnss_files-routines): Add files-rpc.
* sunrpc/Makefile (routines): Remove getrpcent.
* sunrpc/getrpcent.c: File removed.
* nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
non-null on entry.
* Makeconfig (rpath-link): Add $(nssobjdir).
(nssobjdir): New variable.
* Makerules: Move shared library building before objects rules, so
versions are known before extra-lib.mk gets included.
* extra-lib.mk (lib-noranlib): Depend on the shared object too.
* pwd/getpwuid.c: Rewritten using nss.
* pwd/getpwnam.c: Likewise.
* pwd/getpwent.c: Likewise.
* grp/getgrnam.c: Likewise.
* grp/getgrgid.c: Likewise.
* grp/getgrent.c: Likewise.
* pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
* pwd/getpwent_r.c: New file.
* pwd/getpwnam_r.c: New file.
* pwd/getpwuid_r.c: New file.
* grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
* grp/getgrnam_r.c: New file.
* grp/getgrgid_r.c: New file.
* grp/getgrent_r.c: New file.
* grp/Makefile (routines): Remove grpopen, grpread.
* pwd/Makefile (routines): Remove pwdopen, pwdread.
* grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.
* pwd/fgetpwent.c: Rewritten using files-parse.c.
* grp/fgetgrent.c: Likewise.
* nss/Makefile (routines): Add grp-lookup and pwd-lookup.
* nss/pwd-lookup.c, nss/grp-lookup.c: New files.
* nss/nss_files/files-grp.c: New file.
* nss/nss_files/files-pwd.c: New file.
* nss/Makefile (subdir-dirs): New variable; use it in vpath.
* nss/nss_files/files-parse.c: New file.
* nss/nss_files/files-XXX.c: New file.
* nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
nss/nss_files/files-service.c, nss/nss_files/files-network.c:
Rewritten using them.
* nss/Makefile (libnss_files-routines): Remove files-host.
Add files-hosts, files-grp, files-pwd.
* nss/nss_dns/dns-network.c: Don't include <pthread.h>.
Mon Jun 24 22:39:12 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
A .plt entry now loads the .rela.plt offset directly rather
than making us calculate it.
Sun Jun 23 15:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/Makefile ($(installed-localtime-file) rule): Do
$(make-target-directory) first.
* resolv.h: Fix wrapper for resolv/resolv.h.
* configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
Compile dummy file and pass -nostdlib -nostartfiles so as not to
require installed libraries.
* shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
libnss_dns=1.
Sun Jun 23 19:42:05 1996 Ulrich Drepper <drepper@cygnus.com>
* resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.
* inet/herrno.c: New file.
* resolv/res_init.c: Remove res_hconf calls.
* nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
nss/service-lookup.c: New files. Implementation of name
service switch, following the approach in Solaris.
Interface specification and general structure inspired by Peter
Eriksson <pen@lysator.liu.se>.
* nss/nss_files/files-host.c, nss/nss_files/files-network.c,
nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
Implementation of libnss_files.so module for file based databases
in NSS service.
* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
if libnss_dns.so module for DNS name lookup in NSS service.
* inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
Changed to serve as interface to NSS.
* inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files. Implement
interfaces to NSS, including reentrant functions.
* resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
resolv/sethostent.c: Removed: Obsoleted by NSS.
* resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
gethnamaddr.c. These private functions are now used in more
than one file.
* resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.
Sat Jun 22 16:49:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* rpm/Makefile ($(config)): Make sure the word list in the for
loop is syntactically non-empty.
1996-06-25 16:56:57 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
1995-03-21 15:58:50 +08:00
|
|
|
|
* The new functions `strtoq' and `strtouq' parse integer values from
|
|
|
|
|
strings, like `strtol' and `strtoul', but they return `long long int' and
|
|
|
|
|
`unsigned long long int' values, respectively (64-bit quantities).
|
|
|
|
|
|
|
|
|
|
* The new functions `strtof' and `strtold' parse floating-point values from
|
|
|
|
|
strings, like `strtod', but they return `float' and `long double' values,
|
|
|
|
|
respectively (on some machines `double' and `long double' are the same).
|
|
|
|
|
|
|
|
|
|
* Ulrich Drepper has contributed new implementations of the floating-point
|
|
|
|
|
printing and reading code used in the `printf' family of functions and
|
|
|
|
|
`strtod', `strtof', and `strtold'. These new functions are perfectly
|
|
|
|
|
accurate, and much faster than the old ones.
|
|
|
|
|
|
|
|
|
|
* The new header <langinfo.h> defines an interface for accessing
|
|
|
|
|
various locale-dependent data (using the locale chosen with `setlocale').
|
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
|
* Ulrich Drepper has contributed a new suite of functions for operation on
|
1996-03-29 09:04:20 +08:00
|
|
|
|
wide-character and multibyte-character strings, in <wcstr.h> and <mbstr.h>;
|
|
|
|
|
and classification and case conversion of wide characters, in <wctype.h>.
|
1996-03-06 05:41:30 +08:00
|
|
|
|
These new functions are intended to conform to the ISO C specification.
|
|
|
|
|
|
1996-01-02 16:57:42 +08:00
|
|
|
|
* You can now use positional parameter specifications in format strings
|
1995-03-21 15:58:50 +08:00
|
|
|
|
for the `printf' and `scanf' families of functions. For example,
|
|
|
|
|
`printf ("Number %2$d, Mr %1$s\n", "Jones", 6);'' prints
|
|
|
|
|
``Number 6, Mr Jones''. This is mainly useful when providing different
|
1995-03-24 15:59:23 +08:00
|
|
|
|
format strings for different languages, whose grammars may dictate
|
|
|
|
|
different orderings of the values being printed. To support this
|
1995-03-21 15:58:50 +08:00
|
|
|
|
feature, the interface for `register_printf_handler' has changed; see
|
1995-03-24 15:59:23 +08:00
|
|
|
|
the header file <printf.h> for details.
|
1995-03-21 15:58:50 +08:00
|
|
|
|
|
|
|
|
|
* The `printf' and `scanf' families of functions now understand a new
|
|
|
|
|
formatting flag for numeric conversions: the ' flag (e.g. %'d or %'f) says
|
|
|
|
|
to group numbers as indicated by the locale; for `scanf' and friends, this
|
|
|
|
|
says to accept as valid only a number with all the proper grouping
|
|
|
|
|
separators in the right places. In the default "C" locale, numbers are
|
|
|
|
|
not grouped; but locales for specific countries will define the usual
|
|
|
|
|
conventions (i.e. separate thousands with `,' in the US locale).
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
* The pgrp functions have been regularized, slightly incompatibly but much
|
|
|
|
|
less confusingly. The core functions are now `getpgid' and `setpgid',
|
|
|
|
|
which take arguments for the PID to operate on; the POSIX.1 `getpgrp' (no
|
|
|
|
|
argument) and BSD `setpgrp' (identical to `setpgid') functions are
|
|
|
|
|
provided for compatibility. There is no longer an incompatible `getpgrp'
|
|
|
|
|
with an argument declared under _BSD_SOURCE; no BSD code uses it.
|
|
|
|
|
|
|
|
|
|
* The new header file <fts.h> and suite of functions simplify programs that
|
|
|
|
|
operate on directory trees. This code comes from 4.4 BSD.
|
|
|
|
|
|
1996-06-23 05:14:17 +08:00
|
|
|
|
* The resolver code has been updated from the BIND 4.9.4-T3B release.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
* The new function `malloc_find_object_address' finds the starting address
|
1996-06-25 18:52:53 +08:00
|
|
|
|
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.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
* There is a new malloc debugging hook `__memalign_hook'.
|
|
|
|
|
|
|
|
|
|
* There are new typedefs `ushort' for `unsigned short int' and `uint' for
|
|
|
|
|
`unsigned int' in <sys/types.h>. These are for compatibility only and
|
|
|
|
|
their use is discouraged.
|
|
|
|
|
|
|
|
|
|
* The `-lmcheck' library to enable standard malloc debugging hooks is now
|
|
|
|
|
done differently, so that it works even without GNU ld.
|
1995-02-21 14:17:59 +08:00
|
|
|
|
|
1995-02-25 09:23:32 +08:00
|
|
|
|
* New function `euidaccess' checks allowed access to a file like `access',
|
|
|
|
|
but using the effective IDs instead of the real IDs.
|
1995-03-21 15:58:50 +08:00
|
|
|
|
|
|
|
|
|
* The time zone data files have been updated for the latest and greatest
|
|
|
|
|
local time conventions of the countries of the world.
|
|
|
|
|
|
|
|
|
|
* The new function `dirfd' extracts the file descriptor used by a DIR stream;
|
|
|
|
|
see <dirent.h>.
|
|
|
|
|
|
|
|
|
|
* 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.
|
1995-03-27 18:24:00 +08:00
|
|
|
|
|
|
|
|
|
* The new auxiliary library `-lutil' from 4.4 BSD contains various
|
|
|
|
|
functions for maintaining the login-record files (primarily of use to
|
|
|
|
|
system programs such as `login'), and convenient functions for
|
|
|
|
|
allocating and initializing a pseudo-terminal (pty) device.
|
1995-09-27 10:50:10 +08:00
|
|
|
|
|
|
|
|
|
* Ulrich Drepper has contributed new support for System V style
|
|
|
|
|
shared memory and IPC on systems that support it.
|
|
|
|
|
|
|
|
|
|
* Ulrich Drepper has contributed several miscellaneous new functions found
|
|
|
|
|
in System V: The `hsearch' family of functions provide an effective
|
|
|
|
|
implementation of hash tables; `a64l' and `l64a' provide a very simple
|
|
|
|
|
binary to ASCII mapping; `drand48' and friends provide a 48-bit random
|
|
|
|
|
number generator.
|
|
|
|
|
|
|
|
|
|
* Ulrich Drepper has contributed new reentrant counterparts for the
|
|
|
|
|
`random' and `hsearch' families of functions; `random_r', `hsearch_r', etc.
|
|
|
|
|
|
|
|
|
|
* Ulrich Drepper has contributed new, highly-optimized versions of several
|
|
|
|
|
string functions for the i486/Pentium family of processors.
|
|
|
|
|
|
1996-01-02 16:57:42 +08:00
|
|
|
|
* Ulrich Drepper has updated the Linux-specific code, based largely
|
1995-09-27 10:50:10 +08:00
|
|
|
|
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).
|
|
|
|
|
|
1996-03-20 05:59:41 +08:00
|
|
|
|
* 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).
|
1996-06-23 05:14:17 +08:00
|
|
|
|
Richard Henderson contributed the dynamic linking support for ELF/Alpha.
|
1996-03-20 05:59:41 +08:00
|
|
|
|
|
1995-09-27 10:50:10 +08:00
|
|
|
|
* Ulrich Drepper has contributed a new set of message catalog functions to
|
1996-06-23 05:14:17 +08:00
|
|
|
|
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.)
|
1996-01-02 16:57:42 +08:00
|
|
|
|
|
|
|
|
|
* New header file <values.h> gives SVID-compatible names for <limits.h>
|
|
|
|
|
constants.
|
|
|
|
|
|
|
|
|
|
* Various new macros, declarations, and small header files for compatibility
|
|
|
|
|
with 4.4 BSD.
|
|
|
|
|
|
|
|
|
|
* New function `group_member' is a convenient way to check if a process has
|
|
|
|
|
a given effective group ID.
|
|
|
|
|
|
|
|
|
|
* When using GCC 2.7 and later, the socket functions are now declared in a
|
|
|
|
|
special way so that passing an argument of type `struct sockaddr_in *',
|
|
|
|
|
`struct sockaddr_ns *', or `struct sockaddr_un *' instead of the generic
|
|
|
|
|
`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
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
* The <glob.h> interface has several new flags from 4.4 BSD that extend the
|
|
|
|
|
POSIX.2 `glob' function to do ~ and {...} expansion.
|
|
|
|
|
|
|
|
|
|
* New function `unsetenv' complements `setenv' for compatibility with 4.4 BSD.
|
|
|
|
|
|
|
|
|
|
* New function `getsid' returns session ID number on systems that support it.
|
|
|
|
|
|
1996-03-06 05:41:30 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
* New macro `strdupa' copies a string like `strdup', but uses local stack
|
|
|
|
|
space from `alloca' instead of dynamic heap space from `malloc'.
|
1996-03-14 19:20:03 +08:00
|
|
|
|
|
|
|
|
|
* New function `strnlen' is like `strlen' but searches only a given maximum
|
|
|
|
|
number of characters for the null terminator.
|
1996-06-23 05:14:17 +08:00
|
|
|
|
|
|
|
|
|
* 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.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
Version 1.09
|
|
|
|
|
|
|
|
|
|
* For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'.
|
|
|
|
|
|
|
|
|
|
* New header file <fstab.h> and new functions `getfsspec', `getfsent' and
|
|
|
|
|
friends, for parsing /etc/fstab. This code comes from 4.4 BSD.
|
|
|
|
|
|
|
|
|
|
* The new function `daemon' from 4.4 BSD is useful for server programs that
|
|
|
|
|
want to put themselves in the background.
|
|
|
|
|
|
|
|
|
|
* Joel Sherrill has contributed support for several standalone boards that
|
|
|
|
|
run without an operating system.
|
|
|
|
|
|
|
|
|
|
* `printf', `scanf' and friends now accept a `q' type modifier for long
|
|
|
|
|
long int as well as `ll'. Formats using these might be `%qu' or `%lld'.
|
|
|
|
|
|
|
|
|
|
* All of the code taken from BSD (notably most of the math and networking
|
|
|
|
|
routines) has been updated from the BSD 4.4-Lite release.
|
|
|
|
|
|
|
|
|
|
* The resolver code has been updated from the BIND-4.9.3-BETA9 release.
|
|
|
|
|
|
|
|
|
|
* The new functions `getdomainname' and `setdomainname' fetch or change the
|
|
|
|
|
YP/NIS domain name. These are system calls which exist on systems which
|
|
|
|
|
have YP (aka NIS).
|
|
|
|
|
|
|
|
|
|
* The time zone data files have been updated for the latest international
|
|
|
|
|
conventions.
|
|
|
|
|
|
|
|
|
|
* The SunRPC programs `portmap' and `rpcinfo' are now installed in
|
|
|
|
|
$(sbindir) (usually /usr/local/sbin) instead of $(bindir).
|
|
|
|
|
|
|
|
|
|
Version 1.08
|
|
|
|
|
|
|
|
|
|
* The C library now includes support for Sun RPC, from Sun's free
|
|
|
|
|
RPCSRC-4.0 distribution. The `portmap', `rpcinfo', and `rpcgen' programs
|
|
|
|
|
are included. (There is still no support for YP.)
|
|
|
|
|
|
|
|
|
|
* Tom Quinn has contributed a port of the C library to SGI machines running
|
|
|
|
|
Irix 4 (mips-sgi-irix4).
|
|
|
|
|
|
|
|
|
|
* The new `lockf' function is a simplified interface to the locking
|
|
|
|
|
facilities of `fcntl', included for compatibility.
|
|
|
|
|
|
|
|
|
|
* New time functions `timegm', `timelocal', and `dysize' for compatibility.
|
|
|
|
|
|
|
|
|
|
* New header file <sys/timeb.h> and new function `ftime' for compatibility.
|
|
|
|
|
|
|
|
|
|
* New header files <poll.h> and <sys/poll.h> and new function `poll' for
|
|
|
|
|
compatibility.
|
|
|
|
|
|
|
|
|
|
* The error message printed by `assert' for a failed assertion now includes
|
|
|
|
|
the name of the program (if using GNU ld) and the name of the calling
|
|
|
|
|
function (with versions of GCC that support this).
|
|
|
|
|
|
|
|
|
|
* The `psignal' function is now declared in <signal.h>, not <stdio.h>.
|
|
|
|
|
|
|
|
|
|
* The library now includes the <sys/mman.h> header file and memory
|
|
|
|
|
management functions `mmap', `munmap', `mprotect', `msync', and
|
|
|
|
|
`madvise', on systems that support those facilities.
|
|
|
|
|
|
|
|
|
|
* The interface for `mcheck' has changed slightly: the function called to
|
|
|
|
|
abort the program when an allocation inconsistency is detected now takes
|
|
|
|
|
an argument that indicates the type of failure. The new function
|
|
|
|
|
`mprobe' lets you request a consistency check for a particular block at
|
|
|
|
|
any time (checks are normally done only when you call `free' or `realloc'
|
|
|
|
|
on a block).
|
|
|
|
|
|
|
|
|
|
* It is now possible to easily cross-compile the C library, building on one
|
|
|
|
|
system a library to run on another machine and/or operating system. All
|
|
|
|
|
you need to do is set the variable `HOST_CC' in `configparms' to the
|
|
|
|
|
native compiler for programs to run on the machine you are building on (a
|
|
|
|
|
few generator programs are used on Unix systems); set `CC' to the
|
|
|
|
|
cross-compiler.
|
|
|
|
|
|
|
|
|
|
* The new function `fexecve' (only implemented on the GNU system) executes
|
|
|
|
|
a program file given a file descriptor already open on the file.
|
|
|
|
|
|
|
|
|
|
Version 1.07
|
|
|
|
|
|
|
|
|
|
* Brendan Kehoe has contributed most of a port to the DEC Alpha
|
|
|
|
|
running OSF/1 (alpha-dec-osf1). He says it is 75% complete.
|
|
|
|
|
|
|
|
|
|
* You can set the variable `libprefix' in `configparms' to specify a prefix
|
|
|
|
|
to be prepended to installed library files; this makes it easy to install
|
|
|
|
|
the GNU C library to be linked as `-lgnuc' or whatever.
|
|
|
|
|
|
|
|
|
|
* The new `stpncpy' is a cross between `stpcpy' and `strncpy': It
|
|
|
|
|
copies a limited number of characters from a string, and returns the
|
|
|
|
|
address of the last character written.
|
|
|
|
|
|
|
|
|
|
* You no longer need to check for whether the installed `stddef.h' is
|
|
|
|
|
compatible with the GNU C library. configure now checks for you.
|
|
|
|
|
|
|
|
|
|
* You can now define a per-stream `fileno' function to convert the
|
|
|
|
|
stream's cookie into an integral file descriptor.
|
|
|
|
|
|
|
|
|
|
* ``malloc (0)'' no longer returns a null pointer. Instead, it
|
|
|
|
|
allocates zero bytes of storage, and returns a unique pointer which
|
|
|
|
|
you can pass to `realloc' or `free'. The behavior is undefined if
|
|
|
|
|
you dereference this pointer.
|
|
|
|
|
|
|
|
|
|
* The C library now runs on Sony NEWS m68k machines running either
|
|
|
|
|
NewsOS 3 or NewsOS 4.
|
|
|
|
|
|
|
|
|
|
* The new `syscall' function is a system-dependent primitive function
|
|
|
|
|
for invoking system calls. It has the canonical behavior on Unix
|
|
|
|
|
systems, including unreliable return values for some calls (such as
|
|
|
|
|
`pipe', `fork' and `getppid').
|
|
|
|
|
|
|
|
|
|
* The error code `EWOULDBLOCK' is now obsolete; it is always defined
|
|
|
|
|
to `EAGAIN', which is the preferred name. On systems whose kernels
|
|
|
|
|
use two distinct codes, the C library now translates EWOULDBLOCK to
|
|
|
|
|
EAGAIN in every system call function.
|
|
|
|
|
|
|
|
|
|
Version 1.06
|
|
|
|
|
|
|
|
|
|
* The GNU C Library Reference Manual is now distributed with the library.
|
|
|
|
|
`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.
|
|
|
|
|
|
|
|
|
|
* The library now supports SVR4 on i386s (i386-unknown-sysv4).
|
|
|
|
|
|
|
|
|
|
* Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2.
|
|
|
|
|
|
|
|
|
|
* Jason Merrill has contributed a port to the Sequent Symmetry running
|
|
|
|
|
Dynix version 3 (i386-sequent-dynix).
|
|
|
|
|
|
|
|
|
|
* The library has been ported to i386s running SCO 3.2.4 (also known as SCO
|
|
|
|
|
ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2).
|
|
|
|
|
|
|
|
|
|
* New function `memory_warnings' lets you arrange to get warnings when
|
|
|
|
|
malloc is running out of memory to allocate, like Emacs gives you.
|
|
|
|
|
|
|
|
|
|
* The C library now contains the relocating allocator used in Emacs 19 for
|
|
|
|
|
its editing buffers. This allocator (ralloc) minimizes allocation
|
|
|
|
|
overhead and fragmentation by moving allocated regions around whenever it
|
|
|
|
|
needs to. You always refer to a ralloc'd region with a "handle" (a
|
|
|
|
|
pointer to a pointer--an object of type `void **').
|
|
|
|
|
|
|
|
|
|
* There is a new `printf' format: `%m' gives you the string corresponding
|
|
|
|
|
to the error code in `errno'.
|
|
|
|
|
|
|
|
|
|
* In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s'
|
|
|
|
|
or `%[' conversion, but instead of filling in a fixed-sized buffer you
|
|
|
|
|
pass, the `a' modifier says to fill in a `char **' you pass with a
|
|
|
|
|
malloc'd string.
|
|
|
|
|
|
|
|
|
|
* The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and
|
|
|
|
|
`FNM_CASEFOLD'. `FNM_LEADING_DIR' lets a pattern like `foo*' match a
|
|
|
|
|
name like `foo/bar'. `FNM_CASEFOLD' says to ignore case in matching.
|
|
|
|
|
|
|
|
|
|
* `mkstemp' is a traditional Unix function to atomically create and open a
|
|
|
|
|
uniquely-named temporary file.
|
|
|
|
|
|
|
|
|
|
Version 1.05
|
|
|
|
|
|
|
|
|
|
* The standard location for the file that says what the local timezone is
|
|
|
|
|
has changed again. It is now `/usr/local/etc/localtime' (or more
|
|
|
|
|
precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'.
|
|
|
|
|
|
|
|
|
|
* The distribution no longer contains any files with names longer than 14
|
|
|
|
|
characters.
|
|
|
|
|
|
|
|
|
|
* `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE.
|
|
|
|
|
These are set by the new `trusted' and `console' keywords in `/etc/ttys'.
|
|
|
|
|
|
|
|
|
|
* New functions `ttyslot' and `syslog' from 4.4 BSD.
|
|
|
|
|
|
|
|
|
|
Version 1.04
|
|
|
|
|
|
|
|
|
|
* The configuration process has changed quite a bit. The `configure'
|
|
|
|
|
script is now used just like the configuration scripts for other GNU
|
|
|
|
|
packages. The `sysdeps' directory hierarchy is much rearranged.
|
|
|
|
|
The file `INSTALL' explains the new scheme in detail.
|
|
|
|
|
|
|
|
|
|
* The header files no longer need to be processed into ANSI C and
|
|
|
|
|
traditional C versions. There is just one set of files to install, and
|
|
|
|
|
it will work with ANSI or old C compilers (including `gcc -traditional').
|
|
|
|
|
|
|
|
|
|
* Brendan Kehoe and Ian Lance Taylor have ported the library to the
|
|
|
|
|
MIPS DECStation running Ultrix 4.
|
|
|
|
|
|
|
|
|
|
* The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries.
|
|
|
|
|
Tom Quinn contributed the initial code. The GNU C library can NOT yet be
|
|
|
|
|
made itself into a shared library.
|
|
|
|
|
|
|
|
|
|
* Yet further improved support for the i386, running 4.3 BSD-like systems
|
|
|
|
|
(such as Mach 3 with the Unix single-server), or System V.
|
|
|
|
|
|
|
|
|
|
* New function `strncasecmp' to do case-insensitive string comparison
|
|
|
|
|
with limited length.
|
|
|
|
|
|
|
|
|
|
* New function `strsep' is a reentrant alternative to `strtok'.
|
|
|
|
|
|
|
|
|
|
* New functions `scandir' and `alphasort' for searching directories.
|
|
|
|
|
|
|
|
|
|
* New function `setenv' is a better interface to `putenv'.
|
|
|
|
|
|
|
|
|
|
* Ian Lance Taylor has contributed an implementation of the SVID `ftw'
|
|
|
|
|
function for traversing a directory tree.
|
|
|
|
|
|
|
|
|
|
* The GNU obstack package is now also part of the C library.
|
|
|
|
|
The new function `open_obstack_stream' creates a stdio stream that
|
|
|
|
|
writes onto an obstack; `obstack_printf' and `obstack_vprintf' do
|
|
|
|
|
formatted output directly to an obstack.
|
|
|
|
|
|
|
|
|
|
* Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only),
|
|
|
|
|
cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid.
|
|
|
|
|
|
|
|
|
|
* `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'.
|
|
|
|
|
|
|
|
|
|
* The new functions `strfry' and `memfrob' do mysterious and wonderful
|
|
|
|
|
things to your strings.
|
|
|
|
|
|
|
|
|
|
* There are some new test programs: test-fseek, testmb, and testrand.
|
|
|
|
|
|
|
|
|
|
* Some work has been done to begin porting the library to 4.4 BSD and Linux.
|
|
|
|
|
These ports are not finished, but are a good starting place for really
|
|
|
|
|
supporting those systems.
|
|
|
|
|
|
|
|
|
|
* `/etc/localtime' is now the standard location for the file that says what
|
|
|
|
|
the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'.
|
|
|
|
|
This follows the general principle that `/etc' is the place for all local
|
|
|
|
|
configuration files.
|
|
|
|
|
|
|
|
|
|
* The C library header files now use `extern "C"' when used by the C++
|
|
|
|
|
compiler, so the C library should now work with C++ code.
|
|
|
|
|
|
|
|
|
|
* The header file <bstring.h> is gone. <string.h> now declares bcopy,
|
1996-01-02 16:57:42 +08:00
|
|
|
|
bcmp, bzero, and ffs.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
significantly faster than the old GNU `qsort' function. Merge sort is
|
|
|
|
|
now the standard `qsort' function. The new algorithm can require a lot
|
|
|
|
|
of temporary storage; so, the old sorting function is called when the
|
|
|
|
|
required storage is not available.
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
Copyright information:
|
|
|
|
|
|
1996-01-02 16:57:42 +08:00
|
|
|
|
Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
|
|
Permission is granted to anyone to make or distribute verbatim copies
|
|
|
|
|
of this document as received, in any medium, provided that the
|
|
|
|
|
copyright notice and this permission notice are preserved,
|
|
|
|
|
thus giving the recipient permission to redistribute in turn.
|
|
|
|
|
|
|
|
|
|
Permission is granted to distribute modified versions
|
|
|
|
|
of this document, or of portions of it,
|
|
|
|
|
under the above conditions, provided also that they
|
|
|
|
|
carry prominent notices stating who last changed them.
|
|
|
|
|
|
|
|
|
|
Local variables:
|
|
|
|
|
version-control: never
|
|
|
|
|
end:
|