
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