(linenum→info "unix/slp.c:2238")

glibc/2.7/NEWS

    1: GNU C Library NEWS -- history of user-visible changes.  2007-10-5
    2: Copyright (C) 1992-2006, 2007 Free Software Foundation, Inc.
    3: See the end for copying conditions.
    4: 
    5: Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
    6: using `glibc' in the "product" field.
    7: ^L
    8: Version 2.7
    9: 
   10: * More checking functions: fread, fread_unlocked, open*, mq_open.
   11:   Implemented by Jakub Jelinek and Ulrich Drepper.
   12: 
   13: * Extend fortification to C++.  Implemented by Jakub Jelinek.
   14: 
   15: * Implement 'm' modifier for scanf.  Add stricter C99/SUS compliance
   16:   by not recognizing 'a' as a modifier when those specs are requested.
   17:   Implemented by Jakub Jelinek.
   18: 
   19: * PPC optimizations to math and string functions.
   20:   Implemented by Steven Munroe.
   21: 
   22: * New interfaces: mkostemp, mkostemp64.  Like mkstemp* but allow additonal
   23:   options to be passed.  Implemented by Ulrich Drepper.
   24: 
   25: * More CPU set manipulation functions.  Implemented by Ulrich Drepper.
   26: 
   27: * New Linux interfaces: signalfd, eventfd, eventfd_read, and eventfd_write.
   28:   Implemented by Ulrich Drepper.
   29: 
   30: * Handle private futexes in the NPTL implementation.
   31:   Implemented by Jakub Jelinek and Ulrich Drepper.
   32: 
   33: * Add support for O_CLOEXEC.  Implement in Hurd.  Use throughout libc.
   34:   Implemented by Roland McGrath and Ulrich Drepper.
   35: 
   36: * Linux/x86-64 vDSO support.  Implemented by Ulrich Drepper.
   37: 
   38: * SHA-256 and SHA-512 based password encryption.
   39:   Implemented by Ulrich Drepper.
   40: 
   41: * New locales: ber_DZ, ber_MA, en_NG, fil_PH, fur_IT, fy_DE, ha_NG, ig_NG,
   42:   ik_CA, iu_CA, li_BE, li_NL, nds_DE, nds_NL, pap_AN, sc_IT, tk_TM, ug_CN,
   43:   yo_NG.
   44: 
   45: + New iconv modules: MAC-CENTRALEUROPE, ISO-8859-9E, KOI8-RU.
   46:   Implemented by Ulrich Drepper.
   47: ^L
   48: Version 2.6
   49: 
   50: * New Linux interfaces: epoll_pwait, sched_getcpu.
   51: 
   52: * New generic interfaces: strerror_l.
   53: 
   54: * nscd can now cache the services database.   Implemented by Ulrich Drepper.
   55: 
   56: ^L
   57: Version 2.5
   58: 
   59: * For Linux, the sorting of addresses returned by getaddrinfo now also
   60:   handles rules 3, 4, and 7 from RFC 3484.  I.e., all rules are handled.
   61:   Implemented by Ulrich Drepper.
   62: 
   63: * Allow system admin to configure getaddrinfo with the /etc/gai.conf file.
   64:   Implemented by Ulrich Drepper.
   65: 
   66: * New Linux interfaces: splice, tee, sync_file_range, vmsplice.
   67: 
   68: * New iconv module for MIK.  Contributed by Alexander Shopov.
   69: 
   70: * For sites with broken group and/or passwd database, the auto-propagate
   71:   option of nscd can prevent creating ID lookup entries from the results
   72:   of a name lookup and vice versa.   This usually is no problem but some
   73:   site might have problems with the default behavior.
   74:   Implemented by Ulrich Drepper.
   75: 
   76: * Iterating over entire database in NIS can be slow.  With the
   77:   SETENT_BATCH_READ option in /etc/default/nss a system admin can decide
   78:   to trade time for memory.  The entire database will be read at once.
   79:   Implemented by Ulrich Drepper.
   80: 
   81: * The interfaces introduced in RFC 3542 have been implemented by
   82:   Ulrich Drepper.
   83: 
   84: * Support for the new ELF hash table format was added by Ulrich Drepper.
   85: 
   86: * Support for priority inheritance mutexes added by Jakub Jelinek and
   87:   Ulrich Drepper.
   88: 
   89: * Support for priority protected mutexes added by Jakub Jelinek.
   90: 
   91: * New locales: nr_ZA, pa_PK, ca_AD, ca_FR, ca_IT, el_CY, tr_CY, as_IN,
   92:   or_IN, csb_PL, fy_NL, sr_ME.
   93: ^L
   94: Version 2.4
   95: 
   96: * More overflow detection functions.
   97: 
   98: * New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153,
   99:   IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba.
  100: 
  101:   More converters for IBM803, IBM901, IBM902, IBM921, IBM1008, IBM1097,
  102:   IBM1112, IBM1123, IBM1130, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144,
  103:   IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1166, IBM1167, IBM4517,
  104:   IBM4899, IBM4909, IBM4971, IBM5347, IBM9030, IBM9066, IBM9448, IBM12712,
  105:   IBM16804, IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399 contributed
  106:   by Masahide Washizawa.
  107: 
  108: * It is now possible to install audit libraries for the dynamic linker using
  109:   LD_AUDIT.  Implemented by Ulrich Drepper.
  110: 
  111: * The LinuxThreads add-on, providing pthreads on Linux 2.4 kernels, is no
  112:   longer supported.  The new NPTL implementation requires Linux 2.6 kernels.
  113:   For a libc and libpthread that works well on Linux 2.4 kernels, we
  114:   recommend using the stable 2.3 branch.
  115: 
  116: * The new function open_wmemstream acts like open_memstream,
  117:   but uses a wchar_t wide character buffer.
  118: 
  119: * The new function ppoll is an improved version of poll, similar to pselect.
  120: 
  121: * New interfaces: fdopendir, openat, fstatat, fchmodat, fchownat,
  122:   futimesat, faccessat, mkdirat, mkfifoat, mknodat,
  123:   renameat, unlinkat, linkat, symlinkat, readlinkat.
  124: 
  125: * New Linux kernel system calls: unshare,
  126:   inotify_init, inotify_add_watch, inotify_rm_watch.
  127: 
  128: * The euidaccess function is now also known by the alias eaccess,
  129:   for compatibility with some other systems.
  130: 
  131: * Timezone data updated to 2006b version.
  132: ^L
  133: Version 2.3.6
  134: 
  135: * The following bugs are resolved with this release:
  136: 
  137:   38, 253, 549, 622, 653, 721, 758, 851, 877, 915, 934, 955, 961,
  138:   1016, 1037, 1076, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
  139:   1087, 1088, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
  140:   1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
  141:   1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252,
  142:   1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534
  143: 
  144:   Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
  145: 
  146: * As of this release, GCC 4 can be used to compile the C Library.
  147: 
  148: * Timezone data updated to 2005m version.
  149: ^L
  150: Version 2.3.5
  151: 
  152: * The following bugs are resolved with this release:
  153: 
  154:   284, 592, 602, 626, 633, 640, 650, 661, 671, 681, 693, 700, 710, 719,
  155:   722, 723, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
  156:   737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776,
  157:   777, 787, 821, 822, 823, 825
  158: 
  159:   Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
  160: ^L
  161: Version 2.3.4
  162: 
  163: * Support for RFC 3678.  Real implementations exist only for Linux so far.
  164:   Implemented by Ulrich Drepper.
  165: 
  166: * nscd can now cache entries persistently.  Expiring entries are reloaded.
  167:   For speedups the cache can be shared in memory with client processes.
  168:   Implemented by Ulrich Drepper.
  169: 
  170: * nscd can now perform SELinux checks.
  171:   Implemented by Matthew Rickard <mjricka@epoch.ncsc.mil>.
  172: 
  173: * getaddrinfo queries are now cached.  Canonical name lookup is performed
  174:   efficiently.
  175:   Implemented by Ulrich Drepper.
  176: 
  177: * The nothrow function attribute is used when headers are used by gcc when
  178:   compiling C code.  This can avoid significant amounts of exception
  179:   handling data.
  180: 
  181: * The malloc functions perform more error checking and are stricter when
  182:   it comes to reacting on errors.  The default action is to terminate
  183:   the process after showing an error message.  Implemented by Ulrich Drepper.
  184: 
  185: * Reverse lookups of IPv6 addresses does not use bit string or .ip6.int
  186:   lookups anymore unless explicitly requested.  Implemented by Ulrich Drepper.
  187: 
  188: * Namespaces in ld.so are implemented.  DSOs can be loaded in separate
  189:   namespaces using the new function dlmopen().  This feature is of course,
  190:   like most other dynamic loading functionality, not available in statically
  191:   linked applications.  Implemented by Ulrich Drepper.
  192: 
  193: * Low-overhead boundary checking variants of string and some stdio functions
  194:   were added.  These are to be used in conjunction with a gcc patch by
  195:   Jakub Jelinek which adds calls to these functions if possible.
  196:   Implemented by Jakub Jelinek and Ulrich Drepper.
  197: 
  198: * Old code for several operating systems and machine architectures that
  199:   have not been in working condition in a long time have been removed from
  200:   the main source tree maintained by the GNU C Library's maintainers.
  201:   These files are now reside in the separate `ports' source module
  202:   that is usable as an add-on when building the library.
  203: ^L
  204: Version 2.3.3
  205: 
  206: * New functions `dladdr1' and `dlinfo' in <dlfcn.h> provide more ways to
  207:   interrogate the dynamic linker, compatible with the Solaris interface.
  208: 
  209: * ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64;
  210:   implemented by Paul Mackerras, Steven Munroe, and Roland McGrath.
  211: 
  212: * getifaddrs now uses the netlink interface on Linux to get its information.
  213:   Implemented by Thorsten Kukuk.
  214: 
  215: * getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF.
  216:   Implemented by Ulrich Drepper.
  217: 
  218: * support for non-executable stacks on x86 has been added.  Changes mostly
  219:   by Roland McGrath.
  220: 
  221: * regex is now much faster for multibyte locales.  Changes by Jakub Jelinek
  222:   and Ulrich Drepper.
  223: 
  224: * getaddrinfo now performs destination address selection according to
  225:   RFC 3484.
  226: ^L
  227: Version 2.3.2
  228: 
  229: * Thread-safe interfaces for many functions that access locale data
  230:   were added in version 2.3, but these features were omitted from NEWS.
  231:   Many functions have variants with an `_l' suffix that take a `locale_t'
  232:   object as a parameter rather than consulting the current locale.
  233:   The new functions `newlocale', `duplocale', and `freelocale' in <locale.h>
  234:   create and maintain `locale_t' objects.  Additionally, the new function
  235:   `uselocale' sets "the current locale" (as used by functions not so
  236:   parameterized) set for an individual thread.  These features were added
  237:   in version 2.3, implemented by Ulrich Drepper and Roland McGrath.
  238: 
  239: * The functions getresuid, getresgid, setresuid, and setresgid, which
  240:   have long been available on Linux, are now declared in <unistd.h>
  241:   and are now also available on the Hurd.
  242: 
  243: * ELF thread-local storage support (TLS) now works on x86-64.
  244: 
  245: * The new dynamic string token $LIB is expanded in shared library names.
  246:   This normally expands to lib, but on some 64-bit platforms to lib64 instead.
  247: 
  248: * Aldy Hernandez contributed complete software floating point support for
  249:   PowerPC machines with no FPU.
  250: 
  251: * fexecve is implemented on Linux.
  252: 
  253: * The `btowc' function should work at least twice as fast due to
  254:   specialized callbacks in the iconv modules.  Implemented by Bruno Haible.
  255: 
  256: * With approriate thread add-ons cancelable functions are now implemented
  257:   in libc.so as well.  No need to call the function in libpthread.  This
  258:   change allowed to finally disable the incorrect and expensive handling
  259:   of weak definition in ld.so.
  260: 
  261: * Yet more PLT entries in libc.so have been removed.  We finally arrived
  262:   at the bare minimum.  Startup times improved appropriately.
  263: 
  264: * Support for the new Linux/x86 system call interface was added.  The
  265:   AT_SYSINFO auxiliary vector entry is recognized and handled.
  266: ^L
  267: Version 2.3
  268: 
  269: * Masahide Washizawa contributed iconv modules for IBM1163 and IBM1164
  270:   charsets.
  271: 
  272: * iconv (the program and the interface) now accepts empty names (excluding
  273:   options like //TRANSLIT) to mean "use charset of current locale".
  274: 
  275: * localedef can now transliterate characters in strings which are not in
  276:   the provided charmap.  The information from the input locale is used.
  277: 
  278: * Prelinking support was added for ELF targets.  This requires additional
  279:   tools and recent versions of the GNU binutils.  Contributed by Jakub Jelinek.
  280: 
  281: * Read-only stdio streams now use mmap to speed up operation by eliminating
  282:   copying and buffer underflows.  To use add 'm' to the mode string of
  283:   the fopen/fdopen/freopen call.  Implemented by Ulrich Drepper.
  284: 
  285: * The malloc functions were completely rewritten by Wolfram Gloger based
  286:   on Doug Lea's malloc-2.7.0.c.
  287: 
  288: * Isamu Hasegawa contributed a completely new and POSIX-conformant
  289:   implementation of regex.
  290: 
  291: * Bruno Haible upgraded the iconv and locale implementation to support
  292:   Unicode 3.2.
  293: 
  294: * Contents of the LC_* and LANG environment variables in the CEN style are
  295:   not recognized anymore.   It never was used.  Change by Ulrich Drepper.
  296: 
  297: * The runtime (ld.so, libc, libpthread for Linux) now can handle the ELF
  298:   thread-local storage (TLS) ABI on some platforms.
  299:   Changes by Ulrich Drepper.  SH support by Kaz Kojima.
  300: 
  301: * Bruno Haible contributed iconv converters for ISO-2022-JP-3, SHIFT JIS-X0213,
  302:   EUC-JISX0213, and TSCII.
  303: 
  304: * New header <ifaddrs.h> with functions `getifaddrs' and `freeifaddrs':
  305:   BSD-compatible interface for getting all network interface addresses.
  306:   Implementation for IPv4 by Roland McGrath.
  307: 
  308: * Loading of locale data is faster due to the introduction of a locale
  309:   archive.  Implemented by Roland McGrath and Ulrich Drepper.
  310: 
  311: * Startup times are significantly reduced by not using exported functions
  312:   inside the library itself.  Changes by Jakub Jelinek, Roland McGrath,
  313:   and Ulrich Drepper.
  314: 
  315: * Steven Munroe contributed a port to PowerPC64/Linux.
  316: ^L
  317: Version 2.2.6
  318: 
  319: * The Hurd now uses the GNU libio implementation of stdio rather than the
  320:   old GNU stdio implementation, and uses a new ABI (libc.so.0.3).
  321: 
  322: * The Hurd on x86 now has the `ioperm' function and <sys/io.h> header file
  323:   with the same behavior as the Linux system call of the same name.
  324: ^L
  325: Version 2.2.5
  326: 
  327: * Stephen Moshier implemented log2, log10, powl and cbrtl for the
  328:   128-bit long double format.
  329: 
  330: * Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160,
  331:   IBM1161, and IBM1162 charsets.
  332: 
  333: * Andreas Jaeger contributed a port to x86-64/Linux.
  334: 
  335: * Peter Bruin contributed a port to PowerPC/Hurd.
  336: 
  337: * libc functions using I/O streams now can handle wide-oriented streams
  338:   as well.
  339: 
  340: * optimizations in the dynamic linker.  Binaries created by recent binutils
  341:   versions start up quicker due to reduced time spent on relocations.
  342: 
  343: * Support for use of gcc3 added by Jakub Jelinek and HJ Lu.
  344: ^L
  345: Version 2.2.4
  346: 
  347: * Stephen Moshier implemented cosh, expm1, log1p, acos, sinh, tanh,
  348:   asinh, atanh, j0 for the 128-bit long double format.
  349: 
  350: * Bruno Haible updated all the code handling Unicode in some form to
  351:   support Unicode 3.1.
  352: 
  353: * Speed of regex for single-byte locales is back to previous levels.
  354:   Patch by Isamu Hasegawa.
  355: 
  356: * Alpha, SPARC, and IA-64 now also using floating stacks.
  357: 
  358: * Startup time of internationalized applications greatly improved through
  359:   iconv cache.  Use iconvconfig to generate the cache file.
  360:   Contributed by Ulrich Drepper.
  361: 
  362: * The IA-64 specific part of ld.so was rewritten to eliminate some pretty
  363:   severe performance problems.  Patch by David Mosberger.
  364: 
  365: * The Hurd port got a lot more functionality like AIO, various stdio
  366:   extensions, etc.  Mainly done by Roland McGrath.
  367: 
  368: * mtrace can now lookup symbols in shared libraries.
  369: ^L
  370: Version 2.2.3
  371: 
  372: * Intel's IA-64 math library is largely integrated.  It provides fast and
  373:   accurate implementatations for most basic and standard math functions
  374:   in float, double, and long double format.
  375: 
  376: * Stephen Moshier implemented j0, j1, jn, y0, y1, yn, lgamma, erf, erfc,
  377:   and asin for the 96-bit long double format and asin, log, tan for the
  378:   128-bit long double format.
  379: 
  380: * The beginning of a last-bit accurate math library by IBM Haifa were added.
  381:   The basic double functions exist today.  Contributed by Abraham Ziv
  382:   <ziv@il.ibm.com>, Moshe Olshansky <olshansk@il.ibm.com>, Ealan Henis
  383:   <ealan@il.ibm.com>, and Anna Reitman <reitman@il.ibm.com>.
  384: 
  385: * An asynchronous name lookup library was added.  The interface is designed
  386:   after POSIX AIO.  The proposal was circulated beforehand to get comments.
  387:   No negative ones came in.  Implemented by Ulrich Drepper.
  388: 
  389: * Port to S390/64bit contributed by Martin Schwidefsky
  390:   <schwidefsky@de.ibm.com>.
  391: 
  392: * David Mosberger <davidm@hpl.hp.com> implemented the setcontext family
  393:   of functions for Linux/IA-64.
  394: 
  395: * The RPC code is now thread safe.  Threads can now use the same service
  396:   of different services at the same time.  Patch by Eric Norum
  397:   <eric.norum@usask.ca> with some help by Ulrich Drepper.
  398: 
  399: * Martin Schwidefsky <schwidefsky@de.ibm.com> implemented the setcontext
  400:   family of functions for Linux/S390.
  401: 
  402: * Ulrich Drepper <drepper@redhat.com> implemented the setcontext family
  403:   of functions for Linux/x86.
  404: 
  405: * Port to Linux/CRIS contributed by Axis Communications.
  406: ^L
  407: Version 2.2.2
  408: 
  409: * Lots of headers were cleaned up.  Using the tool in the conform/ subdir
  410:   we can now check for namespace violations and missing declarations.  The
  411:   result is that almost all headers are now Unix-compliant (as defined in
  412:   the upcoming XPG6).  The negative side is that some programs might need
  413:   corrections, too, if they depend on the incorrect form of the headers in
  414:   previous versions which defined too many symbols and included too many
  415:   other headers.
  416: 
  417: * regex now handles multibyte character sets correctly.
  418:   Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
  419: 
  420: * iconv (the program) does now conform to the upcoming XPG6 and handles
  421:   charmaps.  Instead of the charset names the path of charmaps can be
  422:   provided and the conversion happens based on this data.
  423:   Contributed by Ulrich Drepper.
  424: 
  425: * The locale program now provides detailed information about the installed
  426:   locales.  While
  427: 
  428:     locale -a
  429: 
  430:   only lists the names of the supported locales
  431: 
  432:     locale -a --verbose
  433: 
  434:   provides details such as country, language, and codeset name.
  435:   Contributed by Ulrich Drepper.
  436: ^L
  437: Version 2.2.1
  438: 
  439: * The gencat program now parses the input file according to the charset
  440:   selected by the LC_CTYPE category.  This is important for stateful
  441:   character sets.  To make generating catalogs easier there is a way
  442:   to overwrite the charset selected by the locale: before the first
  443:   message or $ quote line the catalog can contain a line like
  444: 
  445:     $ codeset=ISO-8859-2
  446: 
  447:   to select the charset (ISO-8859-2 in this case).
  448: 
  449:   Implemented by Shinya Hanataka and Ulrich Drepper.
  450: 
  451: * New codeset conversion modules: IBM-922  (Estonia PC codeset),
  452:   IBM-1124 (Ukraine PC codeset), IBM-1129 (Vietnamese PC codeset).
  453:   Contributed by Masahide Washizawa <washi@jp.ibm.com>.
  454: 
  455: * Optimized string functions for Alpha ev6 and ev67 by Richard Henderson
  456:   <rth@redhat.com> and Rick Gorton <rick.gorton@alpha-processor.com>.
  457: 
  458: * The LANGUAGE environment variable is now ignored unless the locale is
  459:   changed from the default "C" locale.
  460: 
  461: * The usual bug fixes.
  462: ^L
  463: Version 2.2
  464: 
  465: * Greg McGary added runtime support for bounds checking using gcc's
  466:   new -fbounded-pointers option.  ix86 target is complete.  PowerPC
  467:   is in progress.
  468: 
  469: * Thorsten Kukuk added secure mode support to nscd.
  470: 
  471: * The Berkeley db libraries have been removed.
  472: 
  473:   Related, the nss_db module is now in a separate package since it
  474:   obviously requires a database library being available.
  475: 
  476: * Wide character I/O streams implemented by Ulrich Drepper.
  477: 
  478: * Functions from the extended socket API added by Ulrich Drepper.
  479: 
  480: * Functions feenableexcept and fedisableexcept to control the
  481:   behaviour of individual exceptions have been added by Andreas Jaeger.
  482: 
  483: * ldconfig program added by Andreas Jaeger and Jakub Jelinek.
  484: 
  485: * The resolver code has been updated from bind 8.2.3-T5B which supports
  486:   threads.  The integration was done by Andreas Jaeger, Adam D. Bradley,
  487:   and Mark Kettenis.
  488: 
  489:   This change could in some situations effect backward compatibility.  Since
  490:   now `_res' is a thread-local instead of a global variable, modifying it
  491:   in one thread does not have any effect in other threads.
  492: 
  493:   The resolver library was also extended to allow IPv6 as the transport
  494:   protocol for the requests.  This work was done by Stig Venaas.
  495: 
  496: * Compatibility code for K&R C compilers has been removed from the
  497:   header files.  A ISO C compiler is needed to use the library
  498:   (conforming to either C89 or C99 standard).
  499: 
  500: * Complete rewrite of the localedef program to support multibyte character
  501:   sets.  Implement handling of ISO 14651 and ISO 14652.  Rewrite strcoll,
  502:   strxfrm, wcscoll, and wcsxfrm functions.  Make isw*() functions work.
  503:   Implemented by Ulrich Drepper.
  504: 
  505:   Bruno Haible significantly improved the generation and use of the data
  506:   structures for the wide character tables.
  507: 
  508: * Plural handling in gettext implemented by Ulrich Drepper.
  509: 
  510: * The utmp daemon has been removed.
  511: 
  512: * The port to MIPS-Linux has been finished by Andreas Jaeger.
  513: 
  514: * A port to Hitachi SH3 and SH4 has been contributed by Kazumoto Kojima
  515:   and Yutaka Niibe.
  516: 
  517: * POSIX clocks and timers implemented by Kaz Kylheku and Ulrich Drepper.
  518: 
  519: * POSIX barriers implemented by Kaz Kylheku.
  520: 
  521: * POSIX spawn function family implemented by Ulrich Drepper.
  522: 
  523: * POSIX spinlocks are now available.
  524: 
  525: * Timed wait functions for mutex, rwlock, and semaphores are implemented.
  526: 
  527: * the configure option --enable-kernel=X.Y.Z allows to strip out
  528:   compatibility for kernel versions before X.Y.Z.  This is currently only
  529:   implemented for Linux.
  530: 
  531: * the sockaddr_in6 structure changed.  The IPv6 working group added a new
  532:   field sin6_scope_id.  This means that all programs using IPv6 should be
  533:   recompiled.  Don't expect binary compatibility with previous glibc
  534:   versions.
  535: 
  536: * various conversion modules for IBM character sets contributed by
  537:   Masahide Washizawa.
  538: 
  539: * IA-64 port by Jes Sorensen and HJ Lu.
  540: 
  541: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  542: Compiling the GNU C Library for Linux/ia64
  543: ******************************************
  544: 
  545:    Please refer to the file INSTALL in the same directory as you found
  546: this file for general information about configuring and compiling
  547: glibc.
  548: 
  549:    For general inquiries about glibc under Linux/ia64 please use the
  550: following mailing list linux-ia64@linuxia64.org or one of the relevant
  551: glibc mailing lists.
  552: 
  553: Recommended Tools for Compilation
  554: =================================
  555: 
  556:    In order for glibc-2.2 to build correctly on the ia64 you need at
  557: least the following versions of the GNU tools (the :
  558: 
  559:    * The Cygnus toolchain snapshot for the ia64 as of August 4
  560:      including the provided set of patches.  It is however recommend
  561:      you use the October 24 toolchain snapshot or a more recent version.
  562: 
  563:    OR alternatively you can try the following (the Cygnus toolchain is
  564:    the recommended solution):
  565: 
  566:    * GCC and binutils, GAS and GNU LD out of CVS from
  567:      sources.redhat.com as of August 28, 2000 or later.  The CVS tree
  568:      may require special patches to work properly on the ia64.
  569: 
  570: Configuring and compiling GNU Libc for Linux/ia64
  571: =================================================
  572: 
  573:    The library requires Linux kernel version 2.4.0-test4-000728 or
  574: later to funtion properly. Besides that it support for debug libraries
  575: is currently untested. Hence the following options
  576: are required for configuring the library:
  577: 
  578:    --disable-debug --enable-kernel=2.4.0
  579: 
  580:    It is also important that you make sure the library picks up the
  581: appropriate kernel header files, if you do not have recent enough
  582: kernel headers in /usr/src/linux/include, you should use the
  583: --with-headers=<path> option to specify the location.
  584: 
  585:    As an example I personally use the following options to configure
  586: the library:
  587: 
  588:    --disable-debug
  589:    --disable-cvs
  590:    --enable-kernel=2.4.0
  591:    --host=ia64-linux
  592:    --enable-add-ons=yes
  593:    --prefix=/usr
  594:    --with-headers=/home/jes/linux/include
  595: 
  596: 
  597: Good luck
  598: 
  599: Jes Sorensen <jes@linuxcare.com>,
  600: November 14th, 2000
  601: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  602: ^L
  603: Version 2.1.3
  604: 
  605: * bug fixes
  606: 
  607: ^L
  608: Version 2.1.2
  609: 
  610: * bug fixes
  611: 
  612: ^L
  613: Version 2.1.1
  614: 
  615: * New ISO C 9x function _Exit, imaxabs, and imaxdiv are added.
  616: 
  617: * New xdr functions are added; some rpc functions are now 64bit clean.
  618: 
  619: * Fixed a number of bugs and memory leaks (especially in NIS+ code).
  620: 
  621: * Fixed known incompatibilities with glibc 2.0.
  622: 
  623: * New functions lock64, strchrnul, rawmemchr, getutmp and getutmpx.
  624: 
  625: * Optimized a number of functions (especially the ELF dynamic loader).
  626: 
  627: * Update timezone data files.
  628: 
  629: * lots of charmaps corrections
  630: 
  631: * some new locale definitions and charmaps
  632: 
  633: ^L
  634: Version 2.1
  635: 
  636: * Richard Henderson corrected size of struct timeval on Linux/Alpha to
  637:   conform to POSIX member type requirements.  Symbol versions have been
  638:   adjusted as needed within the library, and for direct use by applications,
  639:   but there is potential for problems if third-party libraries use
  640:   struct timeval as part of their interface.  This does not present
  641:   a problem for X and other "essential" system libraries.
  642: 
  643: * An additional locale model to support C++ Standard Library locale
  644:   model and probably more was implemented by Ulrich Drepper.
  645: 
  646: * Eric Youngdale and Ulrich Drepper implemented versioning of objects on
  647:   symbol level.
  648: 
  649: * Miles Bader provided the `argp' function family to support hierachical
  650:   command line argument parsing, layered on top of getopt.
  651: 
  652: * strtod accepts new hexadecimal floating-point format from ISO C 9X.
  653: 
  654: * printf has two new specifiers %a and %A to print hexadecimal flaoting-point
  655:   numbers.
  656: 
  657: * scanf recognizes the %a and %A format for scanning floating point numbers.
  658: 
  659: * the new headers <stdint.h> and <inttypes.h> from ISO C 9X provides
  660:   information and interfaces for the available integer types.
  661: 
  662: * about 130 new math functions were added to implement the ISO C9x math
  663:   library.
  664: 
  665: * the new header <complex.h> contains definitions of the complex math
  666:   functions from ISO C 9X.
  667: 
  668: * the new header <tgmath.h> defines generic macros to use complex or
  669:   real valued functions.
  670: 
  671: * Thorsten Kukuk provided an implementation for NIS+, securelevel 0, 1 and 2.
  672: 
  673: * Andreas Jaeger provided a test suite for the math library.
  674: 
  675: * Mark Kettenis implemented the utmpx interface and an utmp daemon.
  676: 
  677: * Ulrich Drepper added character set conversion functions (iconv).
  678: 
  679: * Optimized string functions have been added.
  680: 
  681: * The localedata addon is now part of glibc.
  682: 
  683: * An implementation of profiling shared libraries was added by Ulrich Drepper.
  684: 
  685: * Thorsten Kukuk and Ulrich Drepper provided an implementation for a caching
  686:   daemon for NSS (nscd).
  687: 
  688:   Missing a better place here are some numbers on improvements.  Under
  689:   Linux 2.1.125 un-tar-ing the kernel sources takes
  690: 
  691:                                   user      system          wall
  692: 
  693:     using local files           12.19s    6.88s     22.91s
  694: 
  695:     using NIS                   13.92s   8.91s    26.34s
  696: 
  697:     using NIS & nscd            10.37s     7.34s      25.30s
  698: 
  699:     using NIS+                  27.57s 30.37s  640.46s
  700: 
  701:     using NIS+ & nscd           10.25s   7.83s   26.51s
  702: 
  703:     using NIS & old nscd [1]    13.83s      8.32s       29.60s
  704: 
  705:   Keep in mind that non-namelookup related operations dominate above times.
  706:   It was just a common complain that using NIS+ unpacking the kernel is
  707:   horribly slow.
  708: 
  709:   [1] The old nscd implementation is not available anymore since it was
  710:   distributed with glibc up to version 2.0.98 and thus is now replaced.
  711: 
  712: * Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
  713: 
  714: * Mark Kettenis provided a Hesiod NSS module.
  715: 
  716: * The ELF dynamic loader knows how to process dynamic string tokens ($ORIGIN
  717:   and $PLATFORM) in RPATHs and similar strings (Ulrich Drepper).
  718: 
  719: * rcmd can now handle netgroups (Dick Streefland).
  720: 
  721: * A port to the ARM was contributed by Phil Blundell, Pat Beirne and Scott
  722:   Bambrough.
  723: 
  724: * Support for the IPv6 protocol has been added to the socket API, as per the
  725:   latest draft standards.
  726: 
  727: * Support for Linux 2.2 has been added.
  728: 
  729: * Interface changes relative to the latest 2.0.x release:
  730: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  731: addseverity                     NEW: Unix98
  732: alphasort64                     NEW: LFS
  733: argp_err_exit_status            NEW: argp, GNU ext
  734: argp_error                      NEW: argp, GNU ext
  735: argp_failure                    NEW: argp, GNU ext
  736: argp_help                       NEW: argp, GNU ext
  737: argp_parse                      NEW: argp, GNU ext
  738: argp_program_bug_address        NEW: argp, GNU ext
  739: argp_program_version            NEW: argp, GNU ext
  740: argp_program_version_hook       NEW: argp, GNU ext
  741: argp_state_help                 NEW: argp, GNU ext
  742: argp_usage                      NEW: argp, GNU ext
  743: authdes_create                  NEW: Secure RPC
  744: authdes_getucred                NEW: Secure RPC
  745: authdes_pk_create               NEW: Secure RPC
  746: backtrace                       NEW: GNU ext.
  747: backtrace_symbols               NEW: GNU ext.
  748: backtrace_symbols_fd            NEW: GNU ext.
  749: cacos                           NEW: ISO C 9x
  750: cacosf                          NEW: ISO C 9x
  751: cacosh                          NEW: ISO C 9x
  752: cacoshf                         NEW: ISO C 9x
  753: cacoshl                         NEW: ISO C 9x
  754: cacosl                          NEW: ISO C 9x
  755: capget                          NEW: kernel
  756: capset                          NEW: kernel
  757: carg                            NEW: ISO C 9x
  758: cargf                           NEW: ISO C 9x
  759: cargl                           NEW: ISO C 9x
  760: casin                           NEW: ISO C 9x
  761: casinf                          NEW: ISO C 9x
  762: casinh                          NEW: ISO C 9x
  763: casinhf                         NEW: ISO C 9x
  764: casinhl                         NEW: ISO C 9x
  765: casinl                          NEW: ISO C 9x
  766: catan                           NEW: ISO C 9x
  767: catanf                          NEW: ISO C 9x
  768: catanh                          NEW: ISO C 9x
  769: catanhf                         NEW: ISO C 9x
  770: catanhl                         NEW: ISO C 9x
  771: catanl                          NEW: ISO C 9x
  772: cbc_crypt                       NEW: Secure RPC
  773: ccos                            NEW: ISO C 9x
  774: ccosf                           NEW: ISO C 9x
  775: ccosh                           NEW: ISO C 9x
  776: ccoshf                          NEW: ISO C 9x
  777: ccoshl                          NEW: ISO C 9x
  778: ccosl                           NEW: ISO C 9x
  779: cexp                            NEW: ISO C 9x
  780: cexpf                           NEW: ISO C 9x
  781: cexpl                           NEW: ISO C 9x
  782: cimag                           NEW: ISO C 9x
  783: cimagf                          NEW: ISO C 9x
  784: cimagl                          NEW: ISO C 9x
  785: clearerr_locked                 REMOVED
  786: clntunix_create                 NEW: sunrpc ext
  787: clog                            NEW: ISO C 9x
  788: clog10                          NEW: ISO C 9x
  789: clog10f                         NEW: ISO C 9x
  790: clog10l                         NEW: ISO C 9x
  791: clogf                           NEW: ISO C 9x
  792: clogl                           NEW: ISO C 9x
  793: conj                            NEW: ISO C 9x
  794: conjf                           NEW: ISO C 9x
  795: conjl                           NEW: ISO C 9x
  796: cpow                            NEW: ISO C 9x
  797: cpowf                           NEW: ISO C 9x
  798: cpowl                           NEW: ISO C 9x
  799: cproj                           NEW: ISO C 9x
  800: cprojf                          NEW: ISO C 9x
  801: cprojl                          NEW: ISO C 9x
  802: creal                           NEW: ISO C 9x
  803: crealf                          NEW: ISO C 9x
  804: creall                          NEW: ISO C 9x
  805: creat64                         NEW: LFS
  806: csin                            NEW: ISO C 9x
  807: csinf                           NEW: ISO C 9x
  808: csinh                           NEW: ISO C 9x
  809: csinhf                          NEW: ISO C 9x
  810: csinhl                          NEW: ISO C 9x
  811: csinl                           NEW: ISO C 9x
  812: csqrt                           NEW: ISO C 9x
  813: csqrtf                          NEW: ISO C 9x
  814: csqrtl                          NEW: ISO C 9x
  815: ctan                            NEW: ISO C 9x
  816: ctanf                           NEW: ISO C 9x
  817: ctanh                           NEW: ISO C 9x
  818: ctanhf                          NEW: ISO C 9x
  819: ctanhl                          NEW: ISO C 9x
  820: ctanl                           NEW: ISO C 9x
  821: des_setparity                   NEW: Secure RPC
  822: ecb_crypt                       NEW: Secure RPC
  823: endutxent                       NEW: Unix98
  82