]> sourceware.org Git - glibc.git/blob - NEWS
Fix C++ header directory detection for non-standard paths.
[glibc.git] / NEWS
1 GNU C Library NEWS -- history of user-visible changes.
2 Copyright (C) 1992-2012 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 \f
8 Version 2.17
9
10 * The following bugs are resolved with this release:
11
12 1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685,
13 9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 11741, 12140,
14 13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696, 13698, 13717,
15 13741, 13759, 13763, 13939, 13950, 13952, 13966, 14042, 14047, 14090,
16 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195, 14237, 14251,
17 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347,
18 14349, 14368, 14376, 14417, 14459, 14476, 14477, 14501, 14505, 14510,
19 14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557,
20 14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621,
21 14638, 14645, 14648, 14652, 14660, 14661, 14669, 14672, 14683, 14694,
22 14716, 14719, 14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797,
23 14801, 14805, 14807, 14809, 14811, 14815, 14821, 14822, 14824, 14828,
24 14831, 14835, 14838, 14856, 14863, 14865, 14866, 14868, 14869, 14871.
25
26 * Port to ARM AArch64 contributed by Linaro.
27
28 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
29 Optimized versions of memcpy, memset, and memcmp added for System z10 and
30 zEnterprise z196.
31 Implemented by Andreas Krebbel.
32
33 * The new function secure_getenv allows secure access to the environment,
34 returning NULL if running in a SUID/SGID process. This function replaces
35 the internal function __secure_getenv.
36
37 * SystemTap static probes have been added into the dynamic linker.
38 Implemented by Gary Benson.
39
40 * Optimizations of string functions strstr, strcasestr and memmem.
41 Implemented by Maxim Kuvyrkov.
42
43 * The minimum Linux kernel version that this version of the GNU C Library
44 can be used with is 2.6.16.
45
46 * Optimizations of string functions memchr, wcschr, wcscpy, and wcsrchr for
47 powerpc POWER7. Implemented by Will Schmidt.
48
49 * New configure option --disable-nscd builds the C library such that it
50 never attempts to contact the Name Service Caching Daemon (nscd).
51 New configure option --disable-build-nscd avoids building nscd itself;
52 this is the default if --disable-nscd is used.
53
54 * The ttyname and ttyname_r functions on Linux now fall back to searching for
55 the tty file descriptor in /dev/pts or /dev if /proc is not available. This
56 allows creation of chroots without the procfs mounted on /proc.
57
58 * The `crypt' function now fails if passed salt bytes that violate the
59 specification for those values. On Linux, the `crypt' function will
60 consult /proc/sys/crypto/fips_enabled to determine if "FIPS mode" is
61 enabled, and fail on encrypted strings using the MD5 or DES algorithm
62 when the mode is enabled.
63
64 * The `clock_*' suite of functions (declared in <time.h>) is now available
65 directly in the main C library. Previously it was necessary to link with
66 -lrt to use these functions. This change has the effect that a
67 single-threaded program that uses a function such as `clock_gettime' (and
68 is not linked with -lrt) will no longer implicitly load the pthreads
69 library at runtime and so will not suffer the overheads associated with
70 multi-thread support in other code such as the C++ runtime library.
71
72 * New locales: ayc_PE, doi_IN, mni_IN, nhn_MX, niu_NU, niu_NZ, sat_IN, and
73 szl_PL.
74 \f
75 Version 2.16
76
77 * The following bugs are resolved with this release:
78
79 174, 208, 350, 369, 411, 706, 766, 887, 2074, 2541, 2547, 2548, 2550,
80 2551, 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678,
81 3335, 3440, 3748, 3768, 3866, 3868, 3906, 3976, 3992, 4026, 4108, 4596,
82 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794,
83 6884, 6890, 6894, 6895, 6907, 6911, 6959, 7064, 9739, 9902, 10110, 10135,
84 10140, 10153, 10210, 10254, 10346, 10375, 10545, 10716, 10846, 11174,
85 11322, 11365, 11451, 11494, 11521, 11677, 11837, 11959, 12047, 12097,
86 12193, 12194, 12297, 12298, 12301, 12340, 12354, 12416, 12495, 13058,
87 13223, 13361, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532,
88 13533, 13547, 13551, 13552, 13553, 13555, 13556, 13559, 13563, 13566,
89 13576, 13579, 13583, 13592, 13594, 13613, 13618, 13637, 13656, 13658,
90 13673, 13691, 13695, 13704, 13705, 13706, 13718, 13726, 13738, 13739,
91 13743, 13750, 13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806,
92 13824, 13840, 13841, 13844, 13846, 13848, 13851, 13852, 13854, 13871,
93 13872, 13873, 13879, 13882, 13883, 13884, 13885, 13886, 13892, 13895,
94 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918,
95 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928, 13938,
96 13941, 13942, 13954, 13955, 13956, 13963, 13967, 13968, 13970, 13973,
97 13979, 13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036, 14040,
98 14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075,
99 14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134,
100 14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14277,
101 14278.
102
103 * Support for the x32 ABI on x86-64 added. The x32 target is selected by
104 configuring glibc with:
105 BUILD_CC='gcc' CC='gcc -mx32' CXX='g++ -mx32'
106 Visit <http://sites.google.com/site/x32abi/> for more x32 ABI info.
107 Implemented by H.J. Lu.
108
109 * ISO C11 support:
110
111 + define static_assert
112
113 + do not declare gets
114
115 + declare at_quick_exit and quick_exit also for ISO C11
116
117 + aligned_alloc. NB: The code is deliberately allows the size parameter
118 to not be a multiple of the alignment. This is a moronic requirement
119 in the standard but it is only a requirement on the caller, not the
120 implementation.
121
122 + timespec_get added
123
124 + uchar.h support added
125
126 + CMPLX, CMPLXF, CMPLXL added
127
128 Implemented by Ulrich Drepper.
129
130 * Support for the IA-64 has been moved to ports.
131
132 * Remove support for anything but ELF binary format
133
134 * Checking versions of poll, ppoll added.
135 Implemented by Ulrich Drepper.
136
137 * More generic and 64-bit performance optimizations to math functions.
138 Implemented by Ulrich Drepper.
139
140 * New configure option --enable-obsolete-rpc makes the deprecated RPC
141 headers and functions available at compile time as they were before
142 version 2.14. This option will be removed at some time in the future
143 after the TI-RPC library becomes fully sufficient for the needs of
144 existing applications.
145
146 * Compatibility code for Linux kernel versions before 2.4 has been removed.
147 Note that glibc is not expected to work with any Linux kernel version
148 before 2.6.
149
150 * New header <sys/auxv.h> and function getauxval allowing easy access to
151 the AT_* key-value pairs passed from the Linux kernel. The header also
152 defines the HWCAP_* bits associated with the AT_HWCAP key.
153
154 * New locales: mag_IN
155
156 * New configure option --enable-systemtap builds SystemTap static probes
157 into libc for setjmp and longjmp and into libpthread for various operations.
158 So far the setjmp/longjmp probes and some of the libpthread probes are
159 provided only for i*86 and x86_64.
160 Implemented by Roland McGrath and Rayson Ho.
161
162 * Optimized expf for x86-32 and x86-64. Implemented by Liubov Dmitrieva.
163
164 * More optimized functions for PowerPC. Implemented by Adhemerval Zanella
165 and Will Schmidt.
166
167 * More optimized functions for SPARC. Implemented by David S. Miller.
168
169 * Improved support for cross-compilation, especially bootstrap builds
170 without a previously built glibc.
171
172 * Ports for the TILE-Gx and TILEPro families of processors. Contributed by
173 Chris Metcalf from Tilera.
174
175 * Support for the old ARM ABI has been removed from ports. Only the EABI is
176 now supported for ARM processors.
177
178 * The hard-float variant of the ARM EABI now uses /lib/ld-linux-armhf.so.3
179 as the name of the dynamic linker, to distinguish it from the
180 /lib/ld-linux.so.3 dynamic linker used for the base EABI.
181
182 * Support for CRIS has been removed from ports.
183
184 * A new class of installed header has been documented for low-level
185 platform-specific functionality. PowerPC added the first instance with a
186 function to provide time base register access. Contributed by Tulio
187 Magno Quites Machado Filho.
188
189 * ix86 configurations now install header files that are consistent with
190 what x86-64 configurations install. These same header files can be used
191 for -m32, -m64, or -mx32 builds.
192 Contributed by H.J. Lu.
193
194 * Math library bug fixes. A thorough audit of all open math library bugs was
195 conducted by Joseph Myers. Significant progress was made on many math
196 library bugs resulting in more accurate exceptions and function results.
197 Many thanks to all those that contributed including Andreas Jaeger for his
198 patch review and work on the x87 trigonometric instruction issues.
199
200 * Timezone data is no longer installed. Timezone-related binaries and scripts
201 will continue to be installed. Users should obtain their timezone data from
202 their distribution provider or from the tzdata package at
203 <ftp://munnari.oz.au/pub/>.
204 \f
205 Version 2.15
206
207 * The following bugs are resolved with this release:
208
209 6779, 6783, 9696, 10103, 10709, 11589, 11929, 12403, 12786, 12840, 12847,
210 12868, 12852, 12874, 12885, 12892, 12906, 12907, 12922, 12935, 12962,
211 13007, 13021, 13061, 13062, 13067, 13068, 13085, 13088, 13090, 13092,
212 13096, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13166, 13179,
213 13185, 13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335,
214 13337, 13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472,
215 13484, 13506, 13515, 13523, 13524, 13538, 13540
216
217 * New program pldd to list loaded object of a process
218 Implemented by Ulrich Drepper.
219
220 * Add nss_db support back to glibc. No more dependency on Berkeley db
221 and support for initgroups lookups.
222 Implemented by Ulrich Drepper.
223
224 * Optimized strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-32.
225 Contributed by HJ Lu.
226
227 * Improved strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-64.
228 Contributed by HJ Lu.
229
230 * Optimized strcat, strncat on x86-64 and optimized wcscmp, wcslen, strnlen
231 on x86-32 and x86-64.
232 Contributed by Liubov Dmitrieva.
233
234 * Optimized strchr and strrchr for SSE on x86-32.
235 Contributed by Liubov Dmitrieva.
236
237 * Optimized memchr, memrchr, rawmemchr, memcmp, wmemcmp, wcschr, wcscpy
238 for x86-64 and x86-32.
239 Contributed by Liubov Dmitrieva.
240
241 * New interfaces: scandirat, scandirat64
242 Implemented by Ulrich Drepper.
243
244 * Checking versions of FD_SET, FD_CLR, and FD_ISSET added.
245 Implemented by Ulrich Drepper.
246
247 * nscd now also caches the netgroup database.
248 Implemented by Ulrich Drepper.
249
250 * Integrate libm with gcc's -ffinite-math-only option.
251 Implemented by Ulrich Drepper.
252
253 * Lots of generic, 64-bit, and x86-64-specific performance optimizations
254 to math functions. Implemented by Ulrich Drepper.
255
256 * Optimized strcasecmp and strncasecmp for AVX on x86-64.
257 Implemented by Ulrich Drepper.
258
259 * New Linux interfaces: process_vm_readv, process_vm_writev
260
261 * Optimized strcasecmp and strncasecmp for SSSE3 and SSE4.2 on x86-32.
262 Implemented by Ulrich Drepper.
263
264 * Optimized nearbyint and strcasecmp for PPC.
265 Implemented by Adhemerval Zanella.
266
267 * New locales: bho_IN, unm_US, es_CU, ta_LK
268 \f
269 Version 2.14
270
271 * The following bugs are resolved with this release:
272
273 386, 6420, 7101, 9730, 9732, 9809, 10138, 10149, 10157, 11099, 11257,
274 11258, 11487, 11532, 11558, 11578, 11634, 11653, 11668, 11697, 11724,
275 11781, 11799, 11820, 11837, 11857, 11869, 11892, 11895, 11901, 11945,
276 11947, 11952, 11987, 12052, 12083, 12158, 12178, 12200, 12346, 12350,
277 12393, 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489,
278 12509, 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583,
279 12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655,
280 12660, 12671, 12681, 12684, 12685, 12711, 12713, 12714, 12717, 12723,
281 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792,
282 12795, 12811, 12813, 12814, 12841
283
284 * The RPC implementation in libc is obsoleted. Old programs keep working
285 but new programs cannot be linked with the routines in libc anymore.
286 Programs in need of RPC functionality must be linked against TI-RPC.
287 The TI-RPC implementation is IPv6 enabled and there are other benefits.
288
289 Visible changes of this change include (obviously) the inability to link
290 programs using RPC functions without referencing the TI-RPC library and the
291 removal of the RPC headers from the glibc headers.
292 Implemented by Ulrich Drepper.
293
294 * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
295 syncfs, setns, sendmmsg
296
297 * New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH,
298 yue_HK, lij_IT, mhr_RU
299
300 * New encodings: CP770, CP771, CP772, CP773, CP774
301
302 * New program sotruss to trace calls through PLTs
303 Implemented by Ulrich Drepper.
304
305 * The malloc hook implementation is marked deprecated and will be removed
306 from the default implementation in the next version. The design never
307 worked ever since the introduction of threads. Even programs which do
308 not create threads themselves can use multiple threads created internally.
309 \f
310 Version 2.13
311
312 * The following bugs are resolved with this release:
313
314 3268, 6812, 7066, 10085, 10484, 10563, 10851, 11149, 11155, 11577, 11611,
315 11640, 11655, 11701, 11840, 11856, 11883, 11903, 11904, 11968, 11979,
316 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108, 12113,
317 12140, 12159, 12167, 12191, 12194, 12201, 12204, 12205, 12207, 12348,
318 12378, 12394, 12397
319
320 * New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark
321
322 * POWER7 optimizations: memset, memcmp, strncmp
323
324 * New optimized string functions for x86-64: strnlen (SSE2),
325 strcasecmp (SSE2, SSSE3, SSE4.2), strncasecmp (SSE2, SSSE3, SSE4.2)
326 Implemented by Ulrich Drepper.
327 \f
328 Version 2.12
329
330 * The following bugs are resolved with this release:
331
332 3662, 4457, 5553, 10162, 10401, 10414, 10554, 10824, 10864, 10915, 10918,
333 10936, 10939, 10958, 10968, 10969, 10972, 10992, 11000, 11001, 11007,
334 11010, 11027, 11039, 11040, 11041, 11043, 11046, 11056, 11070, 11093,
335 11115, 11120, 11125, 11126, 11127, 11134, 11141, 11149, 11183, 11184,
336 11185, 11186, 11187, 11188, 11189, 11190, 11191, 11192, 11193, 11194,
337 11200, 11230, 11235, 11242, 11254, 11258, 11271, 11272, 11276, 11279,
338 11287, 11292, 11319, 11332, 11333, 11387, 11389, 11390, 11394, 11397,
339 11410, 11438, 11449, 11470, 11471, 11520, 11537, 11538, 11571
340
341 * New interfaces: pthread_getname_np, pthread_setname_np
342
343 * New Linux interface: recvmmsg
344
345 * STT_GNU_IFUNC implemented for Sparc by David Miller.
346
347 * The dynamic linker now recognizes supported ABI versions from the
348 EI_ABIVERSION field in the ELF header.
349 Implemented by Ulrich Drepper.
350
351 * New NIS mode selector ADJUNCT_AS_SHADOW. The passwd.adjunct.byname table
352 will not be used to fill in password fields in the passwd.byname replies.
353 Instead it is used to synthesize the shadow.byname table, should it be
354 missing. This is a useful mode in some installations involving Solaris.
355 Implemented by Ulrich Drepper.
356
357 * New locales: kok_IN, sq_MK, cv_RU
358 \f
359 Version 2.11
360
361 * The following bugs are resolved with this release:
362
363 3270, 7094, 9924, 9986, 10011, 10085, 10107, 10159, 10162, 10166, 10183,
364 10195, 10196, 10200, 10203, 10207, 10211, 10213, 10217, 10221, 10229,
365 10262, 10286, 10312, 10315, 10319, 10349, 10360, 10391, 10402, 10416,
366 10418, 10422, 10425, 10446, 10448, 10452, 10540, 10553, 10560, 10564,
367 10609, 10643, 10692, 10713, 10717, 10730, 10731, 10742, 10780, 10784,
368 10789, 10817, 10823, 10840, 10847
369
370 * New interfaces: execvpe, pthread_sigqueue, mkstemps, mkstemps64, mkostemps,
371 mkostemps64
372 Implemented by Ulrich Drepper.
373
374 * Checking version of longjmp added that fails if an uninitialized stack
375 frame would be created. Implemented by Ulrich Drepper.
376
377 * STT_GNU_IFUNC is now supported in static executables.
378 Implemented by H.J. Lu.
379
380 * STT_GNU_IFUNC implemented for PPC by Alan Modra.
381
382 * New optimized string functions for x86-64: strstr, strcasestr, memcmp,
383 strcspn, strpbrk, strspn, strcpy, stpcpy, strncpy, strcmp (SSE2, SSE4.2),
384 strncmp (SSE2, SSE4.2), strchr (SSE4.2), strrchr (SSE4.2).
385 Contributed by H.J. Lu.
386
387 strlen, rawmemchr, strcmp (SSSE3), strncmp (SSSE3).
388 Implemented by Ulrich Drepper.
389
390 * New optimized string functions for x86: strlen, strcspn, strspn, strpbrk,
391 strstr, strcasestr.
392 Contributed by H.J. Lu.
393
394 * Support for fma instruction in AVX on x86-64.
395 Implemented by H.J. Lu and Ulrich Drepper.
396
397 * AVX support in x86-64 auditing support in ld.so.
398 Implemented by H.J. Lu.
399
400 * STB_GNU_UNIQUE support added.
401 Implemented by Ulrich Drepper.
402
403 * Implement second fallback mode for optimized DNS lookup for even more
404 broken environments. If two requests from the same port are not
405 handled correctly close the socket and open a new one before sending
406 the second request. The 'single-request-reopen' option in /etc/resolv.conf
407 can be used to select this mode right away, instead of rediscovering the
408 necessity is every process again.
409 Implemented by Ulrich Drepper.
410
411 * New resolver flag RES_USE_DNSSEC to enable use of verified lookup.
412 Implemented by Adam Tkac.
413
414 * Optimized iconv conversions for S390x.
415 Implemented by Andreas Krebbel.
416
417 * Using condvars with PI mutexes is now more efficient due to kernel
418 support for requeueing to PI futexes. NPTL support added for x86-64.
419 Implemented by Ulrich Drepper.
420
421 * New locales: ps_AF, my_MM
422 \f
423 Version 2.10
424
425 * The following bugs are resolved with this release:
426
427 697, 5381, 5807, 6411, 6545, 7040, 7058, 7067, 7080, 7083, 7095, 7098,
428 9677, 9694, 9697, 9701, 9704, 9705, 9706, 9720, 9726, 9730, 9733, 9736,
429 9741, 9750, 9753, 9759, 9781, 9791, 9793, 9823, 9833, 9844, 9880, 9881,
430 9891, 9893, 9895, 9913, 9916, 9920, 9948, 9955, 9957, 9963, 9985, 10052,
431 10069, 10086, 10087, 10090, 10092, 10093, 10100, 10118, 10128
432
433 * New interfaces: preadv, preadv64, pwritev, pwritev64, malloc_info
434 Implemented by Ulrich Drepper.
435
436 * New Linux interfaces: accept4, fallocate, fallocate64.
437 Implemented by Ulrich Drepper.
438
439 * Correct declarations of string function when used in C++ code. This
440 could lead to compile errors for invalid C++ code.
441
442 * XPG7/POSIX 2008 compilation environment. Many GNU-specific functions are
443 now in POSIX.
444
445 * New POSIX 2008 interface: psiginfo
446 Implemented by Ulrich Drepper.
447
448 * New ISO C++1x interfaces: quick_exit, at_quick_exit
449 Implemented by Ulrich Drepper.
450
451 * Support for selecting between multiple function definitions at runtime
452 using STT_GNU_IFUNC symbols. Implemented by Ulrich Drepper.
453
454 * The libcrypt library can now use the hash function implementations in
455 NSS. Implemented by Ulrich Drepper.
456
457 * The malloc implementation can be compiled to be less memory efficient
458 but higher performing in multi-threaded programs.
459 Implemented by Ulrich Drepper.
460
461 * New locales: nan_TW@latin, ks_IN
462
463 * Faster strlen, strchr, strchrnul, strrchr, memchr, and rawmemchr for x86-64.
464 Implemented by Ulrich Drepper.
465
466 * Extended printf hook support. It is possible to use user-defined types
467 and extend existing format specifiers.
468 Implemented by Ulrich Drepper.
469
470 * Handling for group shadow files has been added.
471 Implemented by Ulrich Drepper.
472
473 * DNS IPv4-IPv6 parallel lookup now deals better with broken DNS
474 servers (the case, e.g., for some people using the built-in DNS
475 server in ADSL modems/routers). There is a once-per-process timeout
476 in case of a broken server. To avoid it, users can run nscd or put
477 'options single-request' in /etc/resolv.conf.
478 Implemented by Ulrich Drepper.
479 \f
480 Version 2.9
481
482 * The following bugs are resolved with this release:
483
484 3406, 5209, 5210, 5381, 5794, 5814, 5911, 6428, 6438, 6442, 6447, 6461,
485 6472, 6505, 6544, 6589, 6612, 6634, 6653, 6654, 6657, 6698, 6712, 6713,
486 6719, 6723, 6724, 6740, 6763, 6771, 6790, 6791, 6817, 6824, 6839, 6843,
487 6845, 6856, 6857, 6860, 6867, 6875, 6919, 6920, 6942, 6947, 6955, 6966,
488 6968, 6974, 6980, 6995, 7008, 7009, 7029
489
490 * Unified lookup for getaddrinfo: IPv4 and IPv6 addresses are now looked
491 up at the same time. Implemented by Ulrich Drepper.
492
493 * TLS descriptors for LD and GD on x86 and x86-64.
494 Implemented by Alexandre Oliva.
495
496 * getaddrinfo now handles DCCP and UDPlite.
497 Implemented by Ulrich Drepper.
498
499 * New fixed-size conversion macros: htobe16, htole16, be16toh, le16toh,
500 htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh.
501 Implemented by Ulrich Drepper.
502
503 * New implementation of memmem, strstr, and strcasestr which is O(n).
504 Implemented by Eric Blake.
505
506 * New Linux interfaces: inotify_init1, dup3, epoll_create1, pipe2
507
508 * Implement "e" option for popen to open file descriptor with the
509 close-on-exec flag set. Implemented by Ulrich Drepper.
510
511 * Implement "b" mode for fmemopen. In this mode writes writes don't
512 implicitly add a NUL byte and seeks from the end of the buffer really
513 use the buffer end, not the string length as the basis.
514 Implemented by Ulrich Drepper.
515
516 * Many functions, exported and internal, now atomically set the close-on-exec
517 flag when run on a sufficiently new kernel. Implemented by Ulrich Drepper.
518
519 * Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu,
520 Sinhala)
521 Implemented by Pravin Satpute.
522
523 * New locales: sd_IN, sd_IN@devanagari, ks_IN@devanagari, ht_HT, en_AG, nl_AW.
524 \f
525 Version 2.8
526
527 * The following bugs are resolved with this release:
528
529 2549, 3112, 4314, 4407, 4997, 5012, 5040, 5112, 5204, 5208, 5209, 5220,
530 5222, 5224, 5225, 5237, 5238, 5240, 5245, 5277, 5346, 5375, 5378, 5382,
531 5424, 5427, 5428, 5435, 5436, 5439, 5441, 5442, 5443, 5451, 5452, 5454,
532 5455, 5463, 5464, 5465, 5475, 5477, 5478, 5520, 5541, 5545, 5553, 5600,
533 5602, 5607, 5614, 5627, 5628, 5736, 5737, 5741, 5753, 5760, 5762, 5768,
534 5774, 5777, 5778, 5779, 5786, 5790, 5818, 5854, 5857, 5903, 5939, 5979,
535 5983, 5995, 5998, 6004, 6007, 6020, 6021, 6024, 6040, 6042
536
537 * New locales: bo_CN, bo_IN, shs_CA.
538
539 * New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8.
540
541 * Sorting rules for some Indian languages (Devanagari and Gujarati).
542 Implemented by Pravin Satpute.
543
544 * IPV6 addresses in /etc/resolv.conf can now have a scope ID
545
546 * nscd caches now all timeouts for DNS entries
547 Implemented by Ulrich Drepper.
548
549 * nscd is more efficient and wakes up less often.
550 Implemented by Ulrich Drepper.
551
552 * More checking functions: asprintf, dprintf, obstack_printf, vasprintf,
553 vdprintf, and obstack_vprintf.
554 Implemented by Jakub Jelinek.
555
556 * Faster memset for x86-64.
557 Implemented by Harsha Jagasia and H.J. Lu.
558
559 * Faster memcpy on x86.
560 Implemented by Ulrich Drepper.
561
562 * ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX).
563 Implemented by Ulrich Drepper.
564
565 * Faster sqrt and sqrtf implemention for some PPC variants.
566 Implemented by Steven Munroe.
567 \f
568 Version 2.7
569
570 * The following bugs are resolved with this release:
571
572 4125, 4126, 4178, 4359, 4407, 4512, 4514, 4525, 4554, 4556, 4557, 4566,
573 4582, 4586, 4588, 4599, 4610, 4647, 4702, 4705, 4726, 4745, 4772, 4773,
574 4775, 4776, 4792, 4813, 4814, 4816, 4833, 4858, 4860, 4896, 4905, 4925,
575 4936, 4937, 4938, 4941, 4946, 4963, 4972, 5010, 5028, 5043, 5058, 5063,
576 5071, 5103, 5104, 5112, 5113, 5184, 5186
577
578 * More checking functions: fread, fread_unlocked, open*, mq_open.
579 Implemented by Jakub Jelinek and Ulrich Drepper.
580
581 * Extend fortification to C++. Implemented by Jakub Jelinek.
582
583 * Implement 'm' modifier for scanf. Add stricter C99/SUS compliance
584 by not recognizing 'a' as a modifier when those specs are requested.
585 Implemented by Jakub Jelinek.
586
587 * PPC optimizations to math and string functions.
588 Implemented by Steven Munroe.
589
590 * New interfaces: mkostemp, mkostemp64. Like mkstemp* but allow additional
591 options to be passed. Implemented by Ulrich Drepper.
592
593 * More CPU set manipulation functions. Implemented by Ulrich Drepper.
594
595 * New Linux interfaces: signalfd, eventfd, eventfd_read, and eventfd_write.
596 Implemented by Ulrich Drepper.
597
598 * Handle private futexes in the NPTL implementation.
599 Implemented by Jakub Jelinek and Ulrich Drepper.
600
601 * Add support for O_CLOEXEC. Implement in Hurd. Use throughout libc.
602 Implemented by Roland McGrath and Ulrich Drepper.
603
604 * Linux/x86-64 vDSO support. Implemented by Ulrich Drepper.
605
606 * SHA-256 and SHA-512 based password encryption.
607 Implemented by Ulrich Drepper.
608
609 * New locales: ber_DZ, ber_MA, en_NG, fil_PH, fur_IT, fy_DE, ha_NG, ig_NG,
610 ik_CA, iu_CA, li_BE, li_NL, nds_DE, nds_NL, pap_AN, sc_IT, tk_TM, ug_CN,
611 yo_NG.
612
613 + New iconv modules: MAC-CENTRALEUROPE, ISO-8859-9E, KOI8-RU.
614 Implemented by Ulrich Drepper.
615 \f
616 Version 2.6
617
618 * The following bugs are resolved with this release:
619
620 3156, 3213, 3285, 3291, 3306, 3313, 3320, 3322, 3325, 3326, 3334, 3348,
621 3352, 3363, 3369, 3426, 3427, 3429, 3451, 3458, 3465, 3480, 3483, 3493,
622 3514, 3515, 3559, 3632, 3664, 3673, 3674, 3745, 3747, 3818, 3840, 3842,
623 3851, 3855, 3884, 3885, 3902, 3905, 3919, 3944, 3954, 3955, 3957, 3991,
624 3995, 3996, 4024, 4040, 4069, 4070, 4074, 4076, 4096, 4101, 4102, 4114,
625 4130, 4131, 4181, 4276, 4306, 4342, 4344, 4349, 4364, 4368, 4381, 4392,
626 4403, 4405, 4406, 4411, 4438, 4439, 4455, 4456, 4465, 4512, 4514, 4586,
627 4702, 4858
628
629 * New Linux interfaces: epoll_pwait, sched_getcpu.
630
631 * New generic interfaces: strerror_l.
632
633 * nscd can now cache the services database. Implemented by Ulrich Drepper.
634 \f
635 Version 2.5
636
637 * The following bugs are resolved with this release:
638
639 39, 68, 192, 352, 388, 531, 935, 1006, 1201, 1203, 1386, 1782, 1783, 1784,
640 1785, 1786, 1787, 1951, 1974, 1996, 2072, 2098, 2125, 2134, 2158, 2182,
641 2349, 2376, 2386, 2389, 2415, 2418, 2420, 2423, 2450, 2451, 2466, 2472,
642 2473, 2477, 2498, 2499, 2501, 2502, 2505, 2507, 2508, 2509, 2517, 2526,
643 2569, 2571, 2592, 2611, 2625, 2632, 2644, 2662, 2680, 2683, 2684, 2693,
644 2695, 2703, 2734, 2751, 2764, 2766, 2775, 2792, 2821, 2823, 2832, 2841,
645 2843, 2883, 2892, 2908, 2914, 2926, 2961, 2978, 2980, 2987, 2997, 2998,
646 3013, 3018, 3034, 3040, 3044, 3123, 3124, 3137, 3138, 3143, 3155, 3189,
647 3225, 3251, 3252, 3253, 3273
648
649 * For Linux, the sorting of addresses returned by getaddrinfo now also
650 handles rules 3, 4, and 7 from RFC 3484. I.e., all rules are handled.
651 Implemented by Ulrich Drepper.
652
653 * Allow system admin to configure getaddrinfo with the /etc/gai.conf file.
654 Implemented by Ulrich Drepper.
655
656 * New Linux interfaces: splice, tee, sync_file_range, vmsplice.
657
658 * New iconv module for MIK. Contributed by Alexander Shopov.
659
660 * For sites with broken group and/or passwd database, the auto-propagate
661 option of nscd can prevent creating ID lookup entries from the results
662 of a name lookup and vice versa. This usually is no problem but some
663 site might have problems with the default behavior.
664 Implemented by Ulrich Drepper.
665
666 * Iterating over entire database in NIS can be slow. With the
667 SETENT_BATCH_READ option in /etc/default/nss a system admin can decide
668 to trade time for memory. The entire database will be read at once.
669 Implemented by Ulrich Drepper.
670
671 * The interfaces introduced in RFC 3542 have been implemented by
672 Ulrich Drepper.
673
674 * Support for the new ELF hash table format was added by Ulrich Drepper.
675
676 * Support for priority inheritance mutexes added by Jakub Jelinek and
677 Ulrich Drepper.
678
679 * Support for priority protected mutexes added by Jakub Jelinek.
680
681 * New locales: nr_ZA, pa_PK, ca_AD, ca_FR, ca_IT, el_CY, tr_CY, as_IN,
682 or_IN, csb_PL, fy_NL, sr_ME.
683 \f
684 Version 2.4
685
686 * More overflow detection functions.
687
688 * New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153,
689 IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba.
690
691 More converters for IBM803, IBM901, IBM902, IBM921, IBM1008, IBM1097,
692 IBM1112, IBM1123, IBM1130, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144,
693 IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1166, IBM1167, IBM4517,
694 IBM4899, IBM4909, IBM4971, IBM5347, IBM9030, IBM9066, IBM9448, IBM12712,
695 IBM16804, IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399 contributed
696 by Masahide Washizawa.
697
698 * It is now possible to install audit libraries for the dynamic linker using
699 LD_AUDIT. Implemented by Ulrich Drepper.
700
701 * The LinuxThreads add-on, providing pthreads on Linux 2.4 kernels, is no
702 longer supported. The new NPTL implementation requires Linux 2.6 kernels.
703 For a libc and libpthread that works well on Linux 2.4 kernels, we
704 recommend using the stable 2.3 branch.
705
706 * The new function open_wmemstream acts like open_memstream,
707 but uses a wchar_t wide character buffer.
708
709 * The new function ppoll is an improved version of poll, similar to pselect.
710
711 * New interfaces: fdopendir, openat, fstatat, fchmodat, fchownat,
712 futimesat, faccessat, mkdirat, mkfifoat, mknodat,
713 renameat, unlinkat, linkat, symlinkat, readlinkat.
714
715 * New Linux kernel system calls: unshare,
716 inotify_init, inotify_add_watch, inotify_rm_watch.
717
718 * The euidaccess function is now also known by the alias eaccess,
719 for compatibility with some other systems.
720
721 * Timezone data updated to 2006b version.
722 \f
723 Version 2.3.6
724
725 * The following bugs are resolved with this release:
726
727 38, 253, 549, 622, 653, 721, 758, 851, 877, 915, 934, 955, 961,
728 1016, 1037, 1076, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
729 1087, 1088, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
730 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
731 1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252,
732 1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534
733
734 Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
735
736 * As of this release, GCC 4 can be used to compile the C Library.
737
738 * Timezone data updated to 2005m version.
739 \f
740 Version 2.3.5
741
742 * The following bugs are resolved with this release:
743
744 284, 592, 602, 626, 633, 640, 650, 661, 671, 681, 693, 700, 710, 719,
745 722, 723, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
746 737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776,
747 777, 787, 821, 822, 823, 825
748
749 Visit <http://sources.redhat.com/bugzilla/> for the details of each bug.
750 \f
751 Version 2.3.4
752
753 * Support for RFC 3678. Real implementations exist only for Linux so far.
754 Implemented by Ulrich Drepper.
755
756 * nscd can now cache entries persistently. Expiring entries are reloaded.
757 For speedups the cache can be shared in memory with client processes.
758 Implemented by Ulrich Drepper.
759
760 * nscd can now perform SELinux checks.
761 Implemented by Matthew Rickard <mjricka@epoch.ncsc.mil>.
762
763 * getaddrinfo queries are now cached. Canonical name lookup is performed
764 efficiently.
765 Implemented by Ulrich Drepper.
766
767 * The nothrow function attribute is used when headers are used by gcc when
768 compiling C code. This can avoid significant amounts of exception
769 handling data.
770
771 * The malloc functions perform more error checking and are stricter when
772 it comes to reacting on errors. The default action is to terminate
773 the process after showing an error message. Implemented by Ulrich Drepper.
774
775 * Reverse lookups of IPv6 addresses does not use bit string or .ip6.int
776 lookups anymore unless explicitly requested. Implemented by Ulrich Drepper.
777
778 * Namespaces in ld.so are implemented. DSOs can be loaded in separate
779 namespaces using the new function dlmopen(). This feature is of course,
780 like most other dynamic loading functionality, not available in statically
781 linked applications. Implemented by Ulrich Drepper.
782
783 * Low-overhead boundary checking variants of string and some stdio functions
784 were added. These are to be used in conjunction with a gcc patch by
785 Jakub Jelinek which adds calls to these functions if possible.
786 Implemented by Jakub Jelinek and Ulrich Drepper.
787
788 * Old code for several operating systems and machine architectures that
789 have not been in working condition in a long time have been removed from
790 the main source tree maintained by the GNU C Library's maintainers.
791 These files are now reside in the separate `ports' source module
792 that is usable as an add-on when building the library.
793 \f
794 Version 2.3.3
795
796 * New functions `dladdr1' and `dlinfo' in <dlfcn.h> provide more ways to
797 interrogate the dynamic linker, compatible with the Solaris interface.
798
799 * ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64;
800 implemented by Paul Mackerras, Steven Munroe, and Roland McGrath.
801
802 * getifaddrs now uses the netlink interface on Linux to get its information.
803 Implemented by Thorsten Kukuk.
804
805 * getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF.
806 Implemented by Ulrich Drepper.
807
808 * support for non-executable stacks on x86 has been added. Changes mostly
809 by Roland McGrath.
810
811 * regex is now much faster for multibyte locales. Changes by Jakub Jelinek
812 and Ulrich Drepper.
813
814 * getaddrinfo now performs destination address selection according to
815 RFC 3484.
816 \f
817 Version 2.3.2
818
819 * Thread-safe interfaces for many functions that access locale data
820 were added in version 2.3, but these features were omitted from NEWS.
821 Many functions have variants with an `_l' suffix that take a `locale_t'
822 object as a parameter rather than consulting the current locale.
823 The new functions `newlocale', `duplocale', and `freelocale' in <locale.h>
824 create and maintain `locale_t' objects. Additionally, the new function
825 `uselocale' sets "the current locale" (as used by functions not so
826 parameterized) set for an individual thread. These features were added
827 in version 2.3, implemented by Ulrich Drepper and Roland McGrath.
828
829 * The functions getresuid, getresgid, setresuid, and setresgid, which
830 have long been available on Linux, are now declared in <unistd.h>
831 and are now also available on the Hurd.
832
833 * ELF thread-local storage support (TLS) now works on x86-64.
834
835 * The new dynamic string token $LIB is expanded in shared library names.
836 This normally expands to lib, but on some 64-bit platforms to lib64 instead.
837
838 * Aldy Hernandez contributed complete software floating point support for
839 PowerPC machines with no FPU.
840
841 * fexecve is implemented on Linux.
842
843 * The `btowc' function should work at least twice as fast due to
844 specialized callbacks in the iconv modules. Implemented by Bruno Haible.
845
846 * With approriate thread add-ons cancelable functions are now implemented
847 in libc.so as well. No need to call the function in libpthread. This
848 change allowed to finally disable the incorrect and expensive handling
849 of weak definition in ld.so.
850
851 * Yet more PLT entries in libc.so have been removed. We finally arrived
852 at the bare minimum. Startup times improved appropriately.
853
854 * Support for the new Linux/x86 system call interface was added. The
855 AT_SYSINFO auxiliary vector entry is recognized and handled.
856 \f
857 Version 2.3
858
859 * Masahide Washizawa contributed iconv modules for IBM1163 and IBM1164
860 charsets.
861
862 * iconv (the program and the interface) now accepts empty names (excluding
863 options like //TRANSLIT) to mean "use charset of current locale".
864
865 * localedef can now transliterate characters in strings which are not in
866 the provided charmap. The information from the input locale is used.
867
868 * Prelinking support was added for ELF targets. This requires additional
869 tools and recent versions of the GNU binutils. Contributed by Jakub Jelinek.
870
871 * Read-only stdio streams now use mmap to speed up operation by eliminating
872 copying and buffer underflows. To use add 'm' to the mode string of
873 the fopen/fdopen/freopen call. Implemented by Ulrich Drepper.
874
875 * The malloc functions were completely rewritten by Wolfram Gloger based
876 on Doug Lea's malloc-2.7.0.c.
877
878 * Isamu Hasegawa contributed a completely new and POSIX-conformant
879 implementation of regex.
880
881 * Bruno Haible upgraded the iconv and locale implementation to support
882 Unicode 3.2.
883
884 * Contents of the LC_* and LANG environment variables in the CEN style are
885 not recognized anymore. It never was used. Change by Ulrich Drepper.
886
887 * The runtime (ld.so, libc, libpthread for Linux) now can handle the ELF
888 thread-local storage (TLS) ABI on some platforms.
889 Changes by Ulrich Drepper. SH support by Kaz Kojima.
890
891 * Bruno Haible contributed iconv converters for ISO-2022-JP-3, SHIFT JIS-X0213,
892 EUC-JISX0213, and TSCII.
893
894 * New header <ifaddrs.h> with functions `getifaddrs' and `freeifaddrs':
895 BSD-compatible interface for getting all network interface addresses.
896 Implementation for IPv4 by Roland McGrath.
897
898 * Loading of locale data is faster due to the introduction of a locale
899 archive. Implemented by Roland McGrath and Ulrich Drepper.
900
901 * Startup times are significantly reduced by not using exported functions
902 inside the library itself. Changes by Jakub Jelinek, Roland McGrath,
903 and Ulrich Drepper.
904
905 * Steven Munroe contributed a port to PowerPC64/Linux.
906 \f
907 Version 2.2.6
908
909 * The Hurd now uses the GNU libio implementation of stdio rather than the
910 old GNU stdio implementation, and uses a new ABI (libc.so.0.3).
911
912 * The Hurd on x86 now has the `ioperm' function and <sys/io.h> header file
913 with the same behavior as the Linux system call of the same name.
914 \f
915 Version 2.2.5
916
917 * Stephen Moshier implemented log2, log10, powl and cbrtl for the
918 128-bit long double format.
919
920 * Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160,
921 IBM1161, and IBM1162 charsets.
922
923 * Andreas Jaeger contributed a port to x86-64/Linux.
924
925 * Peter Bruin contributed a port to PowerPC/Hurd.
926
927 * libc functions using I/O streams now can handle wide-oriented streams
928 as well.
929
930 * optimizations in the dynamic linker. Binaries created by recent binutils
931 versions start up quicker due to reduced time spent on relocations.
932
933 * Support for use of gcc3 added by Jakub Jelinek and HJ Lu.
934 \f
935 Version 2.2.4
936
937 * Stephen Moshier implemented cosh, expm1, log1p, acos, sinh, tanh,
938 asinh, atanh, j0 for the 128-bit long double format.
939
940 * Bruno Haible updated all the code handling Unicode in some form to
941 support Unicode 3.1.
942
943 * Speed of regex for single-byte locales is back to previous levels.
944 Patch by Isamu Hasegawa.
945
946 * Alpha, SPARC, and IA-64 now also using floating stacks.
947
948 * Startup time of internationalized applications greatly improved through
949 iconv cache. Use iconvconfig to generate the cache file.
950 Contributed by Ulrich Drepper.
951
952 * The IA-64 specific part of ld.so was rewritten to eliminate some pretty
953 severe performance problems. Patch by David Mosberger.
954
955 * The Hurd port got a lot more functionality like AIO, various stdio
956 extensions, etc. Mainly done by Roland McGrath.
957
958 * mtrace can now lookup symbols in shared libraries.
959 \f
960 Version 2.2.3
961
962 * Intel's IA-64 math library is largely integrated. It provides fast and
963 accurate implementatations for most basic and standard math functions
964 in float, double, and long double format.
965
966 * Stephen Moshier implemented j0, j1, jn, y0, y1, yn, lgamma, erf, erfc,
967 and asin for the 96-bit long double format and asin, log, tan for the
968 128-bit long double format.
969
970 * The beginning of a last-bit accurate math library by IBM Haifa were added.
971 The basic double functions exist today. Contributed by Abraham Ziv
972 <ziv@il.ibm.com>, Moshe Olshansky <olshansk@il.ibm.com>, Ealan Henis
973 <ealan@il.ibm.com>, and Anna Reitman <reitman@il.ibm.com>.
974
975 * An asynchronous name lookup library was added. The interface is designed
976 after POSIX AIO. The proposal was circulated beforehand to get comments.
977 No negative ones came in. Implemented by Ulrich Drepper.
978
979 * Port to S390/64bit contributed by Martin Schwidefsky
980 <schwidefsky@de.ibm.com>.
981
982 * David Mosberger <davidm@hpl.hp.com> implemented the setcontext family
983 of functions for Linux/IA-64.
984
985 * The RPC code is now thread safe. Threads can now use the same service
986 of different services at the same time. Patch by Eric Norum
987 <eric.norum@usask.ca> with some help by Ulrich Drepper.
988
989 * Martin Schwidefsky <schwidefsky@de.ibm.com> implemented the setcontext
990 family of functions for Linux/S390.
991
992 * Ulrich Drepper <drepper@redhat.com> implemented the setcontext family
993 of functions for Linux/x86.
994
995 * Port to Linux/CRIS contributed by Axis Communications.
996 \f
997 Version 2.2.2
998
999 * Lots of headers were cleaned up. Using the tool in the conform/ subdir
1000 we can now check for namespace violations and missing declarations. The
1001 result is that almost all headers are now Unix-compliant (as defined in
1002 the upcoming XPG6). The negative side is that some programs might need
1003 corrections, too, if they depend on the incorrect form of the headers in
1004 previous versions which defined too many symbols and included too many
1005 other headers.
1006
1007 * regex now handles multibyte character sets correctly.
1008 Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
1009
1010 * iconv (the program) does now conform to the upcoming XPG6 and handles
1011 charmaps. Instead of the charset names the path of charmaps can be
1012 provided and the conversion happens based on this data.
1013 Contributed by Ulrich Drepper.
1014
1015 * The locale program now provides detailed information about the installed
1016 locales. While
1017
1018 locale -a
1019
1020 only lists the names of the supported locales
1021
1022 locale -a --verbose
1023
1024 provides details such as country, language, and codeset name.
1025 Contributed by Ulrich Drepper.
1026 \f
1027 Version 2.2.1
1028
1029 * The gencat program now parses the input file according to the charset
1030 selected by the LC_CTYPE category. This is important for stateful
1031 character sets. To make generating catalogs easier there is a way
1032 to overwrite the charset selected by the locale: before the first
1033 message or $ quote line the catalog can contain a line like
1034
1035 $ codeset=ISO-8859-2
1036
1037 to select the charset (ISO-8859-2 in this case).
1038
1039 Implemented by Shinya Hanataka and Ulrich Drepper.
1040
1041 * New codeset conversion modules: IBM-922 (Estonia PC codeset),
1042 IBM-1124 (Ukraine PC codeset), IBM-1129 (Vietnamese PC codeset).
1043 Contributed by Masahide Washizawa <washi@jp.ibm.com>.
1044
1045 * Optimized string functions for Alpha ev6 and ev67 by Richard Henderson
1046 <rth@redhat.com> and Rick Gorton <rick.gorton@alpha-processor.com>.
1047
1048 * The LANGUAGE environment variable is now ignored unless the locale is
1049 changed from the default "C" locale.
1050
1051 * The usual bug fixes.
1052 \f
1053 Version 2.2
1054
1055 * Greg McGary added runtime support for bounds checking using gcc's
1056 new -fbounded-pointers option. ix86 target is complete. PowerPC
1057 is in progress.
1058
1059 * Thorsten Kukuk added secure mode support to nscd.
1060
1061 * The Berkeley db libraries have been removed.
1062
1063 Related, the nss_db module is now in a separate package since it
1064 obviously requires a database library being available.
1065
1066 * Wide character I/O streams implemented by Ulrich Drepper.
1067
1068 * Functions from the extended socket API added by Ulrich Drepper.
1069
1070 * Functions feenableexcept and fedisableexcept to control the
1071 behaviour of individual exceptions have been added by Andreas Jaeger.
1072
1073 * ldconfig program added by Andreas Jaeger and Jakub Jelinek.
1074
1075 * The resolver code has been updated from bind 8.2.3-T5B which supports
1076 threads. The integration was done by Andreas Jaeger, Adam D. Bradley,
1077 and Mark Kettenis.
1078
1079 This change could in some situations effect backward compatibility. Since
1080 now `_res' is a thread-local instead of a global variable, modifying it
1081 in one thread does not have any effect in other threads.
1082
1083 The resolver library was also extended to allow IPv6 as the transport
1084 protocol for the requests. This work was done by Stig Venaas.
1085
1086 * Compatibility code for K&R C compilers has been removed from the
1087 header files. A ISO C compiler is needed to use the library
1088 (conforming to either C89 or C99 standard).
1089
1090 * Complete rewrite of the localedef program to support multibyte character
1091 sets. Implement handling of ISO 14651 and ISO 14652. Rewrite strcoll,
1092 strxfrm, wcscoll, and wcsxfrm functions. Make isw*() functions work.
1093 Implemented by Ulrich Drepper.
1094
1095 Bruno Haible significantly improved the generation and use of the data
1096 structures for the wide character tables.
1097
1098 * Plural handling in gettext implemented by Ulrich Drepper.
1099
1100 * The utmp daemon has been removed.
1101
1102 * The port to MIPS-Linux has been finished by Andreas Jaeger.
1103
1104 * A port to Hitachi SH3 and SH4 has been contributed by Kazumoto Kojima
1105 and Yutaka Niibe.
1106
1107 * POSIX clocks and timers implemented by Kaz Kylheku and Ulrich Drepper.
1108
1109 * POSIX barriers implemented by Kaz Kylheku.
1110
1111 * POSIX spawn function family implemented by Ulrich Drepper.
1112
1113 * POSIX spinlocks are now available.
1114
1115 * Timed wait functions for mutex, rwlock, and semaphores are implemented.
1116
1117 * the configure option --enable-kernel=X.Y.Z allows to strip out
1118 compatibility for kernel versions before X.Y.Z. This is currently only
1119 implemented for Linux.
1120
1121 * the sockaddr_in6 structure changed. The IPv6 working group added a new
1122 field sin6_scope_id. This means that all programs using IPv6 should be
1123 recompiled. Don't expect binary compatibility with previous glibc
1124 versions.
1125
1126 * various conversion modules for IBM character sets contributed by
1127 Masahide Washizawa.
1128
1129 * IA-64 port by Jes Sorensen and HJ Lu.
1130 \f
1131 Version 2.1.3
1132
1133 * bug fixes
1134
1135 \f
1136 Version 2.1.2
1137
1138 * bug fixes
1139
1140 \f
1141 Version 2.1.1
1142
1143 * New ISO C 9x function _Exit, imaxabs, and imaxdiv are added.
1144
1145 * New xdr functions are added; some rpc functions are now 64bit clean.
1146
1147 * Fixed a number of bugs and memory leaks (especially in NIS+ code).
1148
1149 * Fixed known incompatibilities with glibc 2.0.
1150
1151 * New functions lock64, strchrnul, rawmemchr, getutmp and getutmpx.
1152
1153 * Optimized a number of functions (especially the ELF dynamic loader).
1154
1155 * Update timezone data files.
1156
1157 * lots of charmaps corrections
1158
1159 * some new locale definitions and charmaps
1160
1161 \f
1162 Version 2.1
1163
1164 * Richard Henderson corrected size of struct timeval on Linux/Alpha to
1165 conform to POSIX member type requirements. Symbol versions have been
1166 adjusted as needed within the library, and for direct use by applications,
1167 but there is potential for problems if third-party libraries use
1168 struct timeval as part of their interface. This does not present
1169 a problem for X and other "essential" system libraries.
1170
1171 * An additional locale model to support C++ Standard Library locale
1172 model and probably more was implemented by Ulrich Drepper.
1173
1174 * Eric Youngdale and Ulrich Drepper implemented versioning of objects on
1175 symbol level.
1176
1177 * Miles Bader provided the `argp' function family to support hierachical
1178 command line argument parsing, layered on top of getopt.
1179
1180 * strtod accepts new hexadecimal floating-point format from ISO C 9X.
1181
1182 * printf has two new specifiers %a and %A to print hexadecimal flaoting-point
1183 numbers.
1184
1185 * scanf recognizes the %a and %A format for scanning floating point numbers.
1186
1187 * the new headers <stdint.h> and <inttypes.h> from ISO C 9X provides
1188 information and interfaces for the available integer types.
1189
1190 * about 130 new math functions were added to implement the ISO C9x math
1191 library.
1192
1193 * the new header <complex.h> contains definitions of the complex math
1194 functions from ISO C 9X.
1195
1196 * the new header <tgmath.h> defines generic macros to use complex or
1197 real valued functions.
1198
1199 * Thorsten Kukuk provided an implementation for NIS+, securelevel 0, 1 and 2.
1200
1201 * Andreas Jaeger provided a test suite for the math library.
1202
1203 * Mark Kettenis implemented the utmpx interface and an utmp daemon.
1204
1205 * Ulrich Drepper added character set conversion functions (iconv).
1206
1207 * Optimized string functions have been added.
1208
1209 * The localedata addon is now part of glibc.
1210
1211 * An implementation of profiling shared libraries was added by Ulrich Drepper.
1212
1213 * Thorsten Kukuk and Ulrich Drepper provided an implementation for a caching
1214 daemon for NSS (nscd).
1215
1216 Missing a better place here are some numbers on improvements. Under
1217 Linux 2.1.125 un-tar-ing the kernel sources takes
1218
1219 user system wall
1220
1221 using local files 12.19s 6.88s 22.91s
1222
1223 using NIS 13.92s 8.91s 26.34s
1224
1225 using NIS & nscd 10.37s 7.34s 25.30s
1226
1227 using NIS+ 27.57s 30.37s 640.46s
1228
1229 using NIS+ & nscd 10.25s 7.83s 26.51s
1230
1231 using NIS & old nscd [1] 13.83s 8.32s 29.60s
1232
1233 Keep in mind that non-namelookup related operations dominate above times.
1234 It was just a common complain that using NIS+ unpacking the kernel is
1235 horribly slow.
1236
1237 [1] The old nscd implementation is not available anymore since it was
1238 distributed with glibc up to version 2.0.98 and thus is now replaced.
1239
1240 * Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
1241
1242 * Mark Kettenis provided a Hesiod NSS module.
1243
1244 * The ELF dynamic loader knows how to process dynamic string tokens ($ORIGIN
1245 and $PLATFORM) in RPATHs and similar strings (Ulrich Drepper).
1246
1247 * rcmd can now handle netgroups (Dick Streefland).
1248
1249 * A port to the ARM was contributed by Phil Blundell, Pat Beirne and Scott
1250 Bambrough.
1251
1252 * Support for the IPv6 protocol has been added to the socket API, as per the
1253 latest draft standards.
1254
1255 * Support for Linux 2.2 has been added.
1256
1257 * Interface changes relative to the latest 2.0.x release:
1258 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1259 addseverity NEW: Unix98
1260 alphasort64 NEW: LFS
1261 argp_err_exit_status NEW: argp, GNU ext
1262 argp_error NEW: argp, GNU ext
1263 argp_failure NEW: argp, GNU ext
1264 argp_help NEW: argp, GNU ext
1265 argp_parse NEW: argp, GNU ext
1266 argp_program_bug_address NEW: argp, GNU ext
1267 argp_program_version NEW: argp, GNU ext
1268 argp_program_version_hook NEW: argp, GNU ext
1269 argp_state_help NEW: argp, GNU ext
1270 argp_usage NEW: argp, GNU ext
1271 authdes_create NEW: Secure RPC
1272 authdes_getucred NEW: Secure RPC
1273 authdes_pk_create NEW: Secure RPC
1274 backtrace NEW: GNU ext.
1275 backtrace_symbols NEW: GNU ext.
1276 backtrace_symbols_fd NEW: GNU ext.
1277 cacos NEW: ISO C 9x
1278 cacosf NEW: ISO C 9x
1279 cacosh NEW: ISO C 9x
1280 cacoshf NEW: ISO C 9x
1281 cacoshl NEW: ISO C 9x
1282 cacosl NEW: ISO C 9x
1283 capget NEW: kernel
1284 capset NEW: kernel
1285 carg NEW: ISO C 9x
1286 cargf NEW: ISO C 9x
1287 cargl NEW: ISO C 9x
1288 casin NEW: ISO C 9x
1289 casinf NEW: ISO C 9x
1290 casinh NEW: ISO C 9x
1291 casinhf NEW: ISO C 9x
1292 casinhl NEW: ISO C 9x
1293 casinl NEW: ISO C 9x
1294 catan NEW: ISO C 9x
1295 catanf NEW: ISO C 9x
1296 catanh NEW: ISO C 9x
1297 catanhf NEW: ISO C 9x
1298 catanhl NEW: ISO C 9x
1299 catanl NEW: ISO C 9x
1300 cbc_crypt NEW: Secure RPC
1301 ccos NEW: ISO C 9x
1302 ccosf NEW: ISO C 9x
1303 ccosh NEW: ISO C 9x
1304 ccoshf NEW: ISO C 9x
1305 ccoshl NEW: ISO C 9x
1306 ccosl NEW: ISO C 9x
1307 cexp NEW: ISO C 9x
1308 cexpf NEW: ISO C 9x
1309 cexpl NEW: ISO C 9x
1310 cimag NEW: ISO C 9x
1311 cimagf NEW: ISO C 9x
1312 cimagl NEW: ISO C 9x
1313 clearerr_locked REMOVED
1314 clntunix_create NEW: sunrpc ext
1315 clog NEW: ISO C 9x
1316 clog10 NEW: ISO C 9x
1317 clog10f NEW: ISO C 9x
1318 clog10l NEW: ISO C 9x
1319 clogf NEW: ISO C 9x
1320 clogl NEW: ISO C 9x
1321 conj NEW: ISO C 9x
1322 conjf NEW: ISO C 9x
1323 conjl NEW: ISO C 9x
1324 cpow NEW: ISO C 9x
1325 cpowf NEW: ISO C 9x
1326 cpowl NEW: ISO C 9x
1327 cproj NEW: ISO C 9x
1328 cprojf NEW: ISO C 9x
1329 cprojl NEW: ISO C 9x
1330 creal NEW: ISO C 9x
1331 crealf NEW: ISO C 9x
1332 creall NEW: ISO C 9x
1333 creat64 NEW: LFS
1334 csin NEW: ISO C 9x
1335 csinf NEW: ISO C 9x
1336 csinh NEW: ISO C 9x
1337 csinhf NEW: ISO C 9x
1338 csinhl NEW: ISO C 9x
1339 csinl NEW: ISO C 9x
1340 csqrt NEW: ISO C 9x
1341 csqrtf NEW: ISO C 9x
1342 csqrtl NEW: ISO C 9x
1343 ctan NEW: ISO C 9x
1344 ctanf NEW: ISO C 9x
1345 ctanh NEW: ISO C 9x
1346 ctanhf NEW: ISO C 9x
1347 ctanhl NEW: ISO C 9x
1348 ctanl NEW: ISO C 9x
1349 des_setparity NEW: Secure RPC
1350 ecb_crypt NEW: Secure RPC
1351 endutxent NEW: Unix98
1352 exp10 NEW: ISO C 9x
1353 exp10f NEW: ISO C 9x
1354 exp10l NEW: ISO C 9x
1355 exp2 NEW: ISO C 9x
1356 exp2f NEW: ISO C 9x
1357 exp2l NEW: ISO C 9x
1358 fattach NEW: STREAMS
1359 fdetach NEW: STREAMS
1360 fdim NEW: ISO C 9x
1361 fdimf NEW: ISO C 9x
1362 fdiml NEW: ISO C 9x
1363 feclearexcept NEW: ISO C 9x
1364 fegetenv NEW: ISO C 9x
1365 fegetexceptflag NEW: ISO C 9x
1366 fegetround NEW: ISO C 9x
1367 feholdexcept NEW: ISO C 9x
1368 feof_locked REMOVED
1369 feraiseexcept NEW: ISO C 9x
1370 ferror_locked REMOVED
1371 fesetenv NEW: ISO C 9x
1372 fesetexceptflag NEW: ISO C 9x
1373 fesetround NEW: ISO C 9x
1374 fetestexcept NEW: ISO C 9x
1375 feupdateenv NEW: ISO C 9x
1376 fflush_locked REMOVED
1377 ffsl NEW: GNU ext.
1378 ffsll NEW: GNU ext.
1379 fgetpos64 NEW: LFS
1380 fgets_unlocked NEW: GNU ext.
1381 fileno_locked REMOVED
1382 fma NEW: ISO C 9x
1383 fmaf NEW: ISO C 9x
1384 fmal NEW: ISO C 9x
1385 fmax NEW: ISO C 9x
1386 fmaxf NEW: ISO C 9x
1387 fmaxl NEW: ISO C 9x
1388 fmin NEW: ISO C 9x
1389 fminf NEW: ISO C 9x
1390 fminl NEW: ISO C 9x
1391 fmtmsg NEW: Unix98
1392 fopen64 NEW: LFS
1393 fputc_locked REMOVED
1394 fputs_unlocked NEW: GNU ext.
1395 fread_unlocked NEW: GNU ext.
1396 freopen64 NEW: LFS
1397 fseeko NEW: Unix98
1398 fsetpos64 NEW: LFS
1399 fstatfs64 NEW: LFS
1400 fstatvfs NEW: Unix98
1401 fstatvfs64 NEW: LFS
1402 ftello NEW: Unix98
1403 ftello64 NEW: LFS
1404 ftruncate64 NEW: LFS
1405 ftw64 NEW: LFS
1406 fwrite_unlocked NEW: GNU ext.
1407 gai_strerror NEW: IPv6
1408 gamma_r REMOVED
1409 gammaf_r REMOVED
1410 gammal_r REMOVED
1411 getchar_locked REMOVED
1412 getdate NEW: Unix98
1413 getdate_err NEW: Unix98
1414 getdate_r NEW: GNU ext.
1415 getmsg NEW: STREAMS
1416 getnameinfo NEW: IPv6
1417 getnetname NEW: Secure RPC
1418 getpmsg NEW: STREAMS
1419 getpt NEW: Unix98 PTY
1420 getrlimit64 NEW: LFS
1421 getutxent NEW: Unix98
1422 getutxid NEW: Unix98
1423 getutxline NEW: Unix98
1424 glob64 NEW: GNU ext.
1425 globfree64 NEW: GNU ext.
1426 gnu_get_libc_release NEW: GNU ext.
1427 gnu_get_libc_version NEW: GNU ext.
1428 grantpt NEW: Unix98 PTY
1429 host2netname NEW: Secure RPC
1430 iconv NEW: iconv
1431 iconv_close NEW: iconv
1432 iconv_open NEW: iconv
1433 if_freenameindex NEW: IPv6
1434 if_indextoname NEW: IPv6
1435 if_nameindex NEW: IPv6
1436 if_nametoindex NEW: IPv6
1437 in6addr_any NEW: IPv6
1438 in6addr_loopback NEW: IPv6
1439 inet6_isipv4mapped NEW: IPv6
1440 isastream NEW: STREAMS
1441 iswblank NEW: GNU ext.
1442 key_decryptsession NEW: Secure RPC
1443 key_decryptsession_pk NEW: Secure RPC
1444 key_encryptsession NEW: Secure RPC
1445 key_encryptsession_pk NEW: Secure RPC
1446 key_gendes NEW: Secure RPC
1447 key_get_conv NEW: Secure RPC
1448 key_secretkey_is_set NEW: Secure RPC
1449 key_setnet NEW: Secure RPC
1450 key_setsecret NEW: Secure RPC
1451 llrint NEW: ISO C 9x
1452 llrintf NEW: ISO C 9x
1453 llrintl NEW: ISO C 9x
1454 llround NEW: ISO C 9x
1455 llroundf NEW: ISO C 9x
1456 llroundl NEW: ISO C 9x
1457 log2 NEW: ISO C 9x
1458 log2f NEW: ISO C 9x
1459 log2l NEW: ISO C 9x
1460 lrint NEW: ISO C 9x
1461 lrintf NEW: ISO C 9x
1462 lrintl NEW: ISO C 9x
1463 lround NEW: ISO C 9x
1464 lroundf NEW: ISO C 9x
1465 lroundl NEW: ISO C 9x
1466 lseek64 NEW: LFS
1467 makecontext NEW: Unix98
1468 mempcpy NEW: GNU ext.
1469 mmap64 NEW: LFS
1470 moncontrol REMOVED
1471 modify_ldt NEW: kernel
1472 nan NEW: ISO C 9x
1473 nanf NEW: ISO C 9x
1474 nanl NEW: ISO C 9x
1475 nearbyint NEW: ISO C 9x
1476 nearbyintf NEW: ISO C 9x
1477 nearbyintl NEW: ISO C 9x
1478 netname2host NEW: Secure RPC
1479 netname2user NEW: Secure RPC
1480 nexttoward NEW: ISO C 9x
1481 nexttowardf NEW: ISO C 9x
1482 nexttowardl NEW: ISO C 9x
1483 nftw NEW: Unix98
1484 nftw64 NEW: LFS
1485 open64 NEW: LFS
1486 passwd2des NEW: Secure RPC
1487 pow10 NEW: GNU ext.
1488 pow10f NEW: GNU ext.
1489 pow10l NEW: GNU ext.
1490 pread NEW: Unix98
1491 pread64 NEW: LFS
1492 printf_size NEW: GNU ext.
1493 printf_size_info NEW: GNU ext.
1494 profil_counter REMOVED
1495 pthread_mutexattr_getkind_np REPLACED
1496 pthread_mutexattr_setkind_np REPLACED
1497 ptsname NEW: Unix98 PTY
1498 ptsname_r NEW: Unix98 PTY
1499 putc_locked REMOVED
1500 putchar_locked REMOVED
1501 putgrent NEW: GNU ext.
1502 putmsg NEW: STREAMS
1503 putpmsg NEW: STREAMS
1504 pututxline NEW: Unix98
1505 pwrite NEW: Unix98
1506 pwrite64 NEW: LFS
1507 readdir64 NEW: LFS
1508 readdir64_r NEW: LFS
1509 remquo NEW: ISO C 9x
1510 remquof NEW: ISO C 9x
1511 remquol NEW: ISO C 9x
1512 round NEW: ISO C 9x
1513 roundf NEW: ISO C 9x
1514 roundl NEW: ISO C 9x
1515 rtime NEW: GNU ext.
1516 scalbln NEW: ISO C 9x
1517 scalblnf NEW: ISO C 9x
1518 scalblnl NEW: ISO C 9x
1519 scandir64 NEW: LFS
1520 sendfile NEW: kernel
1521 setcontext NEW: Unix98
1522 setrlimit64 NEW: LFS
1523 setutxent NEW: Unix98
1524 sighold NEW: Unix98
1525 sigignore NEW: Unix98
1526 sigqueue NEW: POSIX.1b
1527 sigrelse NEW: Unix98
1528 sigset NEW: POSIX.1b
1529 sigtimedwait NEW: POSIX.1b
1530 sigwaitinfo NEW: POSIX.1b
1531 sincos NEW: GNU ext.
1532 sincosf NEW: GNU ext.
1533 sincosl NEW: GNU ext.
1534 statfs64 NEW: LFS
1535 statvfs NEW: Unix98
1536 statvfs64 NEW: LFS
1537 strcasestr NEW: GNU ext.
1538 strtoimax NEW: ISO C 9x
1539 strtoumax NEW: ISO C 9x
1540 strverscmp NEW: GNU ext.
1541 svcauthdes_stats NEW: Secure RPC
1542 svcunix_create NEW: sunrpc etx
1543 svcunixfd_create NEW: sunrpc ext
1544 swapcontext NEW: Unix98
1545 tcgetsid NEW: Unix98 PTY
1546 tdestroy NEW: GNU ext.
1547 tgamma NEW: ISO C 9x
1548 tgammaf NEW: ISO C 9x
1549 tgammal NEW: ISO C 9x
1550 tmpfile64 NEW: LFS
1551 trunc NEW: ISO C 9x
1552 truncate64 NEW: LFS
1553 truncf NEW: ISO C 9x
1554 truncl NEW: ISO C 9x
1555 umount2 NEW: kernel
1556 unlockpt NEW: Unix98 PTY
1557 updwtmpx NEW: Unix98
1558 user2netname NEW: Secure RPC
1559 utmpxname NEW: Unix98
1560 versionsort NEW: GNU ext.
1561 versionsort64 NEW: GNU ext.
1562 waitid NEW: Unix98
1563 wcscasecmp NEW: GNU ext.
1564 wcsncasecmp NEW: GNU ext.
1565 wcsnlen NEW: GNU ext.
1566 wcstoimax NEW: ISO C 9x
1567 wcstoll NEW: ISO C 9x
1568 wcstoull NEW: ISO C 9x
1569 wcstoumax NEW: ISO C 9x
1570 wcswcs NEW: Unix98
1571 wordexp NEW: POSIX.2
1572 wordfree NEW: POSIX.2
1573 write_profiling REMOVED
1574 xdecrypt NEW: Secure RPC
1575 xdr_authdes_cred NEW: Secure RPC
1576 xdr_authdes_verf NEW: Secure RPC
1577 xdr_cryptkeyarg NEW: Secure RPC
1578 xdr_cryptkeyarg2 NEW: Secure RPC
1579 xdr_cryptkeyres NEW: Secure RPC
1580 xdr_getcredres NEW: Secure RPC
1581 xdr_key_netstarg NEW: Secure RPC
1582 xdr_key_netstres NEW: Secure RPC
1583 xdr_keybuf NEW: Secure RPC
1584 xdr_keystatus NEW: Secure RPC
1585 xdr_netnamestr NEW: Secure RPC
1586 xdr_sizeof NEW: Secure RPC
1587 xdr_unixcred NEW: sunrpc ext
1588 xencrypt NEW: Secure RPC
1589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1590 \f
1591 Version 2.0.6
1592
1593 * more bug fixes
1594
1595 \f
1596 Version 2.0.5
1597
1598 * more bug fixes
1599
1600 * inet_ntoa is thread-safe
1601
1602 * updwtmp is moved from libutil to libc
1603
1604 * rewrite of cbrt function
1605
1606 * update of timezone data
1607 \f
1608 Version 2.0.4
1609
1610 * more bug fixes
1611 \f
1612 Version 2.0.3
1613
1614 * more bug fixes
1615 \f
1616 Version 2.0.2
1617
1618 * more bug fixes
1619
1620 * add atoll function
1621
1622 * fix complex problems in Berkeley DB code
1623
1624 * fix math functions
1625 \f
1626 Version 2.0.1
1627
1628 * fixed lots of header problems (especially Linux/GNU specific)
1629
1630 * dynamic loader preserves all registers
1631
1632 * Roland McGrath provided support for handling of auxiliary objects in
1633 the ELF dynamic loader.
1634
1635 * support for parallel builds is improved
1636 \f
1637 Version 2.0
1638
1639 * GNU extensions are no longer declared by default. To enable them you
1640 must define the macro `_GNU_SOURCE' in your program or compile with
1641 `-D_GNU_SOURCE'.
1642
1643 * The library has changed from using GNU ld symbol aliases to using weak
1644 symbols where available. The ELF object file format supports weak
1645 symbols; GNU ld also supports weak symbols in the a.out format. (There
1646 is also now support for other GNU ld extensions in ELF. Use the
1647 `--with-elf' option to configure to indicate you have ELF, and
1648 `--with-gnu-ld' if using GNU ld.) This change resulted in the deletion
1649 of many files which contained only symbol aliases, reducing the size of
1650 the source and the compiled library; many other files were renamed to
1651 less cryptic names previously occupied by the symbol alias files.
1652 There is a new header file <elf.h> for programs which operate on
1653 files in the ELF format.
1654
1655 * Converted to Autoconf version 2, so `configure' has more options.
1656 Run `configure --help' to see the details.
1657
1658 * The library can now be configured to build profiling, highly-optimized
1659 (but undebuggable), and/or shared libraries (ELF with GNU ld only). The
1660 `--enable-profile', `--enable-omitfp', and `--enable-shared' options to
1661 `configure' enable building these extra libraries. The shared library is
1662 built by default when using both ELF and GNU ld. When shared libraries
1663 are enabled, the new library `-ldl' is available for arbitrary run-time
1664 loading of shared objects; its interface is defined in <dlfcn.h>. The
1665 new header file <link.h> gives access to the internals of the run-time
1666 dynamic linker, `ld.so'. The shell script `ldd' is similar to the
1667 application of same name on other systems and it provides information
1668 about dynamically linked binaries.
1669
1670 * The C library now provides the run-time support code for profiling
1671 executables compiled with `-pg'. Programs can control the profiling code
1672 through the interface in <sys/gmon.h>. The `gmon.out' files written by
1673 the GNU C library can be read only by GNU `gprof' (from GNU binutils);
1674 the support for this file format was contributed by David Mosberger-Tang.
1675
1676 * The math code has been replaced with a math library based on fdlibm from
1677 Sun, and modified by JT Conklin and Ulrich Drepper with i387 support, by
1678 Ian Taylor with `float' functions and by Ulrich Drepper with `long double'
1679 functions. The math functions now reside in a separate library, so
1680 programs using them will need to use `-lm' their linking commands.
1681
1682 * John C. Bowman contributed optimized ix87 assembler inline functions.
1683
1684 * Ulrich Drepper has contributed support for an `/etc/nsswitch.conf'
1685 mechanism similar to that found in Solaris 2. This is now used for the
1686 group, passwd, hosts, networks, services, protocols, rpc, ethers,
1687 shadow, netgroup, publickey, and alias databases. The `nsswitch.conf'
1688 file controls what services are used for each individual database. This
1689 works by loading shared libraries with names specified in `nsswitch.conf',
1690 so service modules can be changed or added at any time without even
1691 relinking any program. Currently there are the file, db, and NIS based
1692 NSS services available.
1693
1694 * The new functions `strtoq' and `strtouq' parse integer values from
1695 strings, like `strtol' and `strtoul', but they return `long long int' and
1696 `unsigned long long int' values, respectively (64-bit quantities).
1697
1698 * The new functions `strtof' and `strtold' parse floating-point values from
1699 strings, like `strtod', but they return `float' and `long double' values,
1700 respectively (on some machines `double' and `long double' are the same).
1701
1702 * Ulrich Drepper has contributed new implementations of the floating-point
1703 printing and reading code used in the `printf' family of functions and
1704 `strtod', `strtof', and `strtold'. These new functions are perfectly
1705 accurate, and much faster than the old ones.
1706
1707 * The implementation of the POSIX locale model was completely rewritten by
1708 Ulrich Drepper. This includes the new programs `localedef' and `locale'
1709 to compile the POSIX locale definition.
1710
1711 * The former dummy implementations of the strcoll and strxfrm function are
1712 now replaced by fully functional code contributed by Ulrich Drepper. The
1713 collation information comes from the POSIX locale definitions.
1714
1715 * The new header <langinfo.h> defines an interface for accessing
1716 various locale-dependent data (using the locale chosen with `setlocale').
1717
1718 * Ulrich Drepper has contributed a new suite of functions for operation on
1719 wide-character and multibyte-character strings, in <wchar.h>;
1720 and classification and case conversion of wide characters, in <wctype.h>.
1721 These new functions are conforming to the ISO C, Amendement 1 specification.
1722
1723 * There is now a second implementation of the standard I/O library available.
1724 It comes from GNU libg++ as was written by Per Bothner, heavily modified
1725 by Hongjiu Lu and made thread safe by Ulrich Drepper.
1726
1727 * You can now use positional parameter specifications in format strings
1728 for the `printf' and `scanf' families of functions. For example,
1729 `printf ("Number %2$d, Mr %1$s\n", "Jones", 6);'' prints
1730 ``Number 6, Mr Jones''. This is mainly useful when providing different
1731 format strings for different languages, whose grammars may dictate
1732 different orderings of the values being printed. To support this
1733 feature, the interface for `register_printf_handler' has changed; see
1734 the header file <printf.h> for details.
1735
1736 * The `printf' and `scanf' families of functions now understand a new
1737 formatting flag for numeric conversions: the ' flag (e.g. %'d or %'f) says
1738 to group numbers as indicated by the locale; for `scanf' and friends, this
1739 says to accept as valid only a number with all the proper grouping
1740 separators in the right places. In the default "C" locale, numbers are
1741 not grouped; but locales for specific countries will define the usual
1742 conventions (i.e. separate thousands with `,' in the US locale).
1743
1744 * The pgrp functions have been regularized, slightly incompatibly but much
1745 less confusingly. The core functions are now `getpgid' and `setpgid',
1746 which take arguments for the PID to operate on; the POSIX.1 `getpgrp' (no
1747 argument) and BSD `setpgrp' (identical to `setpgid') functions are
1748 provided for compatibility. There is no longer an incompatible `getpgrp'
1749 with an argument declared under _BSD_SOURCE; no BSD code uses it.
1750
1751 * The new header file <fts.h> and suite of functions simplify programs that
1752 operate on directory trees. This code comes from 4.4 BSD.
1753
1754 * The resolver code has been updated from the BIND 4.9.5-P1 release.
1755 Parts of the code were heavily modified by Ulrich Drepper to fit in the
1756 NSS scheme used in glibc.
1757
1758 * There is a new malloc debugging hook `__memalign_hook'.
1759
1760 * There are new typedefs `ushort' for `unsigned short int' and `uint' for
1761 `unsigned int' in <sys/types.h>. These are for compatibility only and
1762 their use is discouraged.
1763
1764 * The `-lmcheck' library to enable standard malloc debugging hooks is now
1765 done differently, so that it works even without GNU ld.
1766
1767 * New function `euidaccess' checks allowed access to a file like `access',
1768 but using the effective IDs instead of the real IDs.
1769
1770 * The time zone data files have been updated for the latest and greatest
1771 local time conventions of the countries of the world.
1772
1773 * The new function `dirfd' extracts the file descriptor used by a DIR stream;
1774 see <dirent.h>.
1775
1776 * The new functions `ecvt', `fcvt', and `gcvt' provide an obsolete interface
1777 for formatting floating-point numbers. They are provided only for
1778 compatibility; new programs should use `sprintf' instead. There are
1779 also equivalent function for the `long double' floating-point type and
1780 all functions also exist in a reentrant form.
1781
1782 * The new auxiliary library `-lutil' from 4.4 BSD contains various
1783 functions for maintaining the login-record files (primarily of use to
1784 system programs such as `login'), and convenient functions for
1785 allocating and initializing a pseudo-terminal (pty) device.
1786
1787 * Ulrich Drepper has contributed new support for System V style
1788 shared memory and IPC on systems that support it.
1789
1790 * Ulrich Drepper has contributed several miscellaneous new functions found
1791 in System V: The `hsearch' family of functions provide an effective
1792 implementation of hash tables; `a64l' and `l64a' provide a very simple
1793 binary to ASCII mapping; `drand48' and friends provide a 48-bit random
1794 number generator.
1795
1796 * Ulrich Drepper has contributed new reentrant counterparts for the
1797 `random' and `hsearch' families of functions; `random_r', `hsearch_r', etc.
1798
1799 * Ulrich Drepper has contributed new, highly-optimized versions of several
1800 string functions for the i486/Pentium family of processors.
1801
1802 * Ulrich Drepper has updated the Linux-specific code, based largely
1803 on work done in Hongjiu Lu's version of GNU libc for Linux.
1804 The GNU library now supports Linux versions 2.0.10 and later,
1805 using the ELF object file format (i[3456]86-*-linux).
1806
1807 * Andreas Schwab has ported the C library to Linux/m68k (m68k-*-linux).
1808
1809 * David Mosberger-Tang and Richard Henderson have ported the C library
1810 to Linux/Alpha (alpha-*-linux). Richard Henderson contributed the
1811 dynamic linking support for ELF/Alpha.
1812
1813 * Richard Henderson contributed several Alpha optimized assembler function
1814 for arithmetic and string handling.
1815
1816 * Ulrich Drepper has contributed a new set of message catalog functions to
1817 support multiple languages using the <libintl.h> interface, for use with
1818 his new package GNU gettext. Translation volunteers have contributed
1819 catalogs of the library's messages in Spanish, German, and Korean.
1820
1821 * For compatibility with XPG4, Ulrich Drepper has contributed the `gencat'
1822 program and the `catgets' function for reading the catalog files it
1823 creates. (The <libintl.h> interface is preferred; we include the
1824 <nl_types.h> interface using `catgets' only for source compatibility with
1825 programs already written to use it.)
1826
1827 * New header file <values.h> gives SVID-compatible names for <limits.h>
1828 constants.
1829
1830 * Various new macros, declarations, and small header files for compatibility
1831 with 4.4 BSD.
1832
1833 * New function `group_member' is a convenient way to check if a process has
1834 a given effective group ID.
1835
1836 * When using GCC 2.7 and later, the socket functions are now declared in a
1837 special way so that passing an argument of type `struct sockaddr_in *',
1838 `struct sockaddr_ns *', or `struct sockaddr_un *' instead of the generic
1839 `struct sockaddr *' type, does not generate a type-clash warning.
1840
1841 * New function `error' declared in header file <error.h> is a convenient
1842 function for printing error messages and optionally exiting; this is the
1843 canonical function used in GNU programs. The new functions `err', `warn',
1844 and friends in header file <err.h> are the canonical 4.4 BSD interface for
1845 doing the same thing.
1846
1847 * The <glob.h> interface has several new flags from 4.4 BSD that extend the
1848 POSIX.2 `glob' function to do ~ and {...} expansion.
1849
1850 * New function `unsetenv' complements `setenv' for compatibility with 4.4 BSD.
1851 `clearenv' which is used in POSIX.9 is also available.
1852
1853 * New function `getsid' returns session ID number on systems that support it.
1854
1855 * We have incorporated the 4.4 BSD `db' library (version 1.85). New header
1856 files <db.h> and <mpool.h> provide a rich set of functions for several
1857 types of simple databases stored in memory and in files, and <ndbm.h> is
1858 an old `ndbm'-compatible interface using the `db' functions. Link with
1859 `-ldb' to get these functions.
1860
1861 * New macro `strdupa' copies a string like `strdup', but uses local stack
1862 space from `alloca' instead of dynamic heap space from `malloc'.
1863
1864 * New function `strnlen' is like `strlen' but searches only a given maximum
1865 number of characters for the null terminator. `stpncpy', `strndup' and
1866 `strndupa' are similar variants for the `stpcpy', `strdup' and `strdupa'
1867 function.
1868
1869 * New function `statfs' in header <sys/statfs.h>.
1870
1871 * The new <argz.h> and <envz.h> interfaces contributed by Miles Bader
1872 provide convenient functions for operating on blocks of null-terminated
1873 strings.
1874
1875 * A new suite of functions in <utmp.h> handle all the details of reading
1876 and writing the utmp file.
1877
1878 * An implementation of the NIS/YP(tm) based NSS service was contributed by
1879 Thorsten Kukuk.
1880
1881 * Paul Eggert and Ulrich Drepper modified the `strftime' function to be
1882 completely POSIX compliant and also implemented the extended functionality
1883 to handle alternate digit representation and alternate era date formats.
1884
1885 * Ulrich Drepper provided an implementation of the `strptime' function
1886 defined in XPG4.2 which transforms a string into a `struct tm' value.
1887
1888 * Paul Eggert provided the tzselect shell script as part of the timezone
1889 code. The shell script makes it easy to select the correct timezone
1890 specification.
1891
1892 * The implementation of the malloc family of functions is completely replaced
1893 by a new implementation by Doug Lea with many improvements by Wolfram Gloger.
1894 The implementation uses the mmap function (if available) and it is
1895 optimized for the use in multi threaded programs.
1896
1897 * Ulrich Drepper contributed a MD5 "encryption" for the crypt family of
1898 functions. This new functionality is usable by specifying a special
1899 salt string and it is compatible with implementation on *BSD systems.
1900
1901 * Lots of functions from the XPG4.2 standard were added by Ulrich Drepper:
1902 `getsubopt' to handle second level command line options, `bsd_signal'
1903 to access BSD style `signal' functionality, the obsolete `regexp' style
1904 expression matcher.
1905
1906 * the `lchown' function is available on system which support this
1907 functionality.
1908
1909 * The implementation of the shadow password handling function was contributed
1910 by Ulrich Drepper.
1911
1912 * David Mosberger-Tang changed the SunRPC implementation to be 64bit safe.
1913
1914 * POSIX.1g support was added. The <sys/select.h> header is available,
1915 `isfdtype' and `pselect' are implemented. Craig Metz contributed an
1916 implementation of `getaddrinfo'.
1917 \f
1918 Version 1.09
1919
1920 * For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'.
1921
1922 * New header file <fstab.h> and new functions `getfsspec', `getfsent' and
1923 friends, for parsing /etc/fstab. This code comes from 4.4 BSD.
1924
1925 * The new function `daemon' from 4.4 BSD is useful for server programs that
1926 want to put themselves in the background.
1927
1928 * Joel Sherrill has contributed support for several standalone boards that
1929 run without an operating system.
1930
1931 * `printf', `scanf' and friends now accept a `q' type modifier for long
1932 long int as well as `ll'. Formats using these might be `%qu' or `%lld'.
1933
1934 * All of the code taken from BSD (notably most of the math and networking
1935 routines) has been updated from the BSD 4.4-Lite release.
1936
1937 * The resolver code has been updated from the BIND-4.9.3-BETA9 release.
1938
1939 * The new functions `getdomainname' and `setdomainname' fetch or change the
1940 YP/NIS domain name. These are system calls which exist on systems which
1941 have YP (aka NIS).
1942
1943 * The time zone data files have been updated for the latest international
1944 conventions.
1945
1946 * The SunRPC programs `portmap' and `rpcinfo' are now installed in
1947 $(sbindir) (usually /usr/local/sbin) instead of $(bindir).
1948 \f
1949 Version 1.08
1950
1951 * The C library now includes support for Sun RPC, from Sun's free
1952 RPCSRC-4.0 distribution. The `portmap', `rpcinfo', and `rpcgen' programs
1953 are included. (There is still no support for YP.)
1954
1955 * Tom Quinn has contributed a port of the C library to SGI machines running
1956 Irix 4 (mips-sgi-irix4).
1957
1958 * The new `lockf' function is a simplified interface to the locking
1959 facilities of `fcntl', included for compatibility.
1960
1961 * New time functions `timegm', `timelocal', and `dysize' for compatibility.
1962
1963 * New header file <sys/timeb.h> and new function `ftime' for compatibility.
1964
1965 * New header files <poll.h> and <sys/poll.h> and new function `poll' for
1966 compatibility.
1967
1968 * The error message printed by `assert' for a failed assertion now includes
1969 the name of the program (if using GNU ld) and the name of the calling
1970 function (with versions of GCC that support this).
1971
1972 * The `psignal' function is now declared in <signal.h>, not <stdio.h>.
1973
1974 * The library now includes the <sys/mman.h> header file and memory
1975 management functions `mmap', `munmap', `mprotect', `msync', and
1976 `madvise', on systems that support those facilities.
1977
1978 * The interface for `mcheck' has changed slightly: the function called to
1979 abort the program when an allocation inconsistency is detected now takes
1980 an argument that indicates the type of failure. The new function
1981 `mprobe' lets you request a consistency check for a particular block at
1982 any time (checks are normally done only when you call `free' or `realloc'
1983 on a block).
1984
1985 * It is now possible to easily cross-compile the C library, building on one
1986 system a library to run on another machine and/or operating system. All
1987 you need to do is set the variable `HOST_CC' in `configparms' to the
1988 native compiler for programs to run on the machine you are building on (a
1989 few generator programs are used on Unix systems); set `CC' to the
1990 cross-compiler.
1991
1992 * The new function `fexecve' (only implemented on the GNU system) executes
1993 a program file given a file descriptor already open on the file.
1994 \f
1995 Version 1.07
1996
1997 * Brendan Kehoe has contributed most of a port to the DEC Alpha
1998 running OSF/1 (alpha-dec-osf1). He says it is 75% complete.
1999
2000 * You can set the variable `libprefix' in `configparms' to specify a prefix
2001 to be prepended to installed library files; this makes it easy to install
2002 the GNU C library to be linked as `-lgnuc' or whatever.
2003
2004 * The new `stpncpy' is a cross between `stpcpy' and `strncpy': It
2005 copies a limited number of characters from a string, and returns the
2006 address of the last character written.
2007
2008 * You no longer need to check for whether the installed `stddef.h' is
2009 compatible with the GNU C library. configure now checks for you.
2010
2011 * You can now define a per-stream `fileno' function to convert the
2012 stream's cookie into an integral file descriptor.
2013
2014 * ``malloc (0)'' no longer returns a null pointer. Instead, it
2015 allocates zero bytes of storage, and returns a unique pointer which
2016 you can pass to `realloc' or `free'. The behavior is undefined if
2017 you dereference this pointer.
2018
2019 * The C library now runs on Sony NEWS m68k machines running either
2020 NewsOS 3 or NewsOS 4.
2021
2022 * The new `syscall' function is a system-dependent primitive function
2023 for invoking system calls. It has the canonical behavior on Unix
2024 systems, including unreliable return values for some calls (such as
2025 `pipe', `fork' and `getppid').
2026
2027 * The error code `EWOULDBLOCK' is now obsolete; it is always defined
2028 to `EAGAIN', which is the preferred name. On systems whose kernels
2029 use two distinct codes, the C library now translates EWOULDBLOCK to
2030 EAGAIN in every system call function.
2031 \f
2032 Version 1.06
2033
2034 * The GNU C Library Reference Manual is now distributed with the library.
2035 `make dvi' will produce a DVI file of the printed manual.
2036 `make info' will produce Info files that you can read on line using C-h i
2037 in Emacs or the `info' program.
2038 Please send comments on the manual to bug-glibc-manual@gnu.org.
2039
2040 * The library now supports SVR4 on i386s (i386-unknown-sysv4).
2041
2042 * Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2.
2043
2044 * Jason Merrill has contributed a port to the Sequent Symmetry running
2045 Dynix version 3 (i386-sequent-dynix).
2046
2047 * The library has been ported to i386s running SCO 3.2.4 (also known as SCO
2048 ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2).
2049
2050 * New function `memory_warnings' lets you arrange to get warnings when
2051 malloc is running out of memory to allocate, like Emacs gives you.
2052
2053 * The C library now contains the relocating allocator used in Emacs 19 for
2054 its editing buffers. This allocator (ralloc) minimizes allocation
2055 overhead and fragmentation by moving allocated regions around whenever it
2056 needs to. You always refer to a ralloc'd region with a "handle" (a
2057 pointer to a pointer--an object of type `void **').
2058
2059 * There is a new `printf' format: `%m' gives you the string corresponding
2060 to the error code in `errno'.
2061
2062 * In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s'
2063 or `%[' conversion, but instead of filling in a fixed-sized buffer you
2064 pass, the `a' modifier says to fill in a `char **' you pass with a
2065 malloc'd string.
2066
2067 * The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and
2068 `FNM_CASEFOLD'. `FNM_LEADING_DIR' lets a pattern like `foo*' match a
2069 name like `foo/bar'. `FNM_CASEFOLD' says to ignore case in matching.
2070
2071 * `mkstemp' is a traditional Unix function to atomically create and open a
2072 uniquely-named temporary file.
2073 \f
2074 Version 1.05
2075
2076 * The standard location for the file that says what the local timezone is
2077 has changed again. It is now `/usr/local/etc/localtime' (or more
2078 precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'.
2079
2080 * The distribution no longer contains any files with names longer than 14
2081 characters.
2082
2083 * `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE.
2084 These are set by the new `trusted' and `console' keywords in `/etc/ttys'.
2085
2086 * New functions `ttyslot' and `syslog' from 4.4 BSD.
2087 \f
2088 Version 1.04
2089
2090 * The configuration process has changed quite a bit. The `configure'
2091 script is now used just like the configuration scripts for other GNU
2092 packages. The `sysdeps' directory hierarchy is much rearranged.
2093 The file `INSTALL' explains the new scheme in detail.
2094
2095 * The header files no longer need to be processed into ANSI C and
2096 traditional C versions. There is just one set of files to install, and
2097 it will work with ANSI or old C compilers (including `gcc -traditional').
2098
2099 * Brendan Kehoe and Ian Lance Taylor have ported the library to the
2100 MIPS DECStation running Ultrix 4.
2101
2102 * The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries.
2103 Tom Quinn contributed the initial code. The GNU C library can NOT yet be
2104 made itself into a shared library.
2105
2106 * Yet further improved support for the i386, running 4.3 BSD-like systems
2107 (such as Mach 3 with the Unix single-server), or System V.
2108
2109 * New function `strncasecmp' to do case-insensitive string comparison
2110 with limited length.
2111
2112 * New function `strsep' is a reentrant alternative to `strtok'.
2113
2114 * New functions `scandir' and `alphasort' for searching directories.
2115
2116 * New function `setenv' is a better interface to `putenv'.
2117
2118 * Ian Lance Taylor has contributed an implementation of the SVID `ftw'
2119 function for traversing a directory tree.
2120
2121 * The GNU obstack package is now also part of the C library.
2122 The new function `open_obstack_stream' creates a stdio stream that
2123 writes onto an obstack; `obstack_printf' and `obstack_vprintf' do
2124 formatted output directly to an obstack.
2125
2126 * Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only),
2127 cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid.
2128
2129 * `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'.
2130
2131 * The new functions `strfry' and `memfrob' do mysterious and wonderful
2132 things to your strings.
2133
2134 * There are some new test programs: test-fseek, testmb, and testrand.
2135
2136 * Some work has been done to begin porting the library to 4.4 BSD and Linux.
2137 These ports are not finished, but are a good starting place for really
2138 supporting those systems.
2139
2140 * `/etc/localtime' is now the standard location for the file that says what
2141 the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'.
2142 This follows the general principle that `/etc' is the place for all local
2143 configuration files.
2144
2145 * The C library header files now use `extern "C"' when used by the C++
2146 compiler, so the C library should now work with C++ code.
2147
2148 * The header file <bstring.h> is gone. <string.h> now declares bcopy,
2149 bcmp, bzero, and ffs. (Update: nowadays these functions are declared
2150 in <strings.h>.)
2151
2152 * Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting
2153 function which uses the `merge sort' algorithm, and is said to be
2154 significantly faster than the old GNU `qsort' function. Merge sort is
2155 now the standard `qsort' function. The new algorithm can require a lot
2156 of temporary storage; so, the old sorting function is called when the
2157 required storage is not available.
2158
2159 * The C library now includes Michael Glad's Ultra Fast Crypt, which
2160 provides the Unix `crypt' function, plus some other entry points.
2161
2162 * The code and header files taken from 4.4 BSD have been updated with the
2163 latest files released from Berkeley.
2164 \f
2165 ----------------------------------------------------------------------
2166 Copyright information:
2167
2168 Copyright (C) 1992-2012 Free Software Foundation, Inc.
2169
2170 Permission is granted to anyone to make or distribute verbatim copies
2171 of this document as received, in any medium, provided that the
2172 copyright notice and this permission notice are preserved,
2173 thus giving the recipient permission to redistribute in turn.
2174
2175 Permission is granted to distribute modified versions
2176 of this document, or of portions of it,
2177 under the above conditions, provided also that they
2178 carry prominent notices stating who last changed them.
2179 \f
2180 Local variables:
2181 version-control: never
2182 fill-column: 76
2183 End:
This page took 0.125906 seconds and 5 git commands to generate.