-GNU C Library NEWS -- history of user-visible changes. 2001-10-31
-Copyright (C) 1992-2000, 2001 Free Software Foundation, Inc.
+GNU C Library NEWS -- history of user-visible changes. 2009-4-3
+Copyright (C) 1992-2008, 2009 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>.
+Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
+using `glibc' in the "product" field.
+\f
+Version 2.10
+
+* New interfaces: preadv, preadv64, pwritev, pwritev64
+ Implemented by Ulrich Drepper.
+
+* New Linux interfaces: accept4, fallocate, fallocate64.
+ Implemented by Ulrich Drepper.
+
+* Correct declarations of string function when used in C++ code. This
+ could lead to compile error for invalid C++ code.
+
+* XPG7/POSIX 2008 compilation environment. Many GNU-specific functions are
+ now in POSIX.
+
+* New POSIX 2008 interface: psiginfo
+ Implemented by Ulrich Drepper.
+
+* New ISO C++1x interfaces: quick_exit, at_quick_exit
+ Implemented by Ulrich Drepper.
+
+* Support for selecting between multiple function definitions at runtime
+ using STT_GNU_IFUNC symbols. Implemented by Ulrich Drepper.
+
+* The libcrypt library can now use the hash function implementations in
+ NSS. Implemented by Ulrich Drepper.
+
+* The malloc implementation can be compiled to be less memory efficient
+ but higher performing in multi-threaded programs.
+ Implemented by Ulrich Drepper.
+
+* New locale: nan_TW@latin
+
+\f
+Version 2.9
+
+* Unified lookup for getaddrinfo: IPv4 and IPv6 addresses are now looked
+ up at the same time. Implemented by Ulrich Drepper.
+
+* TLS descriptors for LD and GD on x86 and x86-64.
+ Implemented by Alexandre Oliva.
+
+* getaddrinfo now handles DCCP and UDPlite.
+ Implemented by Ulrich Drepper.
+
+* New fixed-size conversion macros: htobe16, htole16, be16toh, le16toh,
+ htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh.
+ Implemented by Ulrich Drepper.
+
+* New implementation of memmem, strstr, and strcasestr which is O(n).
+ Implemented by Eric Blake.
+
+* New Linux interfaces: inotify_init1, dup3, epoll_create1, pipe2
+
+* Implement "e" option for popen to open file descriptor with the
+ close-on-exec flag set. Implemented by Ulrich Drepper.
+
+* Implement "b" mode for fmemopen. In this mode writes writes don't
+ implicitly add a NUL byte and seeks from the end of the buffer really
+ use the buffer end, not the string length as the basis.
+ Implemented by Ulrich Drepper.
+
+* Many functions, exported and internal, now atomically set the close-on-exec
+ flag when run on a sufficiently new kernel. Implemented by Ulrich Drepper.
+
+* Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu,
+ Sinhala)
+ Implemented by Pravin Satpute.
+
+* New locales: sd_IN, sd_IN@devanagari, ks_IN@devanagari, ht_HT, en_AG, nl_AW.
+\f
+Version 2.8
+
+* New locales: bo_CN, bo_IN, shs_CA.
+
+* New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8.
+
+* Sorting rules for some Indian languages (Devanagari and Gujarati).
+ Implemented by Pravin Satpute.
+
+* IPV6 addresses in /etc/resolv.conf can now have a scope ID
+
+* nscd caches now all timeouts for DNS entries
+ Implemented by Ulrich Drepper.
+
+* nscd is more efficient and wakes up less often.
+ Implemented by Ulrich Drepper.
+
+* More checking functions: asprintf, dprintf, obstack_printf, vasprintf,
+ vdprintf, and obstack_vprintf.
+ Implemented by Jakub Jelinek.
+
+* Faster memset for x86-64.
+ Implemented by Harsha Jagasia and H.J. Lu.
+
+* Faster memcpy on x86.
+ Implemented by Ulrich Drepper.
+
+* ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX).
+ Implemented by Ulrich Drepper.
+
+* Faster sqrt and sqrtf implemention for some PPC variants.
+ Implemented by Stephen Munroe.
+\f
+Version 2.7
+
+* More checking functions: fread, fread_unlocked, open*, mq_open.
+ Implemented by Jakub Jelinek and Ulrich Drepper.
+
+* Extend fortification to C++. Implemented by Jakub Jelinek.
+
+* Implement 'm' modifier for scanf. Add stricter C99/SUS compliance
+ by not recognizing 'a' as a modifier when those specs are requested.
+ Implemented by Jakub Jelinek.
+
+* PPC optimizations to math and string functions.
+ Implemented by Steven Munroe.
+
+* New interfaces: mkostemp, mkostemp64. Like mkstemp* but allow additional
+ options to be passed. Implemented by Ulrich Drepper.
+
+* More CPU set manipulation functions. Implemented by Ulrich Drepper.
+
+* New Linux interfaces: signalfd, eventfd, eventfd_read, and eventfd_write.
+ Implemented by Ulrich Drepper.
+
+* Handle private futexes in the NPTL implementation.
+ Implemented by Jakub Jelinek and Ulrich Drepper.
+
+* Add support for O_CLOEXEC. Implement in Hurd. Use throughout libc.
+ Implemented by Roland McGrath and Ulrich Drepper.
+
+* Linux/x86-64 vDSO support. Implemented by Ulrich Drepper.
+
+* SHA-256 and SHA-512 based password encryption.
+ Implemented by Ulrich Drepper.
+
+* New locales: ber_DZ, ber_MA, en_NG, fil_PH, fur_IT, fy_DE, ha_NG, ig_NG,
+ ik_CA, iu_CA, li_BE, li_NL, nds_DE, nds_NL, pap_AN, sc_IT, tk_TM, ug_CN,
+ yo_NG.
+
++ New iconv modules: MAC-CENTRALEUROPE, ISO-8859-9E, KOI8-RU.
+ Implemented by Ulrich Drepper.
+\f
+Version 2.6
+
+* New Linux interfaces: epoll_pwait, sched_getcpu.
+
+* New generic interfaces: strerror_l.
+
+* nscd can now cache the services database. Implemented by Ulrich Drepper.
+
+\f
+Version 2.5
+
+* For Linux, the sorting of addresses returned by getaddrinfo now also
+ handles rules 3, 4, and 7 from RFC 3484. I.e., all rules are handled.
+ Implemented by Ulrich Drepper.
+
+* Allow system admin to configure getaddrinfo with the /etc/gai.conf file.
+ Implemented by Ulrich Drepper.
+
+* New Linux interfaces: splice, tee, sync_file_range, vmsplice.
+
+* New iconv module for MIK. Contributed by Alexander Shopov.
+
+* For sites with broken group and/or passwd database, the auto-propagate
+ option of nscd can prevent creating ID lookup entries from the results
+ of a name lookup and vice versa. This usually is no problem but some
+ site might have problems with the default behavior.
+ Implemented by Ulrich Drepper.
+
+* Iterating over entire database in NIS can be slow. With the
+ SETENT_BATCH_READ option in /etc/default/nss a system admin can decide
+ to trade time for memory. The entire database will be read at once.
+ Implemented by Ulrich Drepper.
+
+* The interfaces introduced in RFC 3542 have been implemented by
+ Ulrich Drepper.
+
+* Support for the new ELF hash table format was added by Ulrich Drepper.
+
+* Support for priority inheritance mutexes added by Jakub Jelinek and
+ Ulrich Drepper.
+
+* Support for priority protected mutexes added by Jakub Jelinek.
+
+* New locales: nr_ZA, pa_PK, ca_AD, ca_FR, ca_IT, el_CY, tr_CY, as_IN,
+ or_IN, csb_PL, fy_NL, sr_ME.
+\f
+Version 2.4
+
+* More overflow detection functions.
+
+* New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153,
+ IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba.
+
+ More converters for IBM803, IBM901, IBM902, IBM921, IBM1008, IBM1097,
+ IBM1112, IBM1123, IBM1130, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144,
+ IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1166, IBM1167, IBM4517,
+ IBM4899, IBM4909, IBM4971, IBM5347, IBM9030, IBM9066, IBM9448, IBM12712,
+ IBM16804, IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399 contributed
+ by Masahide Washizawa.
+
+* It is now possible to install audit libraries for the dynamic linker using
+ LD_AUDIT. Implemented by Ulrich Drepper.
+
+* The LinuxThreads add-on, providing pthreads on Linux 2.4 kernels, is no
+ longer supported. The new NPTL implementation requires Linux 2.6 kernels.
+ For a libc and libpthread that works well on Linux 2.4 kernels, we
+ recommend using the stable 2.3 branch.
+
+* The new function open_wmemstream acts like open_memstream,
+ but uses a wchar_t wide character buffer.
+
+* The new function ppoll is an improved version of poll, similar to pselect.
+
+* New interfaces: fdopendir, openat, fstatat, fchmodat, fchownat,
+ futimesat, faccessat, mkdirat, mkfifoat, mknodat,
+ renameat, unlinkat, linkat, symlinkat, readlinkat.
+
+* New Linux kernel system calls: unshare,
+ inotify_init, inotify_add_watch, inotify_rm_watch.
+
+* The euidaccess function is now also known by the alias eaccess,
+ for compatibility with some other systems.
+
+* Timezone data updated to 2006b version.
+\f
+Version 2.3.6
+
+* The following bugs are resolved with this release:
+
+ 38, 253, 549, 622, 653, 721, 758, 851, 877, 915, 934, 955, 961,
+ 1016, 1037, 1076, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
+ 1087, 1088, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
+ 1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252,
+ 1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534
+
+ Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
+
+* As of this release, GCC 4 can be used to compile the C Library.
+
+* Timezone data updated to 2005m version.
+\f
+Version 2.3.5
+
+* The following bugs are resolved with this release:
+
+ 284, 592, 602, 626, 633, 640, 650, 661, 671, 681, 693, 700, 710, 719,
+ 722, 723, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776,
+ 777, 787, 821, 822, 823, 825
+
+ Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
+\f
+Version 2.3.4
+
+* Support for RFC 3678. Real implementations exist only for Linux so far.
+ Implemented by Ulrich Drepper.
+
+* nscd can now cache entries persistently. Expiring entries are reloaded.
+ For speedups the cache can be shared in memory with client processes.
+ Implemented by Ulrich Drepper.
+
+* nscd can now perform SELinux checks.
+ Implemented by Matthew Rickard <mjricka@epoch.ncsc.mil>.
+
+* getaddrinfo queries are now cached. Canonical name lookup is performed
+ efficiently.
+ Implemented by Ulrich Drepper.
+
+* The nothrow function attribute is used when headers are used by gcc when
+ compiling C code. This can avoid significant amounts of exception
+ handling data.
+
+* The malloc functions perform more error checking and are stricter when
+ it comes to reacting on errors. The default action is to terminate
+ the process after showing an error message. Implemented by Ulrich Drepper.
+
+* Reverse lookups of IPv6 addresses does not use bit string or .ip6.int
+ lookups anymore unless explicitly requested. Implemented by Ulrich Drepper.
+
+* Namespaces in ld.so are implemented. DSOs can be loaded in separate
+ namespaces using the new function dlmopen(). This feature is of course,
+ like most other dynamic loading functionality, not available in statically
+ linked applications. Implemented by Ulrich Drepper.
+
+* Low-overhead boundary checking variants of string and some stdio functions
+ were added. These are to be used in conjunction with a gcc patch by
+ Jakub Jelinek which adds calls to these functions if possible.
+ Implemented by Jakub Jelinek and Ulrich Drepper.
+
+* Old code for several operating systems and machine architectures that
+ have not been in working condition in a long time have been removed from
+ the main source tree maintained by the GNU C Library's maintainers.
+ These files are now reside in the separate `ports' source module
+ that is usable as an add-on when building the library.
+\f
+Version 2.3.3
+
+* New functions `dladdr1' and `dlinfo' in <dlfcn.h> provide more ways to
+ interrogate the dynamic linker, compatible with the Solaris interface.
+
+* ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64;
+ implemented by Paul Mackerras, Steven Munroe, and Roland McGrath.
+
+* getifaddrs now uses the netlink interface on Linux to get its information.
+ Implemented by Thorsten Kukuk.
+
+* getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF.
+ Implemented by Ulrich Drepper.
+
+* support for non-executable stacks on x86 has been added. Changes mostly
+ by Roland McGrath.
+
+* regex is now much faster for multibyte locales. Changes by Jakub Jelinek
+ and Ulrich Drepper.
+
+* getaddrinfo now performs destination address selection according to
+ RFC 3484.
+\f
+Version 2.3.2
+
+* Thread-safe interfaces for many functions that access locale data
+ were added in version 2.3, but these features were omitted from NEWS.
+ Many functions have variants with an `_l' suffix that take a `locale_t'
+ object as a parameter rather than consulting the current locale.
+ The new functions `newlocale', `duplocale', and `freelocale' in <locale.h>
+ create and maintain `locale_t' objects. Additionally, the new function
+ `uselocale' sets "the current locale" (as used by functions not so
+ parameterized) set for an individual thread. These features were added
+ in version 2.3, implemented by Ulrich Drepper and Roland McGrath.
+
+* The functions getresuid, getresgid, setresuid, and setresgid, which
+ have long been available on Linux, are now declared in <unistd.h>
+ and are now also available on the Hurd.
+
+* ELF thread-local storage support (TLS) now works on x86-64.
+
+* The new dynamic string token $LIB is expanded in shared library names.
+ This normally expands to lib, but on some 64-bit platforms to lib64 instead.
+
+* Aldy Hernandez contributed complete software floating point support for
+ PowerPC machines with no FPU.
+
+* fexecve is implemented on Linux.
+
+* The `btowc' function should work at least twice as fast due to
+ specialized callbacks in the iconv modules. Implemented by Bruno Haible.
+
+* With approriate thread add-ons cancelable functions are now implemented
+ in libc.so as well. No need to call the function in libpthread. This
+ change allowed to finally disable the incorrect and expensive handling
+ of weak definition in ld.so.
+
+* Yet more PLT entries in libc.so have been removed. We finally arrived
+ at the bare minimum. Startup times improved appropriately.
+
+* Support for the new Linux/x86 system call interface was added. The
+ AT_SYSINFO auxiliary vector entry is recognized and handled.
+\f
+Version 2.3
+
+* Masahide Washizawa contributed iconv modules for IBM1163 and IBM1164
+ charsets.
+
+* iconv (the program and the interface) now accepts empty names (excluding
+ options like //TRANSLIT) to mean "use charset of current locale".
+
+* localedef can now transliterate characters in strings which are not in
+ the provided charmap. The information from the input locale is used.
+
+* Prelinking support was added for ELF targets. This requires additional
+ tools and recent versions of the GNU binutils. Contributed by Jakub Jelinek.
+
+* Read-only stdio streams now use mmap to speed up operation by eliminating
+ copying and buffer underflows. To use add 'm' to the mode string of
+ the fopen/fdopen/freopen call. Implemented by Ulrich Drepper.
+
+* The malloc functions were completely rewritten by Wolfram Gloger based
+ on Doug Lea's malloc-2.7.0.c.
+
+* Isamu Hasegawa contributed a completely new and POSIX-conformant
+ implementation of regex.
+
+* Bruno Haible upgraded the iconv and locale implementation to support
+ Unicode 3.2.
+
+* Contents of the LC_* and LANG environment variables in the CEN style are
+ not recognized anymore. It never was used. Change by Ulrich Drepper.
+
+* The runtime (ld.so, libc, libpthread for Linux) now can handle the ELF
+ thread-local storage (TLS) ABI on some platforms.
+ Changes by Ulrich Drepper. SH support by Kaz Kojima.
+
+* Bruno Haible contributed iconv converters for ISO-2022-JP-3, SHIFT JIS-X0213,
+ EUC-JISX0213, and TSCII.
+
+* New header <ifaddrs.h> with functions `getifaddrs' and `freeifaddrs':
+ BSD-compatible interface for getting all network interface addresses.
+ Implementation for IPv4 by Roland McGrath.
+
+* Loading of locale data is faster due to the introduction of a locale
+ archive. Implemented by Roland McGrath and Ulrich Drepper.
+
+* Startup times are significantly reduced by not using exported functions
+ inside the library itself. Changes by Jakub Jelinek, Roland McGrath,
+ and Ulrich Drepper.
+
+* Steven Munroe contributed a port to PowerPC64/Linux.
+\f
+Version 2.2.6
+
+* The Hurd now uses the GNU libio implementation of stdio rather than the
+ old GNU stdio implementation, and uses a new ABI (libc.so.0.3).
+
+* The Hurd on x86 now has the `ioperm' function and <sys/io.h> header file
+ with the same behavior as the Linux system call of the same name.
\f
Version 2.2.5
-* Stephen Moshier implemented powl and cbrtl for the 128-bit
- long double format.
+* Stephen Moshier implemented log2, log10, powl and cbrtl for the
+ 128-bit long double format.
* Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160,
IBM1161, and IBM1162 charsets.
-* Andreas Jaeger contributed a port to x86_64/Linux.
+* Andreas Jaeger contributed a port to x86-64/Linux.
* Peter Bruin contributed a port to PowerPC/Hurd.
* libc functions using I/O streams now can handle wide-oriented streams
as well.
-* optimizations in the dynamic linker. binaries created by recent binutils
- versions start up quicker due to reduced time spend on relocations.
+* optimizations in the dynamic linker. Binaries created by recent binutils
+ versions start up quicker due to reduced time spent on relocations.
+
+* Support for use of gcc3 added by Jakub Jelinek and HJ Lu.
\f
Version 2.2.4
----------------------------------------------------------------------
Copyright information:
-Copyright (C) 1992-1999, 2000 Free Software Foundation, Inc.
+Copyright (C) 1992-1999,2000,2001,2002,2003,2004,2005,2006
+ 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