Update.
[glibc.git] / ChangeLog
blob742cd2e9d5647d5a15ac99a18a7aff57345c9ef3
1 2001-09-16  Ulrich Drepper  <drepper@redhat.com>
3         * string/strcoll.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correct get
4         nrules value.
6 2001-09-14  H.J. Lu  <hjl@gnu.org>
8         * sysdeps/mips/fpu/libm-test-ulps: Updated.
10 2001-09-14  Ulrich Drepper  <drepper@redhat.com>
12         * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix a typo.
13         Patch by Florian La Roche <laroche@redhat.com>.
15         * string/bits/string2.h (__strtok_r_1c): Optimize a bit.
17         * sysdeps/unix/sysv/linux/net/ethernet.h: Correct references to
18         ETHER_CRC_LEN.
20 2001-09-14  Andreas Schwab  <schwab@suse.de>
22         * posix/execl.c: Fix last argument of memcpy.  Reported by Brian
23         Sumner <bls@sgi.com>.
24         * posix/execlp.c: Likewise.
26 2001-09-13  Jakub Jelinek  <jakub@redhat.com>
28         * elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter
29         is already found earlier in the search scope.
31 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
33         * rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's
34         filter.
36 2001-09-13  Ulrich Drepper  <drepper@redhat.com>
38         * sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected errors for j0.
40 2001-09-12  Ulrich Drepper  <drepper@redhat.com>
42         * config.h.in: Enforce optimization to be used.
43         * Makeconfig (preprocess-versions): Define ASSEMBLER.
44         * stdlib/Makefile (isomac-CFLAGS): Define to -O.
45         * posix/Makefile (annexc-CFLAGS): Define to -O.
46         * sysdeps/unix/make-syscalls.sh: Define __OPTIMIZE__ in use of asm_CPP.
48 2001-09-11  Ulrich Drepper  <drepper@redhat.com>
50         * nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup.
51         Patch by Stephan Kulow.
53 2001-09-08  Ben Collins  <bcollins@debian.org>
55         * sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in
56         usage of RESOLVE() (r_type, not reloc->r_type).
58 2001-09-08  Ulrich Drepper  <drepper@redhat.com>
60         * elf/dl-object.c: Avoid allocating extra memory block for name.
61         * elf/dl-close.c (_dl_close): Don't free l_libname if it is not
62         allocated separately.
63         * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
65 2001-09-08  H.J. Lu  <hjl@gnu.org>
67         * po/zh_TW.po: Fix a typo.
69 2001-09-07  Tom Rix  <trix@redhat.com>
71         * sysdeps/unix/sysv/aix/sysv_termio.h: New file.
73 2001-08-26  Tom Rix  <trix@redhat.com>
75         * sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker
76         command line options.
77         * sysdeps/unix/sysv/aix/start.s: New file, rework of start.c
78         * sysdeps/unix/sysv/aix/start.c: Removed.
79         * sysdeps/unix/sysv/aix/start-libc.c: New file.
80         * sysdeps/unix/sysv/aix/init-first.c: New file.
81         * sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl.
83 2001-09-08  Ben Collins  <bcollins@debian.org>
85         * sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format.
86         * sysdeps/generic/dl-machine.h: Likewise.
87         * sysdeps/hppa/dl-fptr.c: Likewise.
88         * sysdeps/ia64/dl-fptr.c: Likewise.
89         * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
90         * sysdeps/mips/dl-machine.h: Likewise.
91         * sysdeps/mips/mips64/dl-machine.h: Likewise.
92         * sysdeps/powerpc/dl-machine.c: Likewise.
94 2001-09-07  Ben Collins  <bcollins@debian.org>
96         * sysdeps/sparc/sparc32/dl-machine.h: Fix typo.
98         * sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map.
100 2001-09-08  Ulrich Drepper  <drepper@redhat.com>
102         * elf/dl-lookup.c (add_dependency): Bump l_opencount of all
103         dependencies if necessary.
105         * elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't
106         loaded directly) determine length if l_initfini list by iterating
107         over its elements.  Minor optimizations.
108         * elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini
109         for dependency objects.
110         If object was already loaded check whether any of the dependencies
111         is already on the relocation dependency list.  If yes, remove the
112         latter.  Minor optimizations.
113         * elf/dl-lookup.c (add_dependency): Add check for self reference of
114         maps here.  Search l_initfini list only if the object was loaded
115         directly and not only as a dependency.
116         (_dl_lookup_symbol): Add relocation dependency also if object
117         is not in global scope.  Remove test for self-reference here.
118         (_dl_lookup_versioned_symbol): Likewise.
119         * elf/dl-object (_dl_new_object): Cleanup.  Initialize dont_free
120         element of first name record.
121         * elf/loadtest.c: Add some more test to recognize early if an object
122         wasn't unloaded.
123         * elf/Makefile: Add rules to build and run reldep5.
124         * elf/reldep5.c: New file.
125         * elf/reldepmod5.c: New file.
126         * elf/reldepmod6.c: New file.
128         * elf/reldep2.c: Fix typo.
130 2001-09-07  Ulrich Drepper  <drepper@redhat.com>
132         * include/link.h (struct link_map): Add l_scope_mem and l_scope_max
133         elements.  Change l_scope to be a pointer only.
134         * elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
135         * elf/dl-open.c (dl_open_worker): If dependency wasn't just opened
136         here add searchlist of newly open file to the dependency's scope.
137         * elf/dl-close.c (_dl_close): If dependency is used otherwise remove
138         only searchlist from its scope.  Free own scope array if necessary.
139         * elf/Makefile (tests): Add dblload and dblunload now.
141 2001-09-06  Andreas Jaeger  <aj@suse.de>
143         * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: New file, contributed
144         Stephen L Moshier.
146 2001-09-05  Ulrich Drepper  <drepper@redhat.com>
148         * elf/Makefile: Add rules to build new tests.  Don't run them yet since
149         they both fail.
150         * elf/dblload.c: New file.
151         * elf/dblloadmod1.c: New file.
152         * elf/dblloadmod2.c: New file.
153         * elf/dblloadmod3.c: New file.
154         * elf/dblunload.c: New file.
156 2001-09-04  Richard Henderson  <rth@redhat.com>
158         * elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove.
159         (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
161 2001-09-04  Ulrich Drepper  <drepper@redhat.com>
163         Correct very misleading message for error in failed runtime relocation.
164         * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe
165         place of the error.
166         (_dl_signal_cerror): Likewise.
167         * sysdeps/generic/ldsodefs.h: Adjust prototypes.
168         * elf/dl-close.c: Likewise.
169         * elf/dl-deps.c: Likewise.
170         * elf/dl-load.c: Likewise.
171         * elf/dl-lookup.c: Likewise.
172         * elf/dl-open.c: Likewise.
173         * elf/dl-reloc.c: Likewise.
174         * elf/dl-sym.c: Likewise.
175         * elf/dl-version.c: Likewise.
176         * sysdeps/generic/dl-sysdep.c: Likewise.
178 2001-09-04  Jakub Jelinek  <jakub@redhat.com>
180         * iconv/strtab.c (strtabinit): Initialize null Strent.
181         (newstring): Move len == 0 handling...
182         (strtabadd): ...here.
183         If len == 1, return null Strent.
184         When inserting a suffix of an existing string, check if
185         it is not equal to some suffix already recorded.
186         Copy left and right members over if adding longer string.
188 2001-09-04  Jakub Jelinek  <jakub@redhat.com>
190         * sunrpc/rpc_cout.c (upcase): Account for trailing '\0'.
192         * sysdeps/unix/sysv/linux/alpha/gethostname.c: Include <errno.h>.
193         (__syscall_gethostname): Add prototype.
195 2001-09-04  Ulrich Drepper  <drepper@redhat.com>
197         * elf/dl-object.c (_dl_new_object): Remove unnecessary if.
199 2001-09-02  Ulrich Drepper  <drepper@redhat.com>
201         * elf/rtld.c (dl_main): Increment l_opencount for main binary.
203 2001-08-27  Roland McGrath  <roland@frob.com>
205         * sysdeps/unix/sysv/gethostname.c (__gethostname): When LEN is too
206         short, copy that much into NAME anyway before returning error.
208 2001-09-01  Richard Henderson  <rth@redhat.com>
210         * sysdeps/alpha/elf/Dist: Remove file.
211         * sysdeps/alpha/elf/Makefile: Remove file.
212         * sysdeps/alpha/elf/crtbegin.S: Remove file.
213         * sysdeps/alpha/elf/crtend.S: Remove file.
214         * sysdeps/alpha/elf/initfini.c: New file.
216 2001-09-01  Mark Kettenis  <kettenis@gnu.org>
218         * iconv/tst-iconv1.c: Include <stddef.h> for wchar_t.
219         * iconv/tst-iconv3.c: Likewise.
221 2001-09-01  Jakub Jelinek  <jakub@redhat.com>
223         * sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++.
225 2001-09-01  Ulrich Drepper  <drepper@redhat.com>
227         * iconv/gconv_cache.c: Rename variable cache to __gconv_cache and
228         export it.
229         * iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache.
230         * iconv/iconv_prog.c (insert_cache): New function.
231         (print_known_names): If cache is used call insert_cache to use the
232         information from the cache [PR libc/2509].
234 2001-08-31  Ulrich Drepper  <drepper@redhat.com>
236         * time/strptime.c (strptime_internal): Recognize 'l' format and
237         handle it like 'I' for symmetry with strftime.
239 2001-08-31  Richard Henderson  <rth@redhat.com>
241         * elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
242         (HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
243         * elf/rtld.c (HP_TIMING_AVAIL): Likewise.
244         (print_statistics): Make scalar unsigned long long.
245         * sysdeps/alpha/hp-timing.h: New file.
247 2001-08-31  Jakub Jelinek  <jakub@redhat.com>
249         * stdio-common/perror.c (perror): Save errno early, pass it
250         down to perror_internal.
251         (perror_internal): Add errnum argument.
253 2001-08-31  Jakub Jelinek  <jakub@redhat.com>
255         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
256         Don't add old memory content for R_ALPHA_REFQUAD.
258 2001-08-30  Ulrich Drepper  <drepper@redhat.com>
260         * crypt/md5-crypt.c (__md5_crypt_r): Compute used and required
261         memory correctly.
263         * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open
264         instead of open, __close instead of close, __getpagesize instead
265         of getpagesize.
267         * string/argz-stringify.c (__argz_stringify): Use __strnlen
268         instead of strnlen.
269         * include/string.h (strndupa): Redefine here to use __strnlen
270         instead of strnlen.
271         * string/strndup.c (__strndup): Use __strnlen not strnlen.
273         * misc/syslog.c (vsyslog): Fix typo in last change (connect ->
274         connected).
276 2001-08-30  Jakub Jelinek  <jakub@redhat.com>
278         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle
279         R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC.  Only check
280         for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
281         * sysdeps/i386/dl-machine.h (elf_machine_rel): Similarly.
282         * sysdeps/ia64/dl-machine.h (elf_machine_rel): Similarly.
283         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rel): Similarly.
284         * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rel): Similarly.
286 2001-08-30  Ulrich Drepper  <drepper@redhat.com>
288         * sysdeps/alpha/fpu/libm-test-ulps: Adjust j0 ULPs.
290 2001-08-30  Andreas Jaeger  <aj@suse.de>
292         * sysdeps/ieee754/ldbl-128/e_jnl.c: New file,
293         contributed Stephen L Moshier.
295 2001-08-30  Jakub Jelinek  <jakub@redhat.com>
297         * sunrpc/etc.rpc (sgi_fam): Add.
299 2001-08-30  Ulrich Drepper  <drepper@redhat.com>
301         * sysdeps/unix/sysv/linux/alpha/gethostname.c: New file.
303 2001-08-29  Ulrich Drepper  <drepper@redhat.com>
305         * nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received
306         first is from a previous call.
307         Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670].
309 2001-08-29  Andreas Schwab  <schwab@suse.de>
311         * sysdeps/ia64/fpu/libm-test-ulps: Updated.
313 2001-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
315         * config.make.in (INSTALL_SCRIPT): Define.
316         * Makeconfig (INSTALL_SCRIPT): Define.
317         * Makerules (do-install-script): New macro to install scripts using
318         INSTALL_SCRIPT.
319         (install-bin-script): New rule to install scripts with
320         do-install-script.
321         (install-bin-script-nosubdir): New rule.
322         (install-no-libc.a-nosubdir): Add install-bin-script-nosubdir.
323         (distinfo-vars): Add $(install-bin-script).
324         * Rules (others): Likewise.
325         * Makefile (glibcbug): Install with install-bin-script.
326         * debug/Makefile (xtrace): Likewise.
327         (catchsegv): Likewise.
328         * elf/Makefile (ldd): Likewise.
329         * malloc/Makefile (mtrace): Likewise.
330         * timezone/Makefile (tzselect): Likewise.
332 2001-08-29  H.J. Lu  <hjl@gnu.org>
334         * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass
335         ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to
336         _dl_lookup_versioned_symbol () and _dl_lookup_symbol ().
338 2001-08-29  Andreas Schwab  <schwab@suse.de>
340         * sysdeps/m68k/fpu/libm-test-ulps: Updated.
342 2001-08-28  H.J. Lu  <hjl@gnu.org>
344         * Makeconfig (combreloc-LDFLAGS): New variable.
345         Add it to LDFLAGS.so, LDFLAGS-rtld, and +link.
346         * config.make.in (have-z-combreloc): New variable.
347         * configure.in: Substitute libc_cv_z_combreloc.
349 2001-08-29  Ulrich Drepper  <drepper@redhat.com>
351         * po/sv.po: Update from translation team.
352         * po/fr.po: Likewise.
353         * po/da.po: Likewise.
355 2001-08-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
357         * Makerules: Fix a typo: MD% -> MD5.
359 2001-08-28  Ulrich Drepper  <drepper@redhat.com>
361         * sunrpc/rpc_hout.c (pargdef): Function must take pointer to object.
362         Patch by Patrick Duval <Patrick.Duval@devinci.fr>.
364 2001-08-28  Andreas Jaeger  <aj@suse.de>
366         * manual/libc-texinfo.sh: Add entry about free manuals.
368         * manual/contrib.texi (Contributors): Fix cross reference.
370         * manual/libc.texinfo (Copying): Include freemanuals.
372         * manual/Makefile (appendices): Add freemanuals.
374         * manual/freemanuals.texi: New file.
375         Patch by Brian Youmans <3diff@gnu.org>.
377         * manual/libm-err-tab.pl: Pretty print more platforms, print a
378         smaller table.
380         * manual/math.texi (Errors in Math Functions): Fix grammar, start
381         table on separate page.
382         Patch by Brian Youmans <3diff@gnu.org>.
384 2001-08-27  Ulrich Drepper  <drepper@redhat.com>
386         * misc/syslog.c (vsyslog): Try a bit harder to use syslogd.  If
387         the connection went down after we first used it try to connect
388         again and resend the message before printing to the console.
389         Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.
391 2001-08-27  Jakub Jelinek  <jakub@redhat.com>
393         * string/tst-strlen.c (main): Test strnlen (, -1) too.
394         * sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
395         bit set.
397 2001-08-27  Ulrich Drepper  <drepper@redhat.com>
399         * iconv/strtab.c (searchstring): Use correct length for comparison.
400         (strtabadd): Account total size correct if new string has old string as
401         substring.
403 2001-08-27  Jakub Jelinek  <jakub@redhat.com>
405         * elf/rtld.c (dl_main): Update call to _dl_lookup_symbol.
407 2001-08-27  Andreas Jaeger  <aj@suse.de>
409         * sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests.
411         * math/libm-test.inc (j0_test): Add extra tests.
412         * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|,
413         not x, in Hankel approximation.
414         Patches by Stephen L Moshier.
416 2001-08-26  Ulrich Drepper  <drepper@redhat.com>
418         * sysdeps/ia64/dl-lookupcfg.h: Add forward declaration for struct
419         link_map.
421         * configure.in: Fix test for .rela.dyn section.
423         * elf/dl-runtime.c: Update calls to _dl_lookup_*.
425 2001-08-26  Jakub Jelinek  <jakub@redhat.com>
427         * elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class
428         instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p.
429         Pass type_class to _dl_lookup_*.
430         * elf/dl-lookup.c (_dl_lookup_symbol): Take type_clas parameter now.
431         Pass around just type_class instead of noexec, noplt pair.
432         (_dl_lookup_versioned_symbol): Likewise.
433         (_dl_lookup_symbol_skip): Pass around just type_class instead of
434         noexec, noplt pair.
435         (_dl_lookup_versioned_symbol_skip): Likewise.
436         (_dl_do_lookup, _dl_do_lookup_versioned): Likewise.
437         * elf/do-lookup.h (do_lookup): Likewise.
438         * include/link.h (struct link_map): Replace noexec and noplt fields
439         in l_lookup_cache with type_class field.
440         * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT,
441         ELF_RTYPE_CLASS_COPY): Define.
442         Adjust prototypes for _dl_lookup_symbol and
443         _dl_lookup_versioned_symbol.
444         * sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p,
445         elf_machine_lookup_noexec_p): Remove.
446         (elf_machine_type_class): Define.
447         * sysdeps/arm/dl-machine.h: Likewise.
448         * sysdeps/hppa/dl-machine.h: Likewise.
449         * sysdeps/cris/dl-machine.h: Likewise.
450         * sysdeps/i386/dl-machine.h: Likewise.
451         * sysdeps/ia64/dl-machine.h: Likewise.
452         * sysdeps/m68k/dl-machine.h: Likewise.
453         * sysdeps/mips/mips64/dl-machine.h: Likewise.
454         * sysdeps/mips/dl-machine.h: Likewise.
455         * sysdeps/powerpc/dl-machine.h: Likewise.
456         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
457         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
458         * sysdeps/sh/dl-machine.h: Likewise.
459         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
460         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
462 2001-08-26  Ulrich Drepper  <drepper@redhat.com>
464         * manual/message.texi (Advanced gettext functions): Change
465         description of plural forms for Slovak.
466         Reported by Marcel Telka <marcel@telka.sk>.
468         * manuaL/time.texi (Low-Level Time String Parsing): Fix description of
469         %z.  Reported by C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>.
471 2001-08-26  Jakub Jelinek  <jakub@redhat.com>
473         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a
474         typo.  Patch by Florian La Roche <laroche@redhat.com>.
476 2001-08-26  Ulrich Drepper  <drepper@redhat.com>
478         * include/link.h (struct link_map): Add l_lookup_cache element.
479         * elf/dl-reloc.c (RESOLVE): Add symbol caching here.
480         (RESOLVE_MAP): Likewise.
481         (_dl_relocate_object): Remove cache initialization.
482         * elf/dl-lookup.c: Rip out cache handling code.
483         * sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable
484         declarations.
486         * elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and
487         remove some __builtin_expect.
488         (_dl_lookup_versioned_symbol): Likewise.
490         * config.h.in: Add HAVE_Z_COMBRELOC.
491         * configure.in: Add test for -z combreloc.
493         * sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and
494         optimizations.  Use HAVE_Z_COMBRELOC to avoid generaton of
495         R_386_RELATIVE handling for ld.so startup.  Reduce RTLD_BOOTSTRAP
496         case to almost no code.
498 2001-08-25  Ulrich Drepper  <drepper@redhat.com>
500         * po/tr.po: Update from translation team.
502 2001-08-24  Andreas Jaeger  <aj@suse.de>
504         * iconv/Makefile (extra-objs): Add iconvconfig-modules so that
505         make clean works.
507 2001-08-24  Ulrich Drepper  <drepper@redhat.com>
509         * elf/rtld.c (print_statistics): Printf % after percent values.
510         * elf/dl-misc.c (_dl_debug_vdprintf): Implement %%.
512         * elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we
513         don't have to compute the hash value and initialize current_value.
514         Move reference_name variable to where it is needed.
515         (_dl_lookup_versioned_symbol): Likewise.
517 2001-08-24  Roland McGrath  <roland@frob.com>
519         * string/tester.c (test_strerror): Don't use _sys_errlist/_sys_nerr.
520         Just test that strerror returns non-null for a few errno codes.
522 2001-08-23  Roland McGrath  <roland@frob.com>
524         * hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal,
525         _hurdsig_interrupt_timeout, _hurdsig_fault_preemptor.
527         * sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink.
529         * mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy,
530         __mach_reply_port.
532 2001-08-24  Ulrich Drepper  <drepper@redhat.com>
534         * nss/test-netdb.c (test_hosts): Don't segfault if gethostname
535         returns NULL.
537         * elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so
538         startup.  Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc
539         doesn't do it.
540         * elf/rtld.c: Include <sys/param.h>.
541         * elf/dl-reloc.c: Likewise.
543 2001-08-24  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
545         * sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to
546         empty to prevent junk from being generated.
547         * sysdeps/unix/sysv/linux/mips/configure: Regenerated.
549 2001-08-24  Jakub Jelinek  <jakub@redhat.com>
551         * elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative
552         records.  Rename endrel to relative, initialize it to r, and use it
553         in elf_machine_rel_relative calls.  Point r after relative relocs.
555 2001-08-24  Ulrich Drepper  <drepper@redhat.com>
557         * sysdeps/i386/dl-machine.h (elf_machine_rel): Correct prediction
558         of R_386_NONE.
560 2001-08-24  Jakub Jelinek  <jakub@redhat.com>
562         * elf/do-rel.h (elf_machine_rel_relative): Define for rela if
563         necessary.  Undefine newly defined macros at the end.
564         * sysdeps/hppa/dl-machine.h (elf_machine_rela_relative):
565         Rename from elf_machine_rel_relative.
566         * sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise.
567         * sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise.
568         * sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise.
569         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela_relative):
570         Likewise.
571         * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela_relative):
572         Likewise.
573         * sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise.
574         Fix argument types.
575         * sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise.
576         Fix argument types.
577         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative):
578         Likewise.  Fix argument types.
579         * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative):
580         Likewise.  Fix argument types.
581         * sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise.
582         Fix argument types.
583         * sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use
584         ElfW(Rel) in argument.
585         * sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New
586         function.
588 2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
590         * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo.
592 2001-08-24  Andreas Jaeger  <aj@suse.de>
594         * sysdeps/ieee754/ldbl-128/e_j1l.c: New file, contributed by
595         Stephen L Moshier <moshier@mediaone.net>.
597 2001-08-24  Ulrich Drepper  <drepper@redhat.com>
599         * elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes
600         first if RELCOUNT is set.
602         * elf/do-rel.h (elf_dynamic_do_rel): If not relocating lazily, don't
603         call elf_machine_rel for the last DT_RELCOUNT relocations but instead
604         elf_machine_rel_relative.
605         * sysdeps/alpha/dl-machine.h: Define elf_machine_rel_relative.
606         Minor optimizations.
607         * sysdeps/arm/dl-machine.h: Likewise.
608         * sysdeps/cris/dl-machine.h: Likewise.
609         * sysdeps/hppa/dl-machine.h: Likewise.
610         * sysdeps/i386/dl-machine.h: Likewise.
611         * sysdeps/ia64/dl-machine.h: Likewise.
612         * sysdeps/m68k/dl-machine.h: Likewise.
613         * sysdeps/mips/dl-machine.h: Likewise.
614         * sysdeps/powerpc/dl-machine.h: Likewise.
615         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
616         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
617         * sysdeps/sh/dl-machine.h: Likewise.
618         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
619         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
621 2001-08-23  Roland McGrath  <roland@frob.com>
623         * rt/tst-aio4.c [! SIGRTMIN] (SIGRTMIN, SIGRTMAX): Define as -1.
625         * sysdeps/mach/hurd/bits/libc-lock.h: New file, initially copied from
626         sysdeps/mach version.  Implement counting ("recursive") mutexes
627         on top of cthreads mutexes.
628         * sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works.
630         * sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
631         _LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
632         (__libc_cleanup_region_start, __libc_cleanup_region_end,
633         __libc_clean_end): Define these to call the cleanup function after
634         normal exit when they're supposed to.
636         * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
637         Take new first arg DOIT, a boolean saying whether to really install
638         any cleanup handler.
639         (__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
640         (__libc_cleanup_end): Likewise.
641         * sysdeps/generic/bits/libc-lock.h: Same changes.
642         * stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
643         * stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
644         * sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
645         Likewise.
646         * misc/syslog.c (vsyslog, openlog, closelog): Likewise.
647         * sysdeps/generic/bits/stdio-lock.h
648         (_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.
650 2001-08-23  Jakub Jelinek  <jakub@redhat.com>
652         * elf/ldconfig.c (search_dir): Remove stale symlinks.
654 2001-08-23  Jakub Jelinek  <jakub@redhat.com>
656         * elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New.
657         (_dl_lookup_symbol): Lookup relocations in cache and store successfull
658         lookups in cache.
659         (_dl_lookup_versioned_symbol): Likewise.
660         * elf/dl-reloc.c (_dl_relocate_object): Initialize cache for
661         relocation lookup.
662         * elf/rtld.c (print_statistics): Output _dl_num_cache_relocations.
663         * sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition.
664         (lookup_cache, lookup_cache_versioned): Add declarations.
666 2001-08-23  Ulrich Drepper  <drepper@redhat.com>
668         * stdlib/tst-random.c (main): Swap parameters in fail call.
669         Patch by Pete Bevin <pete@petebevin.com>.
671 2001-08-23  Jakub Jelinek  <jakub@redhat.com>
673         * sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t.
675 2001-08-23  Ulrich Drepper  <drepper@redhat.com>
677         * malloc/obstack.c: Indent preprocessor directives.
678         Patch by Jim Meyering <meyering@ascend.com>.
680         * po/ja.po: Update from translation team.
682 2001-08-23  Roland McGrath  <roland@frob.com>
684         * libio/tst-ungetwc1.c (main): Add a const to quiet a warning.
686         * nss/test-netdb.c (test_hosts): Don't use MAXHOSTNAMELEN.
687         Instead, use dynamic buffer to test gethostname's ENAMETOOLONG error.
689 2001-08-22  Roland McGrath  <roland@frob.com>
691         * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with
692         __libc_lock_define_recursive.
693         * elf/dl-open.c: Don't declare it here any more.
694         * elf/dl-close.c: Likewise.
695         * elf/dl-lookup.c: Likewise.
696         * elf/dl-iteratephdr.c: Likewise.
697         * elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
698         __libc_lock_unlock_recursive.
699         * elf/dl-close.c (_dl_close): Likewise
700         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
701         * elf/dl-open.c (_dl_open): Likewise
703         * sysdeps/generic/bits/libc-lock.h
704         (__libc_lock_define_recursive): New macro.
705         * sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
706         (_IO_lock_lock): Use __libc_lock_lock_recursive.
707         (_IO_lock_unlock): Use __libc_lock_unlock_recursive.
709         * conform/conformtest.pl (checknamespace): Sort the output list.
711         * sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT.
712         (POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these
713         definitions conditional on [__USE_XOPEN].
715         * sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define
716         these unconditionally, not only use [__USE_BSD], so as to match
717         the sysdeps/unix/sysv/linux files.
719 2001-08-22  Ulrich Drepper  <drepper@redhat.com>
721         * test-skeleton.c (add_temp_file): Add __attribute__ ((unused)) to
722         avoid warnings.
724         * dlfcn/tst-dladdr.c (do_test): Get address of ref1 using
725         DL_LOOKUP_ADDRESS.
727 2001-08-22  Roland McGrath  <roland@frob.com>
729         * sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up
730         conditionalization of sa_handler/sa_sigaction member types to
731         match the sysdeps/unix/sysv/linux file.
733 2001-08-22  Ulrich Drepper  <drepper@redhat.com>
735         * elf/dl-addr.c (_dl_addr): Handle broken binaries with zero
736         symbol sizes a bit better.
738         * sysdeps/ia64/strncpy.S: Complete rewrite.
739         Contributed by Jakub Jelinek <jakub@redhat.com>.
741         * string/stratcliff.c (main): Add strncpy test.
743 2001-08-22  Roland McGrath  <roland@frob.com>
745         * sysdeps/generic/dl-environ.c: Include <stdlib.h> and <unistd.h>,
746         and don't declare unsetenv or _environ directly.
747         (unsetenv): Return int, not void.  Use __environ instead of _environ.
749 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
751         * sysdeps/unix/bsd/bsd4.4/Makefile: New file.
752         * sysdeps/unix/bsd/bsd4.4/Versions: New file.
753         * sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file.
754         * sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct
755         test for cmsg struct size.
757 2001-04-23  Paul Eggert  <eggert@twinsun.com>
759         * posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal):
760         Rename __argc to ___argc in prototypes to avoid compatibility
761         problems with systems that reserve the identifier "__argc".
762         Similarly for __argv.
764 2001-08-21  Roland McGrath  <roland@frob.com>
766         * stdio-common/tst-fseek.c: Include <time.h> for `time' declaration.
768         * mach/Makefile (tests): Removed.
769         * mach/hello.c: File removed.
771 2001-08-22  Ulrich Drepper  <drepper@redhat.com>
773         * po/sv.po: Update from translation team.
775         * stdio-common/vfscanf.c: Fix handling of %l[].
776         Reported by Mitsuru Chinen <mchinen@yamato.ibm.com>.
778         * libio/Makefile (tests): Add tst-sscanf.
779         * libio/tst-sscanf.c: New file.
781         * elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname.
782         * malloc/mtrace.c (tr_where): dli_sname always points to a
783         non-empty string if != NULL.
784         Reported by Tim Janik <timj@gtk.org>.
786 2001-08-22  Jakub Jelinek  <jakub@redhat.com>
788         * sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating
789         buf.  Free resources on failure.
790         * sunrpc/svc_unix.c (svcunix_create): Free resources on failure.
791         (makefd_xprt): Likewise.
792         * sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
793         * sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise.
794         * sunrpc/auth_unix.c (authunix_create): Likewise.
796 2001-08-21  Jakub Jelinek  <jakub@redhat.com>
798         * string/strnlen.c: Remove.
799         * sysdeps/generic/strnlen.c: New.
800         * sysdeps/i386/i486/bits/string.h (strnlen): Remove.
802 2001-08-21  Roland McGrath  <roland@frob.com>
804         * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Define this
805         as a macro, not an extern inline function.
807         * hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here.
808         * Versions.def (libc): Add GLIBC_2.2.5 set.
809         * hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro.
810         (__hurd_fail): Use that instead of _EXTERN_INLINE in decl.
812 2001-08-20  Roland McGrath  <roland@frob.com>
814         * hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "".
815         (__hurd_file_name_split, __hurd_directory_name_split): Likewise.
817 2001-08-21  Ulrich Drepper  <drepper@redhat.com>
819         * string/bits/string2.h: Remove strnlen optimization here.
820         * sysdeps/i386/i486/bits/string.h: Add it here.
822 2001-08-21  Wolfram Gloger  <wg@malloc.de>
824         * malloc/malloc.c: Make access to ..._hook pointers thread-safe.
826 2001-08-21  Ulrich Drepper  <drepper@redhat.com>
828         * po/gl.po: Update from translation team.
830 2001-08-20  Ulrich Drepper  <drepper@redhat.com>
832         * misc/error.c (error_tail): Use fputws_unlocked instead of fputws.
833         * misc/err.c (convert_and_print): Likewise.
835         * malloc/obstack.c (print_and_abort): Use fprintf instead of two
836         function calls.
838 2001-08-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
840         * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the
841         change of the gregset_t type.
842         * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.
844 2001-08-20  kaz Kojima  <kkojima@rr.iij4u.or.jp>
846         * sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno.
848 2001-08-20  Ulrich Drepper  <drepper@redhat.com>
850         * posix/regex.c (truncate_wchar): Use wcrtomb not wctomb.
852         * string/strnlen.c: Fix the implementation.  We cannot use memchr.
854 2001-08-18  Mark Kettenis  <kettenis@gnu.org>
856         * sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ
857         before calling the cthreads initialization code.
859 2001-08-20  Ulrich Drepper  <drepper@redhat.com>
861         * argp/argp-help.c: Fix two problems introduced in last change.
863         * include/dirent.h: Include <dirstream.h> first.
865 2001-08-19  Ulrich Drepper  <drepper@redhat.com>
867         * io/fts.c (fts_safe_changedir): Use __fxstat64 instead of __fstat.
869         * sunrpc/svcauth_des.c (_svcauth_des): Avoid using bcopy.
870         * sunrpc/xdr_rec.c: Likewise.
871         * sunrpc/xdr_mem.c: Likewise.
872         * sunrpc/svc_authux.c (_svcauth_unix): Likewise.
873         * sunrpc/rpc_cmsg.c: Likewise.
874         * sunrpc/getrpcport.c (getrpcport): Likewise.
875         * sunrpc/clnt_simp.c (callrpc): Likewise.
876         * sunrpc/clnt_gen.c (clnt_create): Likewise.
877         * string/envz.c: Likewise.
879         * po/ko.po: Update from translation team.
881         * argp/argp-help.c: Handle wide oriented stderr stream.
883 2001-08-18  Ulrich Drepper  <drepper@redhat.com>
885         * sysdeps/generic/strtol.c: Little optimizations.  Add some
886         __builtin_expect.
888         * conform/conformtest.pl: <inttypes.h> test requires <stddef.h>.
890         * wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t.
891         * wcsmbs/wcwidth.c (wcwdith): Likewise.
892         * wcsmbs/wcwidth.h (internal_wcwdith): Likewise.
894         * conform/data/unistd.h-data: Remove _SC_MULTIPLE_PROCESS.
896         * conform/data/ucontext.h-data: Fix typos in ucontext_t element tests.
898         * time/time.h (struct timespec): Use __time_t for tv_sec element.
900         * sysdeps/generic/inttypes.h: Define __wchar_t.  Use it instead of
901         wchar_t for function declarations and defintions.
903         * misc/sys/select.h: Define __need_time_t before including <time.h>.
904         Define suseconds_t if it hasn't happened yet.
906         * iconv/gconv.h: Define __need_wchar_t before including <stddef.h>.
908         * conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined.
910         * sysdeps/generic/stdint.h: Don't get definition of wchar_t from
911         <stddef.h>.
913         * conform/data/stddef.h-data: Remove wint_t.
915         * conform/conformtest.pl: Change namespace test to take #undef
916         lines into account.
918         * conform/data/netinet/in.h-data: Fix typo in allow-header line.
920         * conform/data/sys/socket.h-data: Add sockatmark.
922 2001-08-17  Ulrich Drepper  <drepper@redhat.com>
924         * io/fts.c: Update from recent BSD source.
926 2001-08-17  Roland McGrath  <roland@frob.com>
928         * stdio-common/perror.c (perror) [! USE_IN_LIBIO]: Don't use _IO_fwide.
929         * misc/error.c (error_tail, error, error_at_line) [! USE_IN_LIBIO]:
930         Likewise.
932 2001-08-17  Ulrich Drepper  <drepper@redhat.com>
934         * locale/duplocale.c (__duplocale): Also initialize the special
935         __ctype_* elements.
937         * conform/data/netdb.h-data: Adjust gai_strerror return type.
939 2001-08-17  Andreas Jaeger  <aj@suse.de>
941         * misc/getpass.c: Include wchar.h for prototypes.
942         * malloc/obstack.c: Likewise.
944 2001-08-17  Ulrich Drepper  <drepper@redhat.com>
946         * sunrpc/svc_simple.c (universal): Use __write instead of write.
948         * wcsmbs/wcscoll.c: Also define __wcscoll.
949         * include/wchar.h: Declare __wcscoll.
951         * libio/fwprintf.c: Use __vfwprintf instead of vfwprintf.
952         * libio/vwprintf.c: Likewise.
953         * libio/wprintf.c: Likewise.
955         * iconv/gconv_cache.c: Use __munmap instead of munmap.
957 2001-08-16  Ulrich Drepper  <drepper@redhat.com>
959         * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc
960         instead of mbrtowc.
961         [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of
962         wcslen, and __wcscoll instead of wcscoll.
964         * sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl.
966         * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use
967         __getuid instead of getuid.
969         * stdio-common/perror.c (perror): Use __close instead of close.
970         * iconv/gconv_cache.c (__gconv_load_cache): Likewise.
971         * libio/freopen.c (freopen): Likewise.
972         * libio/freopen64.c (freopen64): Likewise.
974         * libio/tst-ungetwc2.c (main): Define str const.
976         * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf.
977         * libio/fwprintf.c: Also define __fwprintf.
978         * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf.
979         * argp/argp-fmtstream.c: Handle wide oriented stderr stream.
980         * assert/assert-perr.c: Likewise.
981         * assert/assert.c: Likewise.
982         * gmon/gmon.c: Likewise.
983         * inet/rcmd.c: Likewise.
984         * malloc/obstack.c: Likewise.
985         * misc/err.c: Likewise.
986         * misc/error.c: Likewise.
987         * misc/getpass.c: Likewise.
988         * posix/getopt.c: Likewise.
989         * resolv/res_hconf.c: Likewise.
990         * stdio-common/perror.c: Likewise.
991         * stdio-common/psignal.c: Likewise.
992         * stdlib/fmtmsg.c: Likewise.
993         * sunrpc/auth_unix.c: Likewise.
994         * sunrpc/clnt_perr.c: Likewise.
995         * sunrpc/clnt_tcp.c: Likewise.
996         * sunrpc/clnt_udp.c: Likewise.
997         * sunrpc/clnt_unix.c: Likewise.
998         * sunrpc/svc_simple.c: Likewise.
999         * sunrpc/svc_tcp.c: Likewise.
1000         * sunrpc/svc_udp.c: Likewise.
1001         * sunrpc/svc_unix.c: Likewise.
1002         * sunrpc/xdr.c: Likewise.
1003         * sunrpc/xdr_array.c: Likewise.
1004         * sunrpc/xdr_rec.c: Likewise.
1005         * sunrpc/xdr_ref.c: Likewise.
1006         * sysdeps/generic/wordexp.c: Likewise.
1008         * po/it.po: Update from translation team.
1010         * misc/err.c: Handle wide oriented stderr stream.
1012 2001-08-14  Tom Rix  <trix@redhat.com>
1014         * iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV.
1015         * iconv/Makefile: Fix gconv_cache.c CFLAGS.
1017 2001-08-13  Tom Rix  <trix@redhat.com>
1019         * sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols.
1020         * sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t
1021         and __intptr_t.
1023 2001-08-15  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1025         * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext):
1026         Store the access registers to the ucontext structure.
1027         * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext):
1028         Likewise.
1030         * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext):
1031         Load the access registers from the ucontext structure.
1032         * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext):
1033         Likewise.
1035         * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx
1036         offsets to the new ucontext layout.
1037         * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise.
1039         * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout
1040         of the ucontext structure.
1041         * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.
1043 2001-08-15  Ulrich Drepper  <drepper@redhat.com>
1045         * misc/error.c (error): Handle wide oriented stderr stream correctly.
1046         (error_at_line): Likewise.
1048         * stdio-common/perror.c (perror): Implement according to standard.
1049         The stream orientation must not be changed if the stream was not
1050         oriented before the call.
1051         * stdio-common/Makefile (tests): Add tst-perror.
1052         * stdio-common/tst-perror.c: New file.
1055 See ChangeLog.12 for earlier changes.