]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
update from main archive 961005 cvs/libc-961006 cvs/libc-961007 cvs/libc-970829 cvs/libc-970904 cvs/libc-970911 cvs/libc-970912 cvs/libc-970915 cvs/libc-970916 cvs/libc-970920 cvs/libc-970924 cvs/libc-970926 cvs/libc-970930 cvs/libc-971011 cvs/libc-971012 cvs/libc-971026 cvs/libc-971029 cvs/libc-971031 cvs/libc-971103 cvs/libc-971105 cvs/libc-971106 cvs/libc-971111 cvs/libc-971112 cvs/libc-971117 cvs/libc-971118 cvs/libc-971122 cvs/libc-971123 cvs/libc-971124 cvs/libc-971125 cvs/libc-971201 cvs/libc-971203 cvs/libc-971204 cvs/libc-971207 cvs/libc-971208 cvs/libc-971214 cvs/libc-971222 cvs/libc-971228
authorUlrich Drepper <drepper@redhat.com>
Sun, 6 Oct 1996 02:05:11 +0000 (02:05 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 6 Oct 1996 02:05:11 +0000 (02:05 +0000)
Sun Oct  6 02:05:52 1996  Ulrich Drepper  <drepper@cygnus.com>

* posix/getopt.c: Add casts to prevent warnings.
* posix/regex.c: Likewise.

* math/Makefile (long-m-routines, long-m-yes): Define to correct
values to make `long double' functions available.
(distribute): Add $(long-m-yes:=.c).

* sysdeps/libm-i387/s_ceill.S: Correct loading of return value.
Use long double instruction.

* sysdeps/libm-ieee754/e_atanhl.c (huge): Correct constant.
* sysdeps/libm-ieee754/e_asinhl.c: Likewise.
* sysdeps/libm-ieee754/s_tanhl.c: Likewise.

* sysdeps/libm-ieee754/e_coshl.c: New file.

* sysdeps/libm-ieee754/s_asinh.c [!NO_LONG_DOUBLE]: Define names
for `long double' version as alias.
* sysdeps/libm-ieee754/s_atan.c: Likewise.
* sysdeps/libm-ieee754/s_cbrt.c: Likewise.
* sysdeps/libm-ieee754/s_ceil.c: Likewise.
* sysdeps/libm-ieee754/s_copysign.c: Likewise.
* sysdeps/libm-ieee754/s_cos.c: Likewise.
* sysdeps/libm-ieee754/s_erf.c: Likewise.
* sysdeps/libm-ieee754/s_expm1.c: Likewise.
* sysdeps/libm-ieee754/s_fabs.c: Likewise.
* sysdeps/libm-ieee754/s_finite.c: Likewise.
* sysdeps/libm-ieee754/s_floor.c: Likewise.
* sysdeps/libm-ieee754/s_frexp.c: Likewise.
* sysdeps/libm-ieee754/s_ilogb.c: Likewise.
* sysdeps/libm-ieee754/s_ldexp.c: Likewise.
* sysdeps/libm-ieee754/s_log1p.c: Likewise.
* sysdeps/libm-ieee754/s_logb.c: Likewise.
* sysdeps/libm-ieee754/s_modf.c: Likewise.
* sysdeps/libm-ieee754/s_nextafter.c: Likewise.
* sysdeps/libm-ieee754/s_rint.c: Likewise.
* sysdeps/libm-ieee754/s_scalbn.c: Likewise.
* sysdeps/libm-ieee754/s_significand.c: Likewise.
* sysdeps/libm-ieee754/s_sin.c: Likewise.
* sysdeps/libm-ieee754/s_tan.c: Likewise.
* sysdeps/libm-ieee754/s_tanh.c: Likewise.
* sysdeps/libm-ieee754/w_acos.c: Likewise.
* sysdeps/libm-ieee754/w_acosh.c: Likewise.
* sysdeps/libm-ieee754/w_sin.c: Likewise.
* sysdeps/libm-ieee754/w_atan2.c: Likewise.
* sysdeps/libm-ieee754/w_atanh.c: Likewise.
* sysdeps/libm-ieee754/w_cabs.c: Likewise.
* sysdeps/libm-ieee754/w_cosh.c: Likewise.
* sysdeps/libm-ieee754/w_drem.c: Likewise.
* sysdeps/libm-ieee754/w_exp.c: Likewise.
* sysdeps/libm-ieee754/w_fmod.c: Likewise.
* sysdeps/libm-ieee754/w_gamma.c: Likewise.
* sysdeps/libm-ieee754/w_gamma_r.c: Likewise.
* sysdeps/libm-ieee754/w_hypot.c: Likewise.
* sysdeps/libm-ieee754/w_j0.c: Likewise.
* sysdeps/libm-ieee754/w_j1.c: Likewise.
* sysdeps/libm-ieee754/w_jn.c: Likewise.
* sysdeps/libm-ieee754/w_lgamma.c: Likewise.
* sysdeps/libm-ieee754/w_lgamma_r.c: Likewise.
* sysdeps/libm-ieee754/w_log.c: Likewise.
* sysdeps/libm-ieee754/w_log10.c: Likewise.
* sysdeps/libm-ieee754/w_pow.c: Likewise.
* sysdeps/libm-ieee754/w_remainder.c: Likewise.
* sysdeps/libm-ieee754/w_scalb.c: Likewise.
* sysdeps/libm-ieee754/w_sinh.c: Likewise.
* sysdeps/libm-ieee754/w_sqrt.c: Likewise.

Stub files for missing long double math functions.
* sysdeps/stub/e_acoshl.c: New file.
* sysdeps/stub/e_hypotl.c: New file.
* sysdeps/stub/e_j0l.c: New file.
* sysdeps/stub/e_j1l.c: New file.
* sysdeps/stub/e_jnl.c: New file.
* sysdeps/stub/e_lgammal_r.c: New file.
* sysdeps/stub/e_powl.c: New file.
* sysdeps/stub/e_rem_pio2l.c: New file.
* sysdeps/stub/e_sinhl.c: New file.
* sysdeps/stub/k_cosl.c: New file.
* sysdeps/stub/k_rem_pio2l.c: New file.
* sysdeps/stub/k_sinl.c: New file.
* sysdeps/stub/k_tanl.c: New file.
* sysdeps/stub/s_erfl.c: New file.
* sysdeps/stub/s_expm1l.c: New file.

* sysdeps/i386/__longjmp.S: Use PSEUDO_END macro to provide
.size directive.
* sysdeps/i386/bsd-_setjmp.S: Likewise.
* sysdeps/i386/bsd-setjmp.S: Likewise.
* sysdeps/i386/memchr.S: Likewise.
* sysdeps/i386/memcmp.S: Likewise.
* sysdeps/i386/setjmp.S: Likewise.
* sysdeps/i386/stpcpy.S: Likewise.
* sysdeps/i386/stpncpy.S: Likewise.
* sysdeps/i386/strchr.S: Likewise.
* sysdeps/i386/strcspn.S: Likewise.
* sysdeps/i386/strpbrk.S: Likewise.
* sysdeps/i386/strrchr.S: Likewise.
* sysdeps/i386/strspn.S: Likewise.
* sysdeps/i386/strtok.S: Likewise.
* sysdeps/i386/i486/strcat.S: Likewise.
* sysdeps/i386/i486/strlen.S: Likewise.
* sysdeps/i386/i586/memset.S: Likewise.
* sysdeps/i386/i586/strchr.S: Likewise.
* sysdeps/i386/i586/strlen.S: Likewise.
* sysdeps/libm-i387/e_acos.S: Likewise.
* sysdeps/libm-i387/e_acosl.S: Likewise.
* sysdeps/libm-i387/e_asin.S: Likewise.
* sysdeps/libm-i387/e_asinl.S: Likewise.
* sysdeps/libm-i387/e_atan2.S: Likewise.
* sysdeps/libm-i387/e_atan2l.S: Likewise.
* sysdeps/libm-i387/e_exp.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/e_fmod.S: Likewise.
* sysdeps/libm-i387/e_fmodl.S: Likewise.
* sysdeps/libm-i387/e_log.S: Likewise.
* sysdeps/libm-i387/e_log10.S: Likewise.
* sysdeps/libm-i387/e_log10l.S: Likewise.
* sysdeps/libm-i387/e_logl.S: Likewise.
* sysdeps/libm-i387/e_remainder.S: Likewise.
* sysdeps/libm-i387/e_remainderf.S: Likewise.
* sysdeps/libm-i387/e_remainderl.S: Likewise.
* sysdeps/libm-i387/e_scalb.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
* sysdeps/libm-i387/e_sqrt.S: Likewise.
* sysdeps/libm-i387/e_sqrtf.S: Likewise.
* sysdeps/libm-i387/e_sqrtl.S: Likewise.
* sysdeps/libm-i387/s_atan.S: Likewise.
* sysdeps/libm-i387/s_atanf.S: Likewise.
* sysdeps/libm-i387/s_atanl.S: Likewise.
* sysdeps/libm-i387/s_ceil.S: Likewise.
* sysdeps/libm-i387/s_ceilf.S: Likewise.
* sysdeps/libm-i387/s_ceill.S: Likewise.
* sysdeps/libm-i387/s_copysign.S: Likewise.
* sysdeps/libm-i387/s_copysignf.S: Likewise.
* sysdeps/libm-i387/s_copysignl.S: Likewise.
* sysdeps/libm-i387/s_cos.S: Likewise.
* sysdeps/libm-i387/s_cosf.S: Likewise.
* sysdeps/libm-i387/s_cosl.S: Likewise.
* sysdeps/libm-i387/s_finite.S: Likewise.
* sysdeps/libm-i387/s_finitef.S: Likewise.
* sysdeps/libm-i387/s_finitel.S: Likewise.
* sysdeps/libm-i387/s_floor.S: Likewise.
* sysdeps/libm-i387/s_floorf.S: Likewise.
* sysdeps/libm-i387/s_floorl.S: Likewise.
* sysdeps/libm-i387/s_ilogb.S: Likewise.
* sysdeps/libm-i387/s_ilogbf.S: Likewise.
* sysdeps/libm-i387/s_ilogbl.S: Likewise.
* sysdeps/libm-i387/s_log1p.S: Likewise.
* sysdeps/libm-i387/s_log1pf.S: Likewise.
* sysdeps/libm-i387/s_log1pl.S: Likewise.
* sysdeps/libm-i387/s_logb.S: Likewise.
* sysdeps/libm-i387/s_logbf.S: Likewise.
* sysdeps/libm-i387/s_logbl.S: Likewise.
* sysdeps/libm-i387/s_rint.S: Likewise.
* sysdeps/libm-i387/s_rintf.S: Likewise.
* sysdeps/libm-i387/s_rintl.S: Likewise.
* sysdeps/libm-i387/s_scalbn.S: Likewise.
* sysdeps/libm-i387/s_scalbnf.S: Likewise.
* sysdeps/libm-i387/s_scalbnl.S: Likewise.
* sysdeps/libm-i387/s_significand.S: Likewise.
* sysdeps/libm-i387/s_significandf.S: Likewise.
* sysdeps/libm-i387/s_significandl.S: Likewise.
* sysdeps/libm-i387/s_sin.S: Likewise.
* sysdeps/libm-i387/s_sinf.S: Likewise.
* sysdeps/libm-i387/s_sinl.S: Likewise.
* sysdeps/libm-i387/s_tan.S: Likewise.
* sysdeps/libm-i387/s_tanf.S: Likewise.
* sysdeps/libm-i387/s_tanl.S: Likewise.

* sysdeps/unix/sysv/linux/i386/clone.S: Add .size directive.
* sysdeps/unix/sysv/linux/i386/mmap.S. Likewise.
* sysdeps/unix/sysv/linux/i386/socket.S. Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.S. More compact .size line.

* sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): New macro.  Used
to provide .size directive on ELF systems.

* sysdeps/unix/sysv/linux/i386/profil-counter.h: Include
<sigcontext.h> and rename parameter type to sigcontext.
* sysdeps/unix/sysv/linux/i386/sigcontext.h New file.

* sysdeps/unix/sysv/linux/i386/syscall.S: From Linux 2.1 on
negative values might occur as positive results.  Test against
-125 to decide for error or not.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise for system calls.

Thu Oct  3 21:07:58 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* elf/dl-open.c: Use _DYNAMIC instead of _dl_start to decide
whether this is a statically linked program.  The latter is now
always defined.

Fri Oct  4 02:08:10 1996  Bang Jun-Young  <bangjy@nownuri.nowcom.co.kr>

* po/ko.po: Update.

Fri Oct  4 02:07:46 1996  Michel Robitaille  <robitail@IRO.UMontreal.CA>

* po/fr.po: New file.

Fri Oct  4 05:04:52 1996  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/i386/sigcontext.h: New file.

Add support for MD5 crypt replacement.
* Makefile (subdirs): Add crypt.
* shlib-versions: Add entry for libcrypt.
* crypt/md5-crypt.c: New file.
* crypt/md5.c: New file.
* crypt/md5.h: New file.
* sysdeps/generic/crypt-entry.c: New file.
* sysdeps/generic/crypt.h: New file.

Thu Oct  3 20:53:23 1996  Andreas Jaeger  <aj@arthur.pfalz.de>

* dirent/tst-seekdir.c: Provide correct prototypes.
* io/test-utime.c: Likewise.
* malloc/mallocbug.c: Likewise.
* posix/testfnm.c: Likewise.
* stdio-common/xbug.c: Likewise.
* sysdeps/posix/cuserid.c: Likewise.

Wed Oct  2 13:33:48 1996  Richard Henderson  <rth@tamu.edu>

Provide optimized string functions for Alpha processors.
* sysdeps/alpha/bzero.S: New file.
* sysdeps/alpha/memset.S: New file.
* sysdeps/alpha/stpcpy.S: New file.
* sysdeps/alpha/stpncpy.S: New file.
* sysdeps/alpha/strcat.S: New file.
* sysdeps/alpha/strchr.S: New file.
* sysdeps/alpha/strcpy.S: New file.
* sysdeps/alpha/strncat.S: New file.
* sysdeps/alpha/strncpy.S: New file.
* sysdeps/alpha/strrchr.S: New file.
* sysdeps/alpha/stxcpy.S: New file.
* sysdeps/alpha/stxncpy.S: New file.

* sysdeps/alpha/Makefile [$(sudir)==string]: Add stxcpy and
stxncpy to sysdep_routines.
Minor correction.

Wed Oct  2 13:41:48 1996  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/generic/strtok.c: Don't set stored pointer to NULL when
  notheing is found.  This guarantees all subsequent calls behave
  the same.
* sysdeps/generic/strtok_r.c: Likewise.

Mon Sep 30 22:27:36 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/posix/tempname.c (__stdio_gen_tempname): Don't declare
`i' as const.

Mon Sep 30 22:38:29 1996  Richard Henderson  <rth@tamu.edu>

* sysdeps/generic/strtok.c: When we hit EOS, don't set olds to
NULL immediately; we're going to get called one more time.
* sysdeps/generic/strtok_r.c: Likewise.

Tue Oct  1 09:12:21 1996  Ulrich Drepper  <drepper@cygnus.com>

* locale/programs/ld-time.c: Always write some bytes at the end of
  the file even if no `era's are specified.

* stdio-common/tmpname.c (tmpbuf): Don't define as array of
  pointers.

Tue Oct  1 01:43:11 1996  Ulrich Drepper  <drepper@cygnus.com>

* libio/iofclose.c: Move unlocking to right position.

Mon Sep 30 03:08:34 1996  Richard Henderson  <rth@tamu.edu>

* misc/Makefile: Kill force-wrapper.
* misc/force-wrapper.c: Delete.

* elf/eval.c: Add <string.h>.

* gmon/sys/gmon_out.h: Nonsense like `char foo[sizeof(char*)]'
followed by `bcopy(&ptr, &foo, sizeof(foo))' helps portability
and binary compatibility not at all.  Better to do `char *foo'
followed by `foo = ptr' as it is much cleaner.
(struct gmon_hdr): Fix version.
(struct gmon_hist_hdr): Fix low_pc, high_pc, hist_size, prof_rate.
(struct gmon_cg_arc_record): Fix from_pc, self_pc, count.
* gmon/gmon.c: De-ansidecl-ify.
(write_hist): De-bcopy-fy.
(write_call_graph): Likewise.

* gmon/mcount.c: Assume _MCOUNT_DECL does the entire declaration.
* sysdeps/alpha/machine-gmon.h: Update _MCOUNT_DECL.
* sysdeps/generic/machine-gmon.h: Likewise.

* resolv/netdb.h: Add __set_h_errno to mimic __set_errno.
* nss/getXXent_r.c: Use __set_h_errno to set h_errno in all funcs.
* nss/nss_dns/dns-network.c: Likewise.
* resolv/getunamaddr.c: Likewise.  Also use __set_errno where needed.
* resolv/getnetnamadr.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.

* libio/clearerr_u.c: It's not necessary to define __ protected
function so don't do it.
* libio/feof_u.c, libio/ferror_u.c, libio/fputc_u.c,
  libio/getc_u.c, libio/getchar_u.c, libio/iofflush_u.c: Likewise.

* libio/fgetc.c: Avoid a warning by casting _IO_funlockfile for
the cleanup registrar.
* libio/fputc.c, libio/freopen.c, libio/fseek.c, libio/getc.c,
  libio/getchar.c, libio/iofclose.c, libio/iofflush.c,
  libio/iofgetpos.c, libio/iofgets.c, libio/iofputs.c,
  libio/iofread.c, libio/iofsetpos.c, libio/ioftell.c,
  libio/iofwrite.c, libio/iogetdelim.c, libio/iogets.c,
  libio/ioputs.c, libio/iosetbuffer.c, libio/iosetvbuf.c,
  libio/ioungetc.c, libio/putc.c, libio/putchar.c, libio/rewind.c:
Likewise.

* locale/programs/ld-ctype.c: Include <alloca.h>.

* login/login_tty.c: Get login_tty prototype from <utmp.h>.

* posix/sys/types.h: Change #defines to typedefs.  This is looking
forward to more comprehensive namespace cleanups for C++.
* posix/unistd.h: Likewise for ssize_t.

* pwd/getpw.c: Prototype and rename getpw -> __getpw and add a
weak alias.

* resolv/base64.c: Don't do `for (NULL; ...)' as it causes
`statement with no effect' warnings.
* resolv/inet_neta.c: Include <string.h> for strlen.

* stdio-common/getline.c: Undef ssize_t before libio redefinition.
* stdio-common/tstgetln.c: Same.  De-ansidecl-ify.
* stdio-common/vfprintf.c: Same for va_list.
* stdio-common/vfscanf.c: Same.
* stdio-common/reg-printf.c: Prototype the __ function.
* stdio-common/scanf.c [USE_IN_LIBIO]: Include <libioP.h> for
_IO_vscanf declaration.

* string/tester.c: Tsk, tsk.  Don't cast pointers to int,
but to unsigned long for the health of 64-bit systems.

* sunrpc/svc_udp.c: Define MAX only if we don't have it yet.
Many system's <sys/param.h> pulls this in.

* sysdeps/generic/dl-cache.c: Kill the bottom half of the
patch doubled file.

* sysdeps/generic/pty.c (forkpty): Get login_tty decl from <utmp.h>
instead of defining it locally.

* sysdeps/posix/sigvec.c: Prototype wrapper_handler and convert_mask.
* sysdeps/stub/chflags.c: Prototype chflags.
* sysdeps/stub/fchflags.c: Prototype fchflags.
* sysdeps/stub/sstk.c: Prototype sstk.

* sysdeps/unix/alpha/sysdep.S:  Add strong alias from errno
variable to __errno.  Update __syscall_error to store to both
the global and per-thread variables.

* sysdeps/unix/sysv/linux/init-first.c: Change include of
init-first.h from "" to <> as "" does not search the include path.
Prototype _dl_start.

Sun Sep 29 14:41:17 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Make it a
pattern rule to get the right stem.

Sat Sep 28 01:30:06 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* Makefile ($(objpfx)version-info.h): Fix typo in previous change.

Sat Sep 28 00:44:38 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/posix/euidaccess.c (__set_errno): Fix typo.

Sat Sep 28 00:40:38 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* malloc/free.c (_free_internal): Don't call free recursively, use
the internal functions instead.

Sat Sep 28 00:23:20 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/posix/tempname.c (__stdio_gen_tempname) [USE_IN_LIBIO &&
_IO_MTSAFE_IO]: Allocate and initialize the file lock.

Fri Sep 27 23:58:17 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* catgets/gencat.c (main): Print version information on stdout,
not stderr.
* db/makedb.c: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.

Mon Sep 30 00:14:26 1996  Ulrich Drepper  <drepper@cygnus.com>

Add implementation of netgroup.
* inet/Makefile (distributes): Add netgroup.h.
(routines): Add getnetgrent.c and getnetgrent_r.c.
* inet/getnetgrent.c: New file.
* inet/getnetgrent_r.c: New file.
* inet/netgroup.h: New file.
* netgroup.h: New file.
* nsswitch.h: New file.
* nss/Makefile (databases): Add getgrp.
* nss/databases.def: Add netgroup.
* nss/db-Makefile: Add rules for netgroup.
* nss/netgrp-lookup.c: New file.
* nss/nss.h: Add new status value NSS_STATUS_RETURN which will
always return without a check of the transition table.
* nss/nsswitch.h (struct service_user): Extend actions array to
five elements.
* nss/nsswitch.c (__nss_next): Allow NSS_STATUS_RETURN as legal
status value.
(nss_parse_service_list): Initialize action for NSS_STATUS_RETURN
to NSS_ACTION_RETURN.
* nss/nss_db/db-netgrp.c: New file.
* nss/nss_files/files-netgrp.c: New file.
* nss/nsswitch.conf: Add entry for netgroup.
* resolv/netdb.h: Add prototypes for netgroup functions.

* nss/nss_db/db-XXX.c: Use `enum nss_status' type when status
value is used.

Sun Sep 29 12:55:58 1996  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/syscalls.list: Change funciton name for
  _llseek to _llseek (not llseek).
Reported by Matthias Urlichs <smurf@smurf.noris.de>.

Sun Sep 29 05:34:32 1996  Ulrich Drepper  <drepper@cygnus.com>

* inet/rcmd.c: Remove definition of MIN.

Sat Sep 28 14:22:51 1996  Ulrich Drepper  <drepper@cygnus.com>

* dirent/readdir_r.c: Removed.  We indeed need a real implementation.
* sysdeps/unix/readdir_r.c: New file.
* sysdeps/unix/readdir.c: Remove check for correct parameter
values.  Let them simply die.
* manual/filesys.texi: Document readdir_r.

* sysdeps/gnu/errlist.awk: Define _sys_errlist as `const char* const'.
Proposed by Per Abrahamsen <abraham@dina.kvl.dk>.

193 files changed:
ChangeLog
Makefile
README.libm
dirent/tst-seekdir.c
elf/dl-open.c
io/test-utime.c
math/Makefile
po/fr.po [new file with mode: 0644]
po/ko.po
posix/getopt.c
posix/regex.c
posix/testfnm.c
shlib-versions
stdio-common/xbug.c
sysdeps/alpha/Makefile
sysdeps/alpha/bzero.S [new file with mode: 0644]
sysdeps/alpha/memset.S [new file with mode: 0644]
sysdeps/alpha/stpcpy.S [new file with mode: 0644]
sysdeps/alpha/stpncpy.S [new file with mode: 0644]
sysdeps/alpha/strcat.S [new file with mode: 0644]
sysdeps/alpha/strchr.S [new file with mode: 0644]
sysdeps/alpha/strcpy.S [new file with mode: 0644]
sysdeps/alpha/strncat.S [new file with mode: 0644]
sysdeps/alpha/strncpy.S [new file with mode: 0644]
sysdeps/alpha/strrchr.S [new file with mode: 0644]
sysdeps/alpha/stxcpy.S [new file with mode: 0644]
sysdeps/alpha/stxncpy.S [new file with mode: 0644]
sysdeps/generic/crypt-entry.c [new file with mode: 0644]
sysdeps/generic/crypt.h [new file with mode: 0644]
sysdeps/generic/strtok.c
sysdeps/generic/strtok_r.c
sysdeps/i386/__longjmp.S
sysdeps/i386/bsd-_setjmp.S
sysdeps/i386/bsd-setjmp.S
sysdeps/i386/i486/strcat.S
sysdeps/i386/i486/strlen.S
sysdeps/i386/i586/memset.S
sysdeps/i386/i586/strchr.S
sysdeps/i386/i586/strlen.S
sysdeps/i386/memchr.S
sysdeps/i386/memcmp.S
sysdeps/i386/setjmp.S
sysdeps/i386/stpcpy.S
sysdeps/i386/stpncpy.S
sysdeps/i386/strchr.S
sysdeps/i386/strcspn.S
sysdeps/i386/strpbrk.S
sysdeps/i386/strrchr.S
sysdeps/i386/strspn.S
sysdeps/i386/strtok.S
sysdeps/i386/sysdep.h
sysdeps/libm-i387/e_acos.S
sysdeps/libm-i387/e_acosl.S
sysdeps/libm-i387/e_asin.S
sysdeps/libm-i387/e_asinl.S
sysdeps/libm-i387/e_atan2.S
sysdeps/libm-i387/e_atan2f.S
sysdeps/libm-i387/e_atan2l.S
sysdeps/libm-i387/e_exp.S
sysdeps/libm-i387/e_expl.S
sysdeps/libm-i387/e_fmod.S
sysdeps/libm-i387/e_fmodl.S
sysdeps/libm-i387/e_log.S
sysdeps/libm-i387/e_log10.S
sysdeps/libm-i387/e_log10l.S
sysdeps/libm-i387/e_logl.S
sysdeps/libm-i387/e_remainder.S
sysdeps/libm-i387/e_remainderf.S
sysdeps/libm-i387/e_remainderl.S
sysdeps/libm-i387/e_scalb.S
sysdeps/libm-i387/e_scalbl.S
sysdeps/libm-i387/e_sqrt.S
sysdeps/libm-i387/e_sqrtf.S
sysdeps/libm-i387/e_sqrtl.S
sysdeps/libm-i387/s_atan.S
sysdeps/libm-i387/s_atanf.S
sysdeps/libm-i387/s_atanl.S
sysdeps/libm-i387/s_ceil.S
sysdeps/libm-i387/s_ceilf.S
sysdeps/libm-i387/s_ceill.S
sysdeps/libm-i387/s_copysign.S
sysdeps/libm-i387/s_copysignf.S
sysdeps/libm-i387/s_copysignl.S
sysdeps/libm-i387/s_cos.S
sysdeps/libm-i387/s_cosf.S
sysdeps/libm-i387/s_cosl.S
sysdeps/libm-i387/s_finite.S
sysdeps/libm-i387/s_finitef.S
sysdeps/libm-i387/s_finitel.S
sysdeps/libm-i387/s_floor.S
sysdeps/libm-i387/s_floorf.S
sysdeps/libm-i387/s_floorl.S
sysdeps/libm-i387/s_ilogb.S
sysdeps/libm-i387/s_ilogbf.S
sysdeps/libm-i387/s_ilogbl.S
sysdeps/libm-i387/s_log1p.S
sysdeps/libm-i387/s_log1pf.S
sysdeps/libm-i387/s_log1pl.S
sysdeps/libm-i387/s_logb.S
sysdeps/libm-i387/s_logbf.S
sysdeps/libm-i387/s_logbl.S
sysdeps/libm-i387/s_rint.S
sysdeps/libm-i387/s_rintf.S
sysdeps/libm-i387/s_rintl.S
sysdeps/libm-i387/s_scalbn.S
sysdeps/libm-i387/s_scalbnf.S
sysdeps/libm-i387/s_scalbnl.S
sysdeps/libm-i387/s_significand.S
sysdeps/libm-i387/s_significandf.S
sysdeps/libm-i387/s_significandl.S
sysdeps/libm-i387/s_sin.S
sysdeps/libm-i387/s_sinf.S
sysdeps/libm-i387/s_sinl.S
sysdeps/libm-i387/s_tan.S
sysdeps/libm-i387/s_tanf.S
sysdeps/libm-i387/s_tanl.S
sysdeps/libm-ieee754/e_atanhl.c
sysdeps/libm-ieee754/e_coshl.c [new file with mode: 0644]
sysdeps/libm-ieee754/s_asinh.c
sysdeps/libm-ieee754/s_asinhl.c
sysdeps/libm-ieee754/s_atan.c
sysdeps/libm-ieee754/s_cbrt.c
sysdeps/libm-ieee754/s_ceil.c
sysdeps/libm-ieee754/s_copysign.c
sysdeps/libm-ieee754/s_cos.c
sysdeps/libm-ieee754/s_erf.c
sysdeps/libm-ieee754/s_expm1.c
sysdeps/libm-ieee754/s_fabs.c
sysdeps/libm-ieee754/s_finite.c
sysdeps/libm-ieee754/s_floor.c
sysdeps/libm-ieee754/s_frexp.c
sysdeps/libm-ieee754/s_ilogb.c
sysdeps/libm-ieee754/s_ldexp.c
sysdeps/libm-ieee754/s_log1p.c
sysdeps/libm-ieee754/s_logb.c
sysdeps/libm-ieee754/s_modf.c
sysdeps/libm-ieee754/s_nextafter.c
sysdeps/libm-ieee754/s_rint.c
sysdeps/libm-ieee754/s_scalbn.c
sysdeps/libm-ieee754/s_significand.c
sysdeps/libm-ieee754/s_sin.c
sysdeps/libm-ieee754/s_tan.c
sysdeps/libm-ieee754/s_tanh.c
sysdeps/libm-ieee754/s_tanhl.c
sysdeps/libm-ieee754/w_acos.c
sysdeps/libm-ieee754/w_acosh.c
sysdeps/libm-ieee754/w_asin.c
sysdeps/libm-ieee754/w_atan2.c
sysdeps/libm-ieee754/w_atanh.c
sysdeps/libm-ieee754/w_cabs.c
sysdeps/libm-ieee754/w_cosh.c
sysdeps/libm-ieee754/w_drem.c
sysdeps/libm-ieee754/w_exp.c
sysdeps/libm-ieee754/w_fmod.c
sysdeps/libm-ieee754/w_gamma.c
sysdeps/libm-ieee754/w_gamma_r.c
sysdeps/libm-ieee754/w_hypot.c
sysdeps/libm-ieee754/w_j0.c
sysdeps/libm-ieee754/w_j1.c
sysdeps/libm-ieee754/w_jn.c
sysdeps/libm-ieee754/w_lgamma.c
sysdeps/libm-ieee754/w_lgamma_r.c
sysdeps/libm-ieee754/w_log.c
sysdeps/libm-ieee754/w_log10.c
sysdeps/libm-ieee754/w_pow.c
sysdeps/libm-ieee754/w_remainder.c
sysdeps/libm-ieee754/w_scalb.c
sysdeps/libm-ieee754/w_sinh.c
sysdeps/libm-ieee754/w_sqrt.c
sysdeps/posix/cuserid.c
sysdeps/stub/e_acoshl.c [new file with mode: 0644]
sysdeps/stub/e_hypotl.c [new file with mode: 0644]
sysdeps/stub/e_j0l.c [new file with mode: 0644]
sysdeps/stub/e_j1l.c [new file with mode: 0644]
sysdeps/stub/e_jnl.c [new file with mode: 0644]
sysdeps/stub/e_lgammal_r.c [new file with mode: 0644]
sysdeps/stub/e_powl.c [new file with mode: 0644]
sysdeps/stub/e_rem_pio2l.c [new file with mode: 0644]
sysdeps/stub/e_sinhl.c [new file with mode: 0644]
sysdeps/stub/k_cosl.c [new file with mode: 0644]
sysdeps/stub/k_rem_pio2l.c [new file with mode: 0644]
sysdeps/stub/k_sinl.c [new file with mode: 0644]
sysdeps/stub/k_tanl.c [new file with mode: 0644]
sysdeps/stub/s_erfl.c [new file with mode: 0644]
sysdeps/stub/s_expm1l.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/i386/clone.S
sysdeps/unix/sysv/linux/i386/mmap.S
sysdeps/unix/sysv/linux/i386/profil-counter.h
sysdeps/unix/sysv/linux/i386/sigcontext.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/i386/socket.S
sysdeps/unix/sysv/linux/i386/syscall.S
sysdeps/unix/sysv/linux/i386/sysdep.S
sysdeps/unix/sysv/linux/i386/sysdep.h

index decbf312758102fd18bdfb20e5d5f02a2e2cddb0..c076757269896a1b677e155bb78b2c8b225938a7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,454 @@
+Sun Oct  6 02:05:52 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * posix/getopt.c: Add casts to prevent warnings.
+       * posix/regex.c: Likewise.
+
+       * math/Makefile (long-m-routines, long-m-yes): Define to correct
+       values to make `long double' functions available.
+       (distribute): Add $(long-m-yes:=.c).
+
+       * sysdeps/libm-i387/s_ceill.S: Correct loading of return value.
+       Use long double instruction.
+
+       * sysdeps/libm-ieee754/e_atanhl.c (huge): Correct constant.
+       * sysdeps/libm-ieee754/e_asinhl.c: Likewise.
+       * sysdeps/libm-ieee754/s_tanhl.c: Likewise.
+
+       * sysdeps/libm-ieee754/e_coshl.c: New file.
+
+       * sysdeps/libm-ieee754/s_asinh.c [!NO_LONG_DOUBLE]: Define names
+       for `long double' version as alias.
+       * sysdeps/libm-ieee754/s_atan.c: Likewise.
+       * sysdeps/libm-ieee754/s_cbrt.c: Likewise.
+       * sysdeps/libm-ieee754/s_ceil.c: Likewise.
+       * sysdeps/libm-ieee754/s_copysign.c: Likewise.
+       * sysdeps/libm-ieee754/s_cos.c: Likewise.
+       * sysdeps/libm-ieee754/s_erf.c: Likewise.
+       * sysdeps/libm-ieee754/s_expm1.c: Likewise.
+       * sysdeps/libm-ieee754/s_fabs.c: Likewise.
+       * sysdeps/libm-ieee754/s_finite.c: Likewise.
+       * sysdeps/libm-ieee754/s_floor.c: Likewise.
+       * sysdeps/libm-ieee754/s_frexp.c: Likewise.
+       * sysdeps/libm-ieee754/s_ilogb.c: Likewise.
+       * sysdeps/libm-ieee754/s_ldexp.c: Likewise.
+       * sysdeps/libm-ieee754/s_log1p.c: Likewise.
+       * sysdeps/libm-ieee754/s_logb.c: Likewise.
+       * sysdeps/libm-ieee754/s_modf.c: Likewise.
+       * sysdeps/libm-ieee754/s_nextafter.c: Likewise.
+       * sysdeps/libm-ieee754/s_rint.c: Likewise.
+       * sysdeps/libm-ieee754/s_scalbn.c: Likewise.
+       * sysdeps/libm-ieee754/s_significand.c: Likewise.
+       * sysdeps/libm-ieee754/s_sin.c: Likewise.
+       * sysdeps/libm-ieee754/s_tan.c: Likewise.
+       * sysdeps/libm-ieee754/s_tanh.c: Likewise.
+       * sysdeps/libm-ieee754/w_acos.c: Likewise.
+       * sysdeps/libm-ieee754/w_acosh.c: Likewise.
+       * sysdeps/libm-ieee754/w_sin.c: Likewise.
+       * sysdeps/libm-ieee754/w_atan2.c: Likewise.
+       * sysdeps/libm-ieee754/w_atanh.c: Likewise.
+       * sysdeps/libm-ieee754/w_cabs.c: Likewise.
+       * sysdeps/libm-ieee754/w_cosh.c: Likewise.
+       * sysdeps/libm-ieee754/w_drem.c: Likewise.
+       * sysdeps/libm-ieee754/w_exp.c: Likewise.
+       * sysdeps/libm-ieee754/w_fmod.c: Likewise.
+       * sysdeps/libm-ieee754/w_gamma.c: Likewise.
+       * sysdeps/libm-ieee754/w_gamma_r.c: Likewise.
+       * sysdeps/libm-ieee754/w_hypot.c: Likewise.
+       * sysdeps/libm-ieee754/w_j0.c: Likewise.
+       * sysdeps/libm-ieee754/w_j1.c: Likewise.
+       * sysdeps/libm-ieee754/w_jn.c: Likewise.
+       * sysdeps/libm-ieee754/w_lgamma.c: Likewise.
+       * sysdeps/libm-ieee754/w_lgamma_r.c: Likewise.
+       * sysdeps/libm-ieee754/w_log.c: Likewise.
+       * sysdeps/libm-ieee754/w_log10.c: Likewise.
+       * sysdeps/libm-ieee754/w_pow.c: Likewise.
+       * sysdeps/libm-ieee754/w_remainder.c: Likewise.
+       * sysdeps/libm-ieee754/w_scalb.c: Likewise.
+       * sysdeps/libm-ieee754/w_sinh.c: Likewise.
+       * sysdeps/libm-ieee754/w_sqrt.c: Likewise.
+
+       Stub files for missing long double math functions.
+       * sysdeps/stub/e_acoshl.c: New file.
+       * sysdeps/stub/e_hypotl.c: New file.
+       * sysdeps/stub/e_j0l.c: New file.
+       * sysdeps/stub/e_j1l.c: New file.
+       * sysdeps/stub/e_jnl.c: New file.
+       * sysdeps/stub/e_lgammal_r.c: New file.
+       * sysdeps/stub/e_powl.c: New file.
+       * sysdeps/stub/e_rem_pio2l.c: New file.
+       * sysdeps/stub/e_sinhl.c: New file.
+       * sysdeps/stub/k_cosl.c: New file.
+       * sysdeps/stub/k_rem_pio2l.c: New file.
+       * sysdeps/stub/k_sinl.c: New file.
+       * sysdeps/stub/k_tanl.c: New file.
+       * sysdeps/stub/s_erfl.c: New file.
+       * sysdeps/stub/s_expm1l.c: New file.
+
+       * sysdeps/i386/__longjmp.S: Use PSEUDO_END macro to provide
+       .size directive.
+       * sysdeps/i386/bsd-_setjmp.S: Likewise.
+       * sysdeps/i386/bsd-setjmp.S: Likewise.
+       * sysdeps/i386/memchr.S: Likewise.
+       * sysdeps/i386/memcmp.S: Likewise.
+       * sysdeps/i386/setjmp.S: Likewise.
+       * sysdeps/i386/stpcpy.S: Likewise.
+       * sysdeps/i386/stpncpy.S: Likewise.
+       * sysdeps/i386/strchr.S: Likewise.
+       * sysdeps/i386/strcspn.S: Likewise.
+       * sysdeps/i386/strpbrk.S: Likewise.
+       * sysdeps/i386/strrchr.S: Likewise.
+       * sysdeps/i386/strspn.S: Likewise.
+       * sysdeps/i386/strtok.S: Likewise.
+       * sysdeps/i386/i486/strcat.S: Likewise.
+       * sysdeps/i386/i486/strlen.S: Likewise.
+       * sysdeps/i386/i586/memset.S: Likewise.
+       * sysdeps/i386/i586/strchr.S: Likewise.
+       * sysdeps/i386/i586/strlen.S: Likewise.
+       * sysdeps/libm-i387/e_acos.S: Likewise.
+       * sysdeps/libm-i387/e_acosl.S: Likewise.
+       * sysdeps/libm-i387/e_asin.S: Likewise.
+       * sysdeps/libm-i387/e_asinl.S: Likewise.
+       * sysdeps/libm-i387/e_atan2.S: Likewise.
+       * sysdeps/libm-i387/e_atan2l.S: Likewise.
+       * sysdeps/libm-i387/e_exp.S: Likewise.
+       * sysdeps/libm-i387/e_expl.S: Likewise.
+       * sysdeps/libm-i387/e_fmod.S: Likewise.
+       * sysdeps/libm-i387/e_fmodl.S: Likewise.
+       * sysdeps/libm-i387/e_log.S: Likewise.
+       * sysdeps/libm-i387/e_log10.S: Likewise.
+       * sysdeps/libm-i387/e_log10l.S: Likewise.
+       * sysdeps/libm-i387/e_logl.S: Likewise.
+       * sysdeps/libm-i387/e_remainder.S: Likewise.
+       * sysdeps/libm-i387/e_remainderf.S: Likewise.
+       * sysdeps/libm-i387/e_remainderl.S: Likewise.
+       * sysdeps/libm-i387/e_scalb.S: Likewise.
+       * sysdeps/libm-i387/e_scalbl.S: Likewise.
+       * sysdeps/libm-i387/e_sqrt.S: Likewise.
+       * sysdeps/libm-i387/e_sqrtf.S: Likewise.
+       * sysdeps/libm-i387/e_sqrtl.S: Likewise.
+       * sysdeps/libm-i387/s_atan.S: Likewise.
+       * sysdeps/libm-i387/s_atanf.S: Likewise.
+       * sysdeps/libm-i387/s_atanl.S: Likewise.
+       * sysdeps/libm-i387/s_ceil.S: Likewise.
+       * sysdeps/libm-i387/s_ceilf.S: Likewise.
+       * sysdeps/libm-i387/s_ceill.S: Likewise.
+       * sysdeps/libm-i387/s_copysign.S: Likewise.
+       * sysdeps/libm-i387/s_copysignf.S: Likewise.
+       * sysdeps/libm-i387/s_copysignl.S: Likewise.
+       * sysdeps/libm-i387/s_cos.S: Likewise.
+       * sysdeps/libm-i387/s_cosf.S: Likewise.
+       * sysdeps/libm-i387/s_cosl.S: Likewise.
+       * sysdeps/libm-i387/s_finite.S: Likewise.
+       * sysdeps/libm-i387/s_finitef.S: Likewise.
+       * sysdeps/libm-i387/s_finitel.S: Likewise.
+       * sysdeps/libm-i387/s_floor.S: Likewise.
+       * sysdeps/libm-i387/s_floorf.S: Likewise.
+       * sysdeps/libm-i387/s_floorl.S: Likewise.
+       * sysdeps/libm-i387/s_ilogb.S: Likewise.
+       * sysdeps/libm-i387/s_ilogbf.S: Likewise.
+       * sysdeps/libm-i387/s_ilogbl.S: Likewise.
+       * sysdeps/libm-i387/s_log1p.S: Likewise.
+       * sysdeps/libm-i387/s_log1pf.S: Likewise.
+       * sysdeps/libm-i387/s_log1pl.S: Likewise.
+       * sysdeps/libm-i387/s_logb.S: Likewise.
+       * sysdeps/libm-i387/s_logbf.S: Likewise.
+       * sysdeps/libm-i387/s_logbl.S: Likewise.
+       * sysdeps/libm-i387/s_rint.S: Likewise.
+       * sysdeps/libm-i387/s_rintf.S: Likewise.
+       * sysdeps/libm-i387/s_rintl.S: Likewise.
+       * sysdeps/libm-i387/s_scalbn.S: Likewise.
+       * sysdeps/libm-i387/s_scalbnf.S: Likewise.
+       * sysdeps/libm-i387/s_scalbnl.S: Likewise.
+       * sysdeps/libm-i387/s_significand.S: Likewise.
+       * sysdeps/libm-i387/s_significandf.S: Likewise.
+       * sysdeps/libm-i387/s_significandl.S: Likewise.
+       * sysdeps/libm-i387/s_sin.S: Likewise.
+       * sysdeps/libm-i387/s_sinf.S: Likewise.
+       * sysdeps/libm-i387/s_sinl.S: Likewise.
+       * sysdeps/libm-i387/s_tan.S: Likewise.
+       * sysdeps/libm-i387/s_tanf.S: Likewise.
+       * sysdeps/libm-i387/s_tanl.S: Likewise.
+
+       * sysdeps/unix/sysv/linux/i386/clone.S: Add .size directive.
+       * sysdeps/unix/sysv/linux/i386/mmap.S. Likewise.
+       * sysdeps/unix/sysv/linux/i386/socket.S. Likewise.
+       * sysdeps/unix/sysv/linux/i386/sysdep.S. More compact .size line.
+
+       * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): New macro.  Used
+       to provide .size directive on ELF systems.
+
+       * sysdeps/unix/sysv/linux/i386/profil-counter.h: Include
+       <sigcontext.h> and rename parameter type to sigcontext.
+       * sysdeps/unix/sysv/linux/i386/sigcontext.h New file.
+
+       * sysdeps/unix/sysv/linux/i386/syscall.S: From Linux 2.1 on
+       negative values might occur as positive results.  Test against
+       -125 to decide for error or not.
+       * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise for system calls.
+
+Thu Oct  3 21:07:58 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * elf/dl-open.c: Use _DYNAMIC instead of _dl_start to decide
+       whether this is a statically linked program.  The latter is now
+       always defined.
+
+Fri Oct  4 02:08:10 1996  Bang Jun-Young  <bangjy@nownuri.nowcom.co.kr>
+
+       * po/ko.po: Update.
+
+Fri Oct  4 02:07:46 1996  Michel Robitaille  <robitail@IRO.UMontreal.CA>
+
+       * po/fr.po: New file.
+
+Fri Oct  4 05:04:52 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/i386/sigcontext.h: New file.
+
+       Add support for MD5 crypt replacement.
+       * Makefile (subdirs): Add crypt.
+       * shlib-versions: Add entry for libcrypt.
+       * crypt/md5-crypt.c: New file.
+       * crypt/md5.c: New file.
+       * crypt/md5.h: New file.
+       * sysdeps/generic/crypt-entry.c: New file.
+       * sysdeps/generic/crypt.h: New file.
+
+Thu Oct  3 20:53:23 1996  Andreas Jaeger  <aj@arthur.pfalz.de>
+
+       * dirent/tst-seekdir.c: Provide correct prototypes.
+       * io/test-utime.c: Likewise.
+       * malloc/mallocbug.c: Likewise.
+       * posix/testfnm.c: Likewise.
+       * stdio-common/xbug.c: Likewise.
+       * sysdeps/posix/cuserid.c: Likewise.
+
+Wed Oct  2 13:33:48 1996  Richard Henderson  <rth@tamu.edu>
+
+       Provide optimized string functions for Alpha processors.
+       * sysdeps/alpha/bzero.S: New file.
+       * sysdeps/alpha/memset.S: New file.
+       * sysdeps/alpha/stpcpy.S: New file.
+       * sysdeps/alpha/stpncpy.S: New file.
+       * sysdeps/alpha/strcat.S: New file.
+       * sysdeps/alpha/strchr.S: New file.
+       * sysdeps/alpha/strcpy.S: New file.
+       * sysdeps/alpha/strncat.S: New file.
+       * sysdeps/alpha/strncpy.S: New file.
+       * sysdeps/alpha/strrchr.S: New file.
+       * sysdeps/alpha/stxcpy.S: New file.
+       * sysdeps/alpha/stxncpy.S: New file.
+
+       * sysdeps/alpha/Makefile [$(sudir)==string]: Add stxcpy and
+       stxncpy to sysdep_routines.
+       Minor correction.
+
+Wed Oct  2 13:41:48 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/generic/strtok.c: Don't set stored pointer to NULL when
+       notheing is found.  This guarantees all subsequent calls behave
+       the same.
+       * sysdeps/generic/strtok_r.c: Likewise.
+
+Mon Sep 30 22:27:36 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/posix/tempname.c (__stdio_gen_tempname): Don't declare
+       `i' as const.
+
+Mon Sep 30 22:38:29 1996  Richard Henderson  <rth@tamu.edu>
+
+       * sysdeps/generic/strtok.c: When we hit EOS, don't set olds to
+       NULL immediately; we're going to get called one more time.
+       * sysdeps/generic/strtok_r.c: Likewise.
+
+Tue Oct  1 09:12:21 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * locale/programs/ld-time.c: Always write some bytes at the end of
+       the file even if no `era's are specified.
+
+       * stdio-common/tmpname.c (tmpbuf): Don't define as array of
+       pointers.
+
+Tue Oct  1 01:43:11 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * libio/iofclose.c: Move unlocking to right position.
+
+Mon Sep 30 03:08:34 1996  Richard Henderson  <rth@tamu.edu>
+
+       * misc/Makefile: Kill force-wrapper.
+       * misc/force-wrapper.c: Delete.
+
+       * elf/eval.c: Add <string.h>.
+
+       * gmon/sys/gmon_out.h: Nonsense like `char foo[sizeof(char*)]'
+       followed by `bcopy(&ptr, &foo, sizeof(foo))' helps portability
+       and binary compatibility not at all.  Better to do `char *foo'
+       followed by `foo = ptr' as it is much cleaner.
+       (struct gmon_hdr): Fix version.
+       (struct gmon_hist_hdr): Fix low_pc, high_pc, hist_size, prof_rate.
+       (struct gmon_cg_arc_record): Fix from_pc, self_pc, count.
+       * gmon/gmon.c: De-ansidecl-ify.
+       (write_hist): De-bcopy-fy.
+       (write_call_graph): Likewise.
+
+       * gmon/mcount.c: Assume _MCOUNT_DECL does the entire declaration.
+       * sysdeps/alpha/machine-gmon.h: Update _MCOUNT_DECL.
+       * sysdeps/generic/machine-gmon.h: Likewise.
+
+       * resolv/netdb.h: Add __set_h_errno to mimic __set_errno.
+       * nss/getXXent_r.c: Use __set_h_errno to set h_errno in all funcs.
+       * nss/nss_dns/dns-network.c: Likewise.
+       * resolv/getunamaddr.c: Likewise.  Also use __set_errno where needed.
+       * resolv/getnetnamadr.c: Likewise.
+       * resolv/res_debug.c: Likewise.
+       * resolv/res_mkquery.c: Likewise.
+       * resolv/res_query.c: Likewise.
+
+       * libio/clearerr_u.c: It's not necessary to define __ protected
+       function so don't do it.
+       * libio/feof_u.c, libio/ferror_u.c, libio/fputc_u.c,
+         libio/getc_u.c, libio/getchar_u.c, libio/iofflush_u.c: Likewise.
+
+       * libio/fgetc.c: Avoid a warning by casting _IO_funlockfile for
+       the cleanup registrar.
+       * libio/fputc.c, libio/freopen.c, libio/fseek.c, libio/getc.c,
+         libio/getchar.c, libio/iofclose.c, libio/iofflush.c,
+         libio/iofgetpos.c, libio/iofgets.c, libio/iofputs.c,
+         libio/iofread.c, libio/iofsetpos.c, libio/ioftell.c,
+         libio/iofwrite.c, libio/iogetdelim.c, libio/iogets.c,
+         libio/ioputs.c, libio/iosetbuffer.c, libio/iosetvbuf.c,
+         libio/ioungetc.c, libio/putc.c, libio/putchar.c, libio/rewind.c:
+       Likewise.
+
+       * locale/programs/ld-ctype.c: Include <alloca.h>.
+
+       * login/login_tty.c: Get login_tty prototype from <utmp.h>.
+
+       * posix/sys/types.h: Change #defines to typedefs.  This is looking
+       forward to more comprehensive namespace cleanups for C++.
+       * posix/unistd.h: Likewise for ssize_t.
+
+       * pwd/getpw.c: Prototype and rename getpw -> __getpw and add a
+       weak alias.
+
+       * resolv/base64.c: Don't do `for (NULL; ...)' as it causes
+       `statement with no effect' warnings.
+       * resolv/inet_neta.c: Include <string.h> for strlen.
+
+       * stdio-common/getline.c: Undef ssize_t before libio redefinition.
+       * stdio-common/tstgetln.c: Same.  De-ansidecl-ify.
+       * stdio-common/vfprintf.c: Same for va_list.
+       * stdio-common/vfscanf.c: Same.
+       * stdio-common/reg-printf.c: Prototype the __ function.
+       * stdio-common/scanf.c [USE_IN_LIBIO]: Include <libioP.h> for
+       _IO_vscanf declaration.
+
+       * string/tester.c: Tsk, tsk.  Don't cast pointers to int,
+       but to unsigned long for the health of 64-bit systems.
+
+       * sunrpc/svc_udp.c: Define MAX only if we don't have it yet.
+       Many system's <sys/param.h> pulls this in.
+
+       * sysdeps/generic/dl-cache.c: Kill the bottom half of the
+       patch doubled file.
+
+       * sysdeps/generic/pty.c (forkpty): Get login_tty decl from <utmp.h>
+       instead of defining it locally.
+
+       * sysdeps/posix/sigvec.c: Prototype wrapper_handler and convert_mask.
+       * sysdeps/stub/chflags.c: Prototype chflags.
+       * sysdeps/stub/fchflags.c: Prototype fchflags.
+       * sysdeps/stub/sstk.c: Prototype sstk.
+
+       * sysdeps/unix/alpha/sysdep.S:  Add strong alias from errno
+       variable to __errno.  Update __syscall_error to store to both
+       the global and per-thread variables.
+
+       * sysdeps/unix/sysv/linux/init-first.c: Change include of
+       init-first.h from "" to <> as "" does not search the include path.
+       Prototype _dl_start.
+
+Sun Sep 29 14:41:17 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Make it a
+       pattern rule to get the right stem.
+
+Sat Sep 28 01:30:06 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * Makefile ($(objpfx)version-info.h): Fix typo in previous change.
+
+Sat Sep 28 00:44:38 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/posix/euidaccess.c (__set_errno): Fix typo.
+
+Sat Sep 28 00:40:38 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * malloc/free.c (_free_internal): Don't call free recursively, use
+       the internal functions instead.
+
+Sat Sep 28 00:23:20 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/posix/tempname.c (__stdio_gen_tempname) [USE_IN_LIBIO &&
+       _IO_MTSAFE_IO]: Allocate and initialize the file lock.
+
+Fri Sep 27 23:58:17 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * catgets/gencat.c (main): Print version information on stdout,
+       not stderr.
+       * db/makedb.c: Likewise.
+       * locale/programs/locale.c: Likewise.
+       * locale/programs/localedef.c: Likewise.
+
+Mon Sep 30 00:14:26 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       Add implementation of netgroup.
+       * inet/Makefile (distributes): Add netgroup.h.
+       (routines): Add getnetgrent.c and getnetgrent_r.c.
+       * inet/getnetgrent.c: New file.
+       * inet/getnetgrent_r.c: New file.
+       * inet/netgroup.h: New file.
+       * netgroup.h: New file.
+       * nsswitch.h: New file.
+       * nss/Makefile (databases): Add getgrp.
+       * nss/databases.def: Add netgroup.
+       * nss/db-Makefile: Add rules for netgroup.
+       * nss/netgrp-lookup.c: New file.
+       * nss/nss.h: Add new status value NSS_STATUS_RETURN which will
+       always return without a check of the transition table.
+       * nss/nsswitch.h (struct service_user): Extend actions array to
+       five elements.
+       * nss/nsswitch.c (__nss_next): Allow NSS_STATUS_RETURN as legal
+       status value.
+       (nss_parse_service_list): Initialize action for NSS_STATUS_RETURN
+       to NSS_ACTION_RETURN.
+       * nss/nss_db/db-netgrp.c: New file.
+       * nss/nss_files/files-netgrp.c: New file.
+       * nss/nsswitch.conf: Add entry for netgroup.
+       * resolv/netdb.h: Add prototypes for netgroup functions.
+
+       * nss/nss_db/db-XXX.c: Use `enum nss_status' type when status
+       value is used.
+
+Sun Sep 29 12:55:58 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/syscalls.list: Change funciton name for
+       _llseek to _llseek (not llseek).
+       Reported by Matthias Urlichs <smurf@smurf.noris.de>.
+
+Sun Sep 29 05:34:32 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * inet/rcmd.c: Remove definition of MIN.
+
+Sat Sep 28 14:22:51 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+       * dirent/readdir_r.c: Removed.  We indeed need a real implementation.
+       * sysdeps/unix/readdir_r.c: New file.
+       * sysdeps/unix/readdir.c: Remove check for correct parameter
+       values.  Let them simply die.
+       * manual/filesys.texi: Document readdir_r.
+
+       * sysdeps/gnu/errlist.awk: Define _sys_errlist as `const char* const'.
+       Proposed by Per Abrahamsen <abraham@dina.kvl.dk>.
+
 Sat Sep 28 03:02:49 1996  Ulrich Drepper  <drepper@cygnus.com>
 
        * dirent/Makefile (routines): Add readdir_r.
index c9513a2684b0984841c01020e53b6c7320cb2db5..8556b61761ee1f46c315cad9ae3013dc4f0e876c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,7 @@ endif
 subdirs = csu assert ctype db locale intl catgets math setjmp signal stdlib \
          stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd\
          posix io termios resource misc login socket sysvipc gmon gnulib \
-         wctype manual shadow $(sysdep-subdirs) nss elf po $(add-ons)
+         wctype manual shadow crypt $(sysdep-subdirs) nss elf po $(add-ons)
 export subdirs := $(subdirs)   # Benign, useless in GNU make before 3.63.
 
 # The mach and hurd subdirectories have many generated header files which
index 6efd8ceed3168cadb65ab1a665ede0d312bed002..40edd3177acb5e5a3d859f446a95c0e6e326c573 100644 (file)
@@ -4,7 +4,6 @@ function have to be written:
 e_acosl.c
 e_asinl.c
 e_atan2l.c
-e_acoshl.c
 e_expl.c
 e_fmodl.c
 e_hypotl.c
index 3022783e54e9d3718c257ff668f3b781874317b3..f12b13f4d3f7f96f5e8b7bed5a77b48b71badf2f 100644 (file)
@@ -3,7 +3,7 @@
 #include <stdlib.h>
 
 int
-main ()
+main (int argc, char *argv[])
 {
 
   DIR * dirp;
@@ -31,7 +31,7 @@ main ()
   /* go back to saved entry */
   seekdir (dirp, save3);
 
-  
+
   /* print remaining files (3-last) */
   for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
     printf("%s\n", dp->d_name);
index ff19f811d54f1717a0d24e428df5bc64eae6772e..6b8b21858232d4879b0f451508e3848b1d05766c 100644 (file)
@@ -23,7 +23,7 @@ Cambridge, MA 02139, USA.  */
 #include <errno.h>
 
 
-extern void _dl_start (void); weak_extern (_dl_start)
+weak_extern (_DYNAMIC)
 
 extern int __libc_multiple_libcs;      /* Defined in init-first.c.  */
 
@@ -40,9 +40,6 @@ _dl_open (const char *file, int mode)
   struct link_map *new, *l;
   ElfW(Addr) init;
   struct r_debug *r;
-  /* To decide whether we are the static libc or not.  We must use
-     this variable since gcc would otherwise optimize the test away.  */
-  void (*dl_start_ptr) (void) = &_dl_start;
 
   /* Load the named object.  */
   new = _dl_map_object (NULL, file, lt_loaded);
@@ -144,10 +141,9 @@ _dl_open (const char *file, int mode)
     (*(void (*) (int, char **, char **)) init) (__libc_argc, __libc_argv,
                                                __environ);
 
-  if (dl_start_ptr == NULL)
-    /* We must be the static _dl_open in libc.a because ld.so.1 is not
-       in scope.  A static program that has loaded a dynamic object
-       now has competition.  */
+  if (_DYNAMIC == NULL)
+    /* We must be the static _dl_open in libc.a.  A static program that
+       has loaded a dynamic object now has competition.  */
     __libc_multiple_libcs = 1;
 
   return new;
index 565e0108150919c25424966ae7da34a79ba6f8c6..ef5ab97fd28b42adee4c230469ff49d8bed5fb32 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,7 @@ Cambridge, MA 02139, USA.  */
 #include <unistd.h>
 
 int
-main ()
+main (int argc, char *argv[])
 {
   char file[L_tmpnam];
   struct utimbuf ut;
index c7bacd03f82f1b608924b176bb649bff8afb0269..9b15e636b4c21db2252364eede60eb0a77e93401 100644 (file)
@@ -49,9 +49,9 @@ libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod        \
 libm-routines = $(libm-support) $(libm-calls) \
                $(patsubst %_rf,%f_r,$(libm-calls:=f))  \
                $(long-m-$(long-double-fcts))
-long-m-routines = $(patsubst %_rl,%l_r,$(libm-calls:=l)) # not ready yet
-#long-m-yes = $(long-m-routines) # uncomment this when code works
-#distribute += $(long-m-routines:=.c) # and this when at least all files exist
+long-m-routines = $(patsubst %_rl,%l_r,$(libm-calls:=l))
+long-m-yes = $(long-m-routines)
+distribute += $(long-m-yes:=.c)
 
 # These functions are in libc instead of libm because __printf_fp
 # calls them, so any program using printf will need them linked in,
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..94c54e8
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,2652 @@
+# Messages frangais pour GNU concernant gcal.
+# Copyright (C) 1996 Free Software Foundation, Inc.
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU libc 1.94\n"
+"POT-Creation-Date: 1996-09-08 03:45 -0400\n"
+"PO-Revision-Date: 1996-09-29 14:50 -0400\n"
+"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+"Language-Team: French <fr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: sunrpc/rpc_main.c:80
+#, c-format
+msgid "       %s [-c | -h | -l | -m] [-o outfile] [infile]\n"
+msgstr "       %s [-c | -h | -l | -m] [-o fichier_de_sortie] [fichier_d_entrée]\n"
+
+#: sunrpc/rpc_main.c:83
+#, c-format
+msgid "       %s [-s udp|tcp]* [-o outfile] [infile]\n"
+msgstr "       %s [-s udp|tcp]* [-o fichier_de_sortie] [fichier_d_entrée]\n"
+
+#: sunrpc/rpcinfo.c:612
+msgid "       rpcinfo -b prognum versnum\n"
+msgstr "       rpcinfo -b no_program no_version\n"
+
+#: sunrpc/rpcinfo.c:613
+msgid "       rpcinfo -d prognum versnum\n"
+msgstr "       rpcinfo -d no_program no_version\n"
+
+#: sunrpc/rpcinfo.c:611
+msgid "       rpcinfo -p [ host ]\n"
+msgstr "       rpcinfo -p [ hôte ]\n"
+
+#: sunrpc/rpcinfo.c:610
+msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
+msgstr "       rpcinfo [ -n no_de_port ] -t hôte no_program [ no_version ]\n"
+
+#: sunrpc/rpcinfo.c:517
+msgid "   program vers proto   port\n"
+msgstr "   program no_version protocole  no_port\n"
+
+#: time/zic.c:425
+#, c-format
+msgid " (rule from \"%s\", line %d)"
+msgstr " (règles de \"%s\", ligne %d)"
+
+#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1233
+msgid " done\n"
+msgstr " complété\n"
+
+#: time/zic.c:422
+#, c-format
+msgid "\"%s\", line %d: %s"
+msgstr "\"%s\", ligne %d: %s"
+
+#: time/zic.c:946
+#, c-format
+msgid "\"Zone %s\" line and -l option are mutually exclusive"
+msgstr "La ligne \"Zone %s\" et l'option -l sont mutuellement exclusives."
+
+#: time/zic.c:954
+#, c-format
+msgid "\"Zone %s\" line and -p option are mutually exclusive"
+msgstr "La ligne \"Zone %s\" et l'option -p sont mutuellement exclusives."
+
+#: time/zic.c:759
+#, c-format
+msgid "%s in ruleless zone"
+msgstr "%s est dans une zone sans règle."
+
+#: assert/assert.c:48
+#, c-format
+msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+msgstr "%s%s%s:%u: %s%s l'assertion `%s' a échoué.\n"
+
+#: assert/assert-perr.c:46
+#, c-format
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr "%s%s%s:%u: %s%s erreur non prévue: %s.\n"
+
+#: stdio-common/psignal.c:48
+#, c-format
+msgid "%s%sUnknown signal %d\n"
+msgstr "%s%ssignal inconnu %d\n"
+
+#: sunrpc/rpc_util.c:258
+#, c-format
+msgid "%s, line %d: "
+msgstr "%s, ligne %d: "
+
+#: time/zic.c:2140
+#, c-format
+msgid "%s: %d did not sign extend correctly\n"
+msgstr "%s: %d n'a pas fait correctement l'expansion de la valeur signée\n"
+
+#: locale/programs/charmap.c:176
+#, c-format
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max> doit être plus grande que <mb_cur_min>\n"
+
+#: time/zic.c:1431
+#, c-format
+msgid "%s: Can't create %s: %s\n"
+msgstr "%s: ne peut créer %s: %s\n"
+
+#: time/zic.c:2119
+#, c-format
+msgid "%s: Can't create directory %s: %s\n"
+msgstr "%s: ne peut créer le répertoire %s: %s\n"
+
+#: time/zic.c:613
+#, c-format
+msgid "%s: Can't link from %s to %s: %s\n"
+msgstr "%s: ne peut établir un lien entre %s et %s: %s\n"
+
+#: time/zic.c:784
+#, c-format
+msgid "%s: Can't open %s: %s\n"
+msgstr "%s: ne peut ouvrir %s: %s\n"
+
+#: time/zic.c:852
+#, c-format
+msgid "%s: Error closing %s: %s\n"
+msgstr "%s: erreur lors de la fermeture de %s: %s\n"
+
+#: time/zic.c:846
+#, c-format
+msgid "%s: Error reading %s\n"
+msgstr "%s: erreur de lecture de %s\n"
+
+#: time/zic.c:1495
+#, c-format
+msgid "%s: Error writing %s\n"
+msgstr "%s: erreur d'écriture de %s\n"
+
+#: time/zdump.c:258
+#, c-format
+msgid "%s: Error writing standard output "
+msgstr "%s: erreur d'écriture sur la sortie standard "
+
+#: time/zic.c:831
+#, c-format
+msgid "%s: Leap line in non leap seconds file %s\n"
+msgstr "%s: ligne de type `Leap' dans un fichier qui n'a pas de délai en secondes %s\n"
+
+#: time/zic.c:362
+#, c-format
+msgid "%s: Memory exhausted: %s\n"
+msgstr "%s: mémoire épuisée: %s\n"
+
+#: time/zic.c:528
+#, c-format
+msgid "%s: More than one -L option specified\n"
+msgstr "%s: option -L spécifiée plus d'une fois.\n"
+
+#: time/zic.c:488
+#, c-format
+msgid "%s: More than one -d option specified\n"
+msgstr "%s: option -d spécifiée plus d'une fois.\n"
+
+#: time/zic.c:498
+#, c-format
+msgid "%s: More than one -l option specified\n"
+msgstr "%s: option -l spécifiée plus d'une fois.\n"
+
+#: time/zic.c:508
+#, c-format
+msgid "%s: More than one -p option specified\n"
+msgstr "%s: option -p spécifiée plus d'une fois.\n"
+
+#: time/zic.c:518
+#, c-format
+msgid "%s: More than one -y option specified\n"
+msgstr "%s: option -y spécifiée plus d'une fois.\n"
+
+#: time/zic.c:1846
+#, c-format
+msgid "%s: command was '%s', result was %d\n"
+msgstr "%s: la commande était '%s', le résultat était %d.\n"
+
+#: locale/programs/charmap.c:593 locale/programs/locfile.c:878
+#, c-format
+msgid "%s: error in state machine"
+msgstr "%s: erreur de l'automate à états finis."
+
+#: posix/getopt.c:686
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: option illégale -- %c.\n"
+
+#: posix/getopt.c:689
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: option invalide -- %c.\n"
+
+#: posix/getopt.c:610
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: l'option `%c%s' ne permet pas de paramètre.\n"
+
+#: posix/getopt.c:581
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: l'option `%s' est ambiguë.\n"
+
+#: posix/getopt.c:627
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: l'option `%s' requiert un paramètre.\n"
+
+#: posix/getopt.c:605
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: l'option `--%s' ne permet pas de paramètre.\n"
+
+#: posix/getopt.c:725
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'option requiert un paramètre -- %c.\n"
+
+#: sunrpc/rpc_main.c:146
+#, c-format
+msgid "%s: output would overwrite %s\n"
+msgstr "%s: la sortie écraserait %s.\n"
+
+#: time/zic.c:838 time/zic.c:1249 time/zic.c:1269
+#, c-format
+msgid "%s: panic: Invalid l_value %d\n"
+msgstr "%s: panique: valeur %d de type `l_value' invalide.\n"
+
+#: locale/programs/charmap.c:600
+#, c-format
+msgid "%s: premature end of file"
+msgstr "%s: fin prématurée de fichier."
+
+#: sunrpc/rpc_main.c:152
+#, c-format
+msgid "%s: unable to open "
+msgstr "%s: incapable d'ouvrir "
+
+#: posix/getopt.c:660
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: option non reconnue `%c%s'.\n"
+
+#: posix/getopt.c:656
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: option non reconnue `--%s'.\n"
+
+#: time/zic.c:447
+#, c-format
+msgid ""
+"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d "
+"directory ]\n"
+"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
+msgstr ""
+"%s: usage: %s [ -s ] [ -v ] [ -l temps_local ] [ -p règles_posix ]\n"
+"\t[ -d répertoire ]\n"
+"\t[ -L secondes_écoulées ] [ -y type_année ] [ fichier ... ]\n"
+
+#: time/zdump.c:165
+#, c-format
+msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"
+msgstr "%s: usage: %s [ -v ] [ -c seuil ] nom_de_zone ...\n"
+
+#: sunrpc/clnt_perr.c:125
+#, c-format
+msgid "(unknown authentication error - %d)"
+msgstr "(erreur inconnue d'authentification - %d)"
+
+#: sunrpc/rpcinfo.c:555
+msgid "(unknown)"
+msgstr "(inconnu)"
+
+#: catgets/gencat.c:244
+msgid "*standard input*"
+msgstr "*entrée standard*"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:766
+msgid ".lib section in a.out corrupted"
+msgstr "La section .lib dans a.out est corrompue."
+
+#: inet/rcmd.c:325
+msgid ".rhosts fstat failed"
+msgstr "Échec d'évaluation fstat() de .rhosts."
+
+#: inet/rcmd.c:321
+msgid ".rhosts lstat failed"
+msgstr "Échec d'évaluation lstat() de .rhosts."
+
+#: inet/rcmd.c:323
+msgid ".rhosts not regular file"
+msgstr ".rhosts n'est pas un fichier régulier."
+
+#: inet/rcmd.c:329
+msgid ".rhosts writeable by other than owner"
+msgstr ".rhosts accessible en écriture par d'autres que le propriétaire."
+
+#: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133
+#, c-format
+msgid "; low version = %lu, high version = %lu"
+msgstr "; version basse = %lu, version haute = %lu"
+
+#: sunrpc/clnt_perr.c:119
+msgid "; why = "
+msgstr "; pourquoi = "
+
+#: locale/programs/ld-ctype.c:325
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "Le caractères <SP> ne doit pas être dans la classe `%s'."
+
+#: locale/programs/ld-ctype.c:316
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "Le caractères <SP> n'est pas dans la classe `%s'."
+
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke.  Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: stdio-common/../sysdeps/gnu/errlist.c:591
+msgid "?"
+msgstr "?"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:762
+msgid "Accessing a corrupted shared library"
+msgstr "Accès d'une librairie partagée corrompue."
+
+#. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:354
+msgid "Address already in use"
+msgstr "Adresse déjà utilisée."
+
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket.  @xref{Sockets}.
+#: stdio-common/../sysdeps/gnu/errlist.c:349
+msgid "Address family not supported by protocol"
+msgstr "Famille d'adresses non supportée par le protocole."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:714
+msgid "Advertise error"
+msgstr "Erreur d'annonce."
+
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space.  This condition never arises in the
+#. TRANS GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:57
+msgid "Argument list too long"
+msgstr "Liste de paramètres trop longue."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:770
+msgid "Attempting to link in too many shared libraries"
+msgstr "Tentative d'édition de liens à partir de trop de librairies partagées."
+
+#: sunrpc/clnt_perr.c:276
+msgid "Authentication OK"
+msgstr "Succès d'authentification."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:549
+msgid "Authentication error"
+msgstr "Erreur d'authentification."
+
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:102
+msgid "Bad address"
+msgstr "Mauvaise adresse."
+
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: stdio-common/../sysdeps/gnu/errlist.c:70
+msgid "Bad file descriptor"
+msgstr "Mauvais descripteur de fichier."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:682
+msgid "Bad font file format"
+msgstr "Mauvais format du fichier de fontes."
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one.  For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:109
+msgid "Block device required"
+msgstr "Bloc de périphérique requis."
+
+#: sunrpc/pmap_rmt.c:335
+msgid "Broadcast select problem"
+msgstr "Problème de sélection durant la diffusion."
+
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: stdio-common/../sysdeps/gnu/errlist.c:222
+msgid "Broken pipe"
+msgstr "Relais brisé (pipe)"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:758
+msgid "Can not access a needed shared library"
+msgstr "Ne peut accéder à la librairie partagée demandée."
+
+#. TRANS No memory available.  The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:91
+msgid "Cannot allocate memory"
+msgstr "Ne peut allouer de la mémoire."
+
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:361
+msgid "Cannot assign requested address"
+msgstr "Ne peut attribuer l'adresse demandée."
+
+#: sunrpc/pmap_rmt.c:253
+msgid "Cannot create socket for broadcast rpc"
+msgstr "Ne peut créer un socket pour une diffusion de type rpc."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:774
+msgid "Cannot exec a shared library directly"
+msgstr "Ne peut exécuter une librairie partagée directement."
+
+#: sunrpc/pmap_rmt.c:347
+msgid "Cannot receive reply to broadcast"
+msgstr "Ne peut recevoir l'accusé réception à la requête faite par diffusion."
+
+#: sunrpc/pmap_clnt.c:79
+msgid "Cannot register service"
+msgstr "Ne peut enregistrer le service."
+
+#. TRANS The socket has already been shut down.
+#: stdio-common/../sysdeps/gnu/errlist.c:422
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Ne peut transmettre après la fermeture du noeud final de transport."
+
+#: sunrpc/pmap_rmt.c:311
+msgid "Cannot send broadcast packet"
+msgstr "Ne peut transmettre le paquet par diffusion."
+
+#: sunrpc/pmap_rmt.c:259
+msgid "Cannot set socket option SO_BROADCAST"
+msgstr "Ne peut initialiser l'option `SO_BROADCAST' de socket."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:622
+msgid "Channel number out of range"
+msgstr "Numéro de canal en dehors des limites."
+
+#: sunrpc/clnt_perr.c:286
+msgid "Client credential too weak"
+msgstr "Identité du client peu fiable."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:722
+msgid "Communication error on send"
+msgstr "Erreur de communication lors de la transmission."
+
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: stdio-common/../sysdeps/gnu/errlist.c:601
+msgid "Computer bought the farm"
+msgstr "Allez à la maison et buvez un verre de lait."
+
+#: locale/programs/ld-ctype.c:1196
+msgid "Computing table size for character classes might take a while..."
+msgstr ""
+"Le calcul de la taille de la table des classes de caractères\n"
+"peut prendre un certain temps..."
+
+#: locale/programs/ld-collate.c:327
+msgid "Computing table size for collation information might take a while..."
+msgstr ""
+"Le calcul de la taille de la table pour le fusionnement des informations\n"
+"peut prendre un certain temps..."
+
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: stdio-common/../sysdeps/gnu/errlist.c:439
+msgid "Connection refused"
+msgstr "Connexion refusée."
+
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: stdio-common/../sysdeps/gnu/errlist.c:389
+msgid "Connection reset by peer"
+msgstr "Connexion ré-initialisée par le correspondant."
+
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: stdio-common/../sysdeps/gnu/errlist.c:433
+msgid "Connection timed out"
+msgstr "Connexion terminée par expiration du délai d'inactivité."
+
+#. TRANS No default destination address was set for the socket.  You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: stdio-common/../sysdeps/gnu/errlist.c:417
+msgid "Destination address required"
+msgstr "Adresse de destination requise."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:686
+msgid "Device not a stream"
+msgstr "Le périphérique n'est pas de type stream."
+
+#. TRANS No such device or address.  The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: stdio-common/../sysdeps/gnu/errlist.c:49
+msgid "Device not configured"
+msgstr "Périphérique non configuré."
+
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:116
+msgid "Device or resource busy"
+msgstr "Périphérique ou ressource occupé."
+
+#. TRANS Directory not empty, where an empty directory was expected.  Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: stdio-common/../sysdeps/gnu/errlist.c:468
+msgid "Directory not empty"
+msgstr "Le répertoire n'est pas vide."
+
+#. TRANS The user's disk quota was exceeded.
+#: stdio-common/../sysdeps/gnu/errlist.c:486
+msgid "Disc quota exceeded"
+msgstr "Débordement du quota du disque."
+
+#: sunrpc/clnt_perr.c:254
+#, c-format
+msgid "Error %d"
+msgstr "Erreur %d"
+
+#: string/../sysdeps/mach/_strerror.c:43
+msgid "Error in unknown error system: "
+msgstr "Erreur provenant d'une erreur système inconnue: "
+
+#: inet/ruserpass.c:156
+msgid "Error: .netrc file is readable by others."
+msgstr "Erreur: le fichier .netrc est lisible par les autres."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:662
+msgid "Exchange full"
+msgstr "L'échangeur est plein."
+
+#. TRANS Invalid executable file format.  This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: stdio-common/../sysdeps/gnu/errlist.c:63
+msgid "Exec format error"
+msgstr "Erreur de format pour exec()."
+
+#: locale/programs/localedef.c:207
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr "ERREUR FATALE: le système ne peut définir `_POSIX2_LOCALEDEF'"
+
+#: sunrpc/clnt_perr.c:290
+msgid "Failed (unspecified error)"
+msgstr "Échec (erreur non spécifiée)."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:750
+msgid "File descriptor in bad state"
+msgstr "Le descripteur du fichier est dans un mauvais état."
+
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: stdio-common/../sysdeps/gnu/errlist.c:122
+msgid "File exists"
+msgstr "Le fichier existe."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:678
+msgid "File locking deadlock error"
+msgstr "Erreur de verrou bloquant l'accès au fichier"
+
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: stdio-common/../sysdeps/gnu/errlist.c:452
+msgid "File name too long"
+msgstr "Nom de fichier trop long."
+
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: stdio-common/../sysdeps/gnu/errlist.c:190
+msgid "File too large"
+msgstr "Fichier trop gros."
+
+#. TRANS Function not implemented.  Some functions have commands or options defined
+#. TRANS that might not be supported in all implementations, and this is the kind
+#. TRANS of error you get if you request them and they are not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:561
+msgid "Function not implemented"
+msgstr "Fonction non implantée."
+
+#. TRANS This error code has no purpose.
+#: stdio-common/../sysdeps/gnu/errlist.c:606
+msgid "Gratuitous error"
+msgstr "Erreur gratuite."
+
+#. TRANS The remote host for a requested network connection is down.
+#: stdio-common/../sysdeps/gnu/errlist.c:457
+msgid "Host is down"
+msgstr "L'hôte cible est arrêté ou en panne."
+
+#: resolv/herror.c:75
+msgid "Host name lookup failure"
+msgstr "Erreur de repérage du nom de l'hôte cible."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:618
+msgid "Identifier removed"
+msgstr "Identificateur éliminé."
+
+#. TRANS Invalid seek operation (such as on a pipe).
+#: stdio-common/../sysdeps/gnu/errlist.c:201
+msgid "Illegal seek"
+msgstr "Repérage illégal"
+
+#. TRANS Inappropriate file type or format.  The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: stdio-common/../sysdeps/gnu/errlist.c:544
+msgid "Inappropriate file type or format"
+msgstr "Type de fichier ou format inapproprié."
+
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: stdio-common/../sysdeps/gnu/errlist.c:176
+msgid "Inappropriate ioctl for device"
+msgstr "Ioctl() inappropré pour un périphérique."
+
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal.  Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal.  @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: stdio-common/../sysdeps/gnu/errlist.c:577
+msgid "Inappropriate operation for background process"
+msgstr "Opération inappropriée pour un processus d'arrière-plan."
+
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: stdio-common/../sysdeps/gnu/errlist.c:40
+msgid "Input/output error"
+msgstr "Erreur d'entrée/sortie."
+
+#. TRANS Interrupted function call; an asynchronous signal occured and prevented
+#. TRANS completion of the call.  When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: stdio-common/../sysdeps/gnu/errlist.c:35
+msgid "Interrupted system call"
+msgstr "Appel système interrompu."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:610
+msgid "Interrupted system call should be restarted"
+msgstr "Appel système interrompu, il aurait dû être relancé."
+
+#. TRANS Invalid argument.  This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: stdio-common/../sysdeps/gnu/errlist.c:152
+msgid "Invalid argument"
+msgstr "Paramètre invalide."
+
+#: posix/regex.c:946
+msgid "Invalid back reference"
+msgstr "Référence arrière invalide."
+
+#: posix/regex.c:944
+msgid "Invalid character class name"
+msgstr "Nom de classe de caractères invalide."
+
+#: sunrpc/clnt_perr.c:278
+msgid "Invalid client credential"
+msgstr "Identité du client invalide."
+
+#: sunrpc/clnt_perr.c:282
+msgid "Invalid client verifier"
+msgstr "Vérificateur du client invalide."
+
+#: posix/regex.c:943
+msgid "Invalid collation character"
+msgstr "Caractère de fusionnement invalide."
+
+#: posix/regex.c:950
+msgid "Invalid content of \\{\\}"
+msgstr "Contenu invalide de \\{\\}"
+
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:129
+msgid "Invalid cross-device link"
+msgstr "Lien croisé de périphéque invalide."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:654
+msgid "Invalid exchange"
+msgstr "Échange invalide."
+
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: stdio-common/../sysdeps/gnu/errlist.c:567
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Chaîne multi-octets ou étendue de caractères invalide ou incomplète."
+
+#: posix/regex.c:953
+msgid "Invalid preceding regular expression"
+msgstr "Expression régulière précédente invalide."
+
+#: posix/regex.c:951
+msgid "Invalid range end"
+msgstr "Fin d'intervalle invalide."
+
+#: posix/regex.c:942
+msgid "Invalid regular expression"
+msgstr "Expression régulière invalide."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:670
+msgid "Invalid request code"
+msgstr "Requête de code invalide."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:658
+msgid "Invalid request descriptor"
+msgstr "Descripteur de requête invalide"
+
+#: sunrpc/clnt_perr.c:288
+msgid "Invalid server verifier"
+msgstr "Vérificateur du serveur invalide."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:674
+msgid "Invalid slot"
+msgstr "Dalot invalide."
+
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: stdio-common/../sysdeps/gnu/errlist.c:146
+msgid "Is a directory"
+msgstr "est un répertoire."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:794
+msgid "Is a named type file"
+msgstr "est un type de fichier nommé (named)."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:650
+msgid "Level 2 halted"
+msgstr "Niveau 2 en halte."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:626
+msgid "Level 2 not synchronized"
+msgstr "Niveau 2 non synchronisé."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:630
+msgid "Level 3 halted"
+msgstr "Niveau 3 en halte."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:634
+msgid "Level 3 reset"
+msgstr "Niveau 3 réinitialisé."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:710
+msgid "Link has been severed"
+msgstr "Le lien a été endommagé."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:638
+msgid "Link number out of range"
+msgstr "Numéro du lien hors intervalle."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:702
+msgid "Machine is not on the network"
+msgstr "La machine cible n'est pas sur le réseau."
+
+#: posix/regex.c:952
+msgid "Memory exhausted"
+msgstr "Mémoire épuisée."
+
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: stdio-common/../sysdeps/gnu/errlist.c:305
+msgid "Message too long"
+msgstr "Message trop long."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:730
+#: MRO a verifier
+msgid "Multihop attempted"
+msgstr "Connexion par liens par noeuds multiples de relais tentée."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:746
+msgid "Name not unique on network"
+msgstr "Le nom n'est pas unique sur le réseau."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:554
+msgid "Need authenticator"
+msgstr "Besoin d'un authentificateur."
+
+#. TRANS A network connection was reset because the remote host crashed.
+#: stdio-common/../sysdeps/gnu/errlist.c:377
+msgid "Network dropped connection on reset"
+msgstr "Le réseau a brisé la connexion lors de la réinitialisation."
+
+#. TRANS A socket operation failed because the network was down.
+#: stdio-common/../sysdeps/gnu/errlist.c:366
+msgid "Network is down"
+msgstr "Le réseau ne fonctionne pas."
+
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:372
+msgid "Network is unreachable"
+msgstr "Le réseau n'est pas accessible."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:646
+msgid "No CSI structure available"
+msgstr "Aucune structure CSI disponible."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:790
+msgid "No XENIX semaphores available"
+msgstr "Aucun sémaphore XENIX disponible."
+
+#: resolv/herror.c:77
+msgid "No address associated with name"
+msgstr "Aucune adresse associée avec le nom."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:666
+#: MRO a verifier
+msgid "No anode"
+msgstr "Aucune `anode' disponible."
+
+#. TRANS The kernel's buffers for I/O operations are all in use.  In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: stdio-common/../sysdeps/gnu/errlist.c:396
+msgid "No buffer space available"
+msgstr "Aucun espace tampon disponible."
+
+#. TRANS There are no child processes.  This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: stdio-common/../sysdeps/gnu/errlist.c:77
+msgid "No child processes"
+msgstr "Aucun processus enfant."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:690
+msgid "No data available"
+msgstr "Aucune donnée disponible."
+
+#. TRANS No locks available.  This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}.  This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: stdio-common/../sysdeps/gnu/errlist.c:535
+msgid "No locks available"
+msgstr "Aucun verrou disponible."
+
+#: posix/regex.c:941
+msgid "No match"
+msgstr "Pas de concordance."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:614
+msgid "No message of desired type"
+msgstr "Aucun message du type désiré."
+
+#: posix/regex.c:5202
+msgid "No previous regular expression"
+msgstr "Aucune expression régulière ne précède."
+
+#: sunrpc/rpcinfo.c:515
+msgid "No remote programs registered.\n"
+msgstr "Aucun programme enregistré sur l'hôte cible.\n"
+
+#. TRANS The remote host for a requested network connection is not reachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:462
+msgid "No route to host"
+msgstr "Aucun chemin d'accès pour atteindre l'hôte cible."
+
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:196
+msgid "No space left on device"
+msgstr "Aucun espace disponible sur le périphérique."
+
+#. TRANS No such file or directory.  This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: stdio-common/../sysdeps/gnu/errlist.c:19
+msgid "No such file or directory"
+msgstr "Aucun fichier ou répertoire de ce type."
+
+#. TRANS No process matches the specified process ID.
+#: stdio-common/../sysdeps/gnu/errlist.c:24
+msgid "No such process"
+msgstr "Aucun processus de ce type."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:786
+msgid "Not a XENIX named type file"
+msgstr "Aucun fichier de type XENIX named."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:738
+msgid "Not a data message"
+msgstr "N'est pas un message de données."
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:140
+msgid "Not a directory"
+msgstr "N'est pas un répertoire."
+
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: stdio-common/../sysdeps/gnu/errlist.c:228
+msgid "Numerical argument out of domain"
+msgstr "Le paramètre numérique est hors du domaine."
+
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: stdio-common/../sysdeps/gnu/errlist.c:234
+msgid "Numerical result out of range"
+msgstr "Le résultat numérique est en dehors de l'intervalle."
+
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: stdio-common/../sysdeps/gnu/errlist.c:502
+msgid "Object is remote"
+msgstr "L'objet est télé-accessible."
+
+#: time/zic.c:1940
+msgid "Odd number of quotation marks"
+msgstr "Nombre impair de caractères apostrophe."
+
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: stdio-common/../sysdeps/gnu/errlist.c:294
+msgid "Operation already in progress"
+msgstr "Opération déjà en cours."
+
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: stdio-common/../sysdeps/gnu/errlist.c:12
+msgid "Operation not permitted"
+msgstr "Opération non permise."
+
+#. TRANS The operation you requested is not supported.  Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols.  In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: stdio-common/../sysdeps/gnu/errlist.c:338
+msgid "Operation not supported"
+msgstr "Opération non supportée."
+
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: stdio-common/../sysdeps/gnu/errlist.c:135
+msgid "Operation not supported by device"
+msgstr "Opération non supportée par ce périphérique."
+
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected.  Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}.  Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time.  Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}.  You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: stdio-common/../sysdeps/gnu/errlist.c:288
+msgid "Operation now in progress"
+msgstr "Opération maintenant en cours."
+
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: stdio-common/../sysdeps/gnu/errlist.c:276
+msgid "Operation would block"
+msgstr "L'opération pourrait se bloquer."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:698
+msgid "Out of streams resources"
+msgstr "Aucune autre ressource de type streams disponible."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:706
+msgid "Package not installed"
+msgstr "Le package n'est pas installé."
+
+#. TRANS Permission denied; the file permissions do not allow the attempted operation.
+#: stdio-common/../sysdeps/gnu/errlist.c:96
+msgid "Permission denied"
+msgstr "Permission non accordée."
+
+#: posix/regex.c:954
+msgid "Premature end of regular expression"
+msgstr "Fin prématurée de l'expression régulière."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:642
+msgid "Protocol driver not attached"
+msgstr "Pilote du protocole n'est pas attaché."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:726
+msgid "Protocol error"
+msgstr "Erreur de protocole."
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:343
+msgid "Protocol family not supported"
+msgstr "Famille de protocoles non supportée."
+
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket.  @xref{Socket Options}.
+#: stdio-common/../sysdeps/gnu/errlist.c:316
+msgid "Protocol not available"
+msgstr "Protocole non disponible."
+
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid.)
+#. TRANS @xref{Creating a Socket}.
+#: stdio-common/../sysdeps/gnu/errlist.c:323
+msgid "Protocol not supported"
+msgstr "Protocole non supporté."
+
+#. TRANS The socket type does not support the requested communications protocol.
+#: stdio-common/../sysdeps/gnu/errlist.c:310
+msgid "Protocol wrong type for socket"
+msgstr "Mauvais type pour un socket de protocole."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:734
+msgid "RFS specific error"
+msgstr "Erreur spécifique à RFS."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:527
+msgid "RPC bad procedure for program"
+msgstr "Mauvaise procédure RPC du programme."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:517
+msgid "RPC program not available"
+msgstr "Programme RPC non disponible."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:522
+msgid "RPC program version wrong"
+msgstr "Version de programme RPC erronée."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:507
+msgid "RPC struct is bad"
+msgstr "La déclaration struct RPC est erronée."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:512
+msgid "RPC version wrong"
+msgstr "Mauvaise version RPC."
+
+#: sunrpc/clnt_perr.c:217
+msgid "RPC: (unknown error code)"
+msgstr "RPC: (code d'erreur inconnu)."
+
+#: sunrpc/clnt_perr.c:179
+msgid "RPC: Authentication error"
+msgstr "RPC: erreur d'authentification."
+
+#: sunrpc/clnt_perr.c:169
+msgid "RPC: Can't decode result"
+msgstr "RPC: ne peut décoder le résultat."
+
+#: sunrpc/clnt_perr.c:167
+msgid "RPC: Can't encode arguments"
+msgstr "RPC: ne peut encoder les paramètres."
+
+#: sunrpc/clnt_perr.c:199
+msgid "RPC: Failed (unspecified error)"
+msgstr "RPC: échec (erreur non spécifiée)."
+
+#: sunrpc/clnt_perr.c:177
+msgid "RPC: Incompatible versions of RPC"
+msgstr "RPC: versions incompatibles de RPC."
+
+#: sunrpc/clnt_perr.c:195
+msgid "RPC: Port mapper failure"
+msgstr "RPC: échec de conversion de ports."
+
+#: sunrpc/clnt_perr.c:185
+msgid "RPC: Procedure unavailable"
+msgstr "RPC: la procédure n'est pas disponible."
+
+#: sunrpc/clnt_perr.c:197
+msgid "RPC: Program not registered"
+msgstr "RPC: le programme n'est pas enregistré."
+
+#: sunrpc/clnt_perr.c:181
+msgid "RPC: Program unavailable"
+msgstr "RPC: le programme n'est pas disponible."
+
+#: sunrpc/clnt_perr.c:183
+msgid "RPC: Program/version mismatch"
+msgstr "RPC: non concordance de programme ou de version."
+
+#: sunrpc/clnt_perr.c:189
+msgid "RPC: Remote system error"
+msgstr "RPC: erreur système sur l'hôte cible."
+
+#: sunrpc/clnt_perr.c:187
+msgid "RPC: Server can't decode arguments"
+msgstr "RPC: le serveur ne peut décoder les paramètres."
+
+#: sunrpc/clnt_perr.c:165
+msgid "RPC: Success"
+msgstr "RPC: succès."
+
+#: sunrpc/clnt_perr.c:175
+msgid "RPC: Timed out"
+msgstr "RPC: expiration du délai de la minuterie."
+
+#: sunrpc/clnt_perr.c:173
+msgid "RPC: Unable to receive"
+msgstr "RPC: incapable d'effectuer la réception."
+
+#: sunrpc/clnt_perr.c:171
+msgid "RPC: Unable to send"
+msgstr "RPC: incapable d'effectuer la transmission."
+
+#: sunrpc/clnt_perr.c:191
+msgid "RPC: Unknown host"
+msgstr "RPC: hôte inconnu."
+
+#: sunrpc/clnt_perr.c:193
+msgid "RPC: Unknown protocol"
+msgstr "RPC: protocole inconnu."
+
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: stdio-common/../sysdeps/gnu/errlist.c:206
+msgid "Read-only file system"
+msgstr "Système de fichiers accessible en lecture seulement."
+
+#: posix/regex.c:955
+msgid "Regular expression too big"
+msgstr "Expression régulière trop grosse."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:798
+msgid "Remote I/O error"
+msgstr "Erreur d'entrée/sortie sur l'hôte cible."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:754
+msgid "Remote address changed"
+msgstr "L'adresse de l'hôte cible a été modifiée."
+
+#: inet/ruserpass.c:157
+msgid "Remove password or make file unreadable by others."
+msgstr "Retirer le mot de passe ou rendre les fichiers illisibles par les autres."
+
+#: resolv/herror.c:73
+msgid "Resolver Error 0 (no error)"
+msgstr "Code d'erreur 0 du `resolver' (pas d'erreur)."
+
+#: resolv/herror.c:115
+msgid "Resolver internal error"
+msgstr "Erreur interne du `resolver'."
+
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation.  The system does not guarantee that it will notice
+#. TRANS all such situations.  This error means you got lucky and the system
+#. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
+#: stdio-common/../sysdeps/gnu/errlist.c:85
+msgid "Resource deadlock avoided"
+msgstr "Blocage évité des accès aux ressources."
+
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected.  Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation).  You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In older Unix many systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}.  To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible.  @code{fork}
+#. TRANS can return this error.  It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: stdio-common/../sysdeps/gnu/errlist.c:267
+msgid "Resource temporarily unavailable"
+msgstr "Ressource temporairement non disponible."
+
+#: sunrpc/clnt_perr.c:280
+msgid "Server rejected credential"
+msgstr "Le serveur a rejeté l'identité."
+
+#: sunrpc/clnt_perr.c:284
+msgid "Server rejected verifier"
+msgstr "Le server a rejeté la vérification."
+
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:299
+msgid "Socket operation on non-socket"
+msgstr "Opération sur socket sur un type non socket."
+
+#. TRANS The socket type is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:328
+msgid "Socket type not supported"
+msgstr "Type de socket non supporté."
+
+#. TRANS A network connection was aborted locally.
+#: stdio-common/../sysdeps/gnu/errlist.c:382
+msgid "Software caused connection abort"
+msgstr "Le logiciel a provoqué l'abandon de la connexion."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:718
+msgid "Srmount error"
+msgstr "Erreur srmount()."
+
+#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: stdio-common/../sysdeps/gnu/errlist.c:494
+msgid "Stale NFS file handle"
+msgstr "Panne d'accès au fichier NFS."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:778
+msgid "Streams pipe error"
+msgstr "Erreur de relais de type streams."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:782
+msgid "Structure needs cleaning"
+msgstr "La structure a besoin d'un nettoyage."
+
+#: posix/regex.c:940 stdio-common/../sysdeps/gnu/errlist.c:7
+msgid "Success"
+msgstr "Succès."
+
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed.  Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error.  (The name stands for ``text file busy''.)  This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: stdio-common/../sysdeps/gnu/errlist.c:185
+msgid "Text file busy"
+msgstr "Fichier texte occupé."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:694
+msgid "Timer expired"
+msgstr "Expiration de la minuterie."
+
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: stdio-common/../sysdeps/gnu/errlist.c:445
+msgid "Too many levels of symbolic links"
+msgstr "Trop de niveaux de liens symboliques."
+
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:213
+msgid "Too many links"
+msgstr "Trop de liens."
+
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased.  If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: stdio-common/../sysdeps/gnu/errlist.c:163
+msgid "Too many open files"
+msgstr "Trop de fichiers ouverts."
+
+#. TRANS There are too many distinct file openings in the entire system.  Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}.  This error never occurs in the GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:170
+msgid "Too many open files in system"
+msgstr "Trop de fichiers ouverts dans le système."
+
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}.  @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: stdio-common/../sysdeps/gnu/errlist.c:475
+msgid "Too many processes"
+msgstr "Trop de processus."
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:427
+msgid "Too many references: cannot splice"
+msgstr "Trop de références: ne peut segmenter."
+
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: stdio-common/../sysdeps/gnu/errlist.c:481
+msgid "Too many users"
+msgstr "Trop d'usagers."
+
+#: posix/regex.c:945
+msgid "Trailing backslash"
+msgstr "Barre oblique en suffixe."
+
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: stdio-common/../sysdeps/gnu/errlist.c:584
+msgid "Translator died"
+msgstr "Panne du traducteur."
+
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: stdio-common/../sysdeps/gnu/errlist.c:402
+msgid "Transport endpoint is already connected"
+msgstr "Noeud final de transport déjà connecté."
+
+#. TRANS The socket is not connected to anything.  You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data.  For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:410
+msgid "Transport endpoint is not connected"
+msgstr "Le noeud final de transport n'est pas connecté."
+
+#: catgets/gencat.c:202 db/makedb.c:197 locale/programs/locale.c:234
+#: locale/programs/localedef.c:383
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Pour en savoir davantage, faites: `%s --help'.\n"
+
+#: inet/rcmd.c:118
+#, c-format
+msgid "Trying %s...\n"
+msgstr "On tente %s...\n"
+
+#: inet/ruserpass.c:241
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Mot clé inconnu %s dans .netrc."
+
+#: string/../sysdeps/generic/_strerror.c:36
+#: string/../sysdeps/mach/_strerror.c:58
+msgid "Unknown error "
+msgstr "Erreur inconnue "
+
+#: resolv/herror.c:74
+msgid "Unknown host"
+msgstr "Hôte inconnu"
+
+#: resolv/herror.c:118
+msgid "Unknown resolver error"
+msgstr "Erreur inconnue du `resolver'."
+
+#: resolv/herror.c:76
+msgid "Unknown server error"
+msgstr "Erreur du serveur inconnu."
+
+#: string/strsignal.c:40
+#, c-format
+msgid "Unknown signal %d"
+msgstr "Signal inconnu %d"
+
+#: misc/error.c:92
+msgid "Unknown system error"
+msgstr "Erreur système inconnue."
+
+#: posix/regex.c:948
+msgid "Unmatched ( or \\("
+msgstr "Échec du pairage de ( ou de \\("
+
+#: posix/regex.c:956
+msgid "Unmatched ) or \\)"
+msgstr "Échec du pairage de ) ou de \\)"
+
+#: posix/regex.c:947
+msgid "Unmatched [ or [^"
+msgstr "Échec du pairage de [ ou de [^"
+
+#: posix/regex.c:949
+msgid "Unmatched \\{"
+msgstr "Échec du pairage de \\{"
+
+#: posix/getconf.c:184
+#, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "Variable non reconnue `%s'"
+
+#: catgets/gencat.c:205
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n"
+"       %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -H, --header        create C header file containing symbol definitions\n"
+"  -h, --help          display this help and exit\n"
+"      --new           do not use existing catalog, force new output file\n"
+"  -o, --output=NAME   write output to file NAME\n"
+"  -V, --version       output version information and exit\n"
+"If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
+"is -, output is written to standard output.\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+"Usage: %s [OPTION]... -o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n"
+"       %s [OPTION]... [FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]\n"
+"Les paramètres obligatoires pour les options de formes longues le sont\n"
+"aussi pour les options de forme courtes.\n"
+"  -H, --header         créer une en-tête de fichier C contenant\n"
+"                       les définitions des symboles\n"
+"  -h, --help           afficher l'aide-mémoire\n"
+"      --new            ne pas utiliser le catalogue existant,\n"
+"                       forcer la sortie sur un nouveau fichier\n"
+"  -o, --output=FICHIER écrire la sortie dans le FICHIER\n"
+"  -V, --version        afficher le nom et la version du logiciel\n"
+"Si le FICHIER_D_ENTRÉE est -, la lecture se fait de l'entrée standard.\n"
+"Si le FICHIER_DE_SORTIE est -, l'écriture se fait sur la sortie standard.\n"
+"Rapporter toutes anomalies à l'adresse suivante: <bug-glibc@prep.ai.mit.edu>.\n"
+
+#: db/makedb.c:200
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n"
+"       %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n"
+"       %s [OPTION]... -u INPUT-FILE\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -f, --fold-case     convert key to lower case\n"
+"  -h, --help          display this help and exit\n"
+"  -o, --output=NAME   write output to file NAME\n"
+"      --quiet         don't print messages while building database\n"
+"  -u, --undo          print content of database file, one entry a line\n"
+"  -V, --version       output version information and exit\n"
+"If INPUT-FILE is -, input is read from standard input.\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+"Usage: %s [OPTION]... FICHIER_D_ENTRÉE FICHIER_DE_SORTIE\n"
+"       %s [OPTION]... -o FICHIER_DE_SORTIE FICHIER_D_ENTRÉE\n"
+"       %s [OPTION]... -u FICHIER_D_ENTRÉE\n"
+"Les paramètres obligatoires pour les options de formes longues le sont\n"
+"aussi pour les options de forme courtes.\n"
+"  -f, --fold-case      convertir les clés en minuscules\n"
+"  -h, --help           afficher l'aide-mémoire\n"
+"  -o, --output=FICHIER écrire la sortie dans le FICHIER\n"
+"      --quiet          ne pas afficher les messages lors de\n"
+"                       construction de la base de données\n"
+"  -u, --undo           afficher le contenu du fichier de la base de données\n"
+"                       une entrée par ligne\n"
+"  -V, --version        afficher le nom et la version du logiciel\n"
+"Si le FICHIER_D_ENTRÉE est -, la lecture se fait l'entrée standard.\n"
+"Rapporter toutes anomalies à l'adresse suivante: <bug-glibc@prep.ai.mit.edu>.\n"
+
+#: locale/programs/localedef.c:386
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -c, --force               create output even if warning messages were "
+"issued\n"
+"  -h, --help                display this help and exit\n"
+"  -f, --charmap=FILE        symbolic character names defined in FILE\n"
+"  -i, --inputfile=FILE      source definitions are found in FILE\n"
+"  -u, --code-set-name=NAME  specify code set for mapping ISO 10646 elements\n"
+"  -v, --verbose             print more messages\n"
+"  -V, --version             output version information and exit\n"
+"      --posix               be strictly POSIX conform\n"
+"\n"
+"System's directory for character maps: %s\n"
+"                       locale files  : %s\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+"Usage: %s [OPTION]... nom\n"
+"Les paramètres obligatoires pour les options de formes longues le sont\n"
+"aussi pour les options de forme courtes.\n"
+"  -c, --force               poursuivre la génération sur la sortie\n"
+"                            même si des messages d'avertissements s'affichent\n"
+"  -h, --help                afficher l'aide-mémoire\n"
+"  -f, --charmap=FICHIER     utiliser les noms symboliques de caractères\n"
+"                            qui se trouvent dans le FICHIER\n"
+"  -i, --inputfile=FICHIER   utiliser les définitions sources qui se\n"
+"                            trouvent dans le FICHIER\n"
+"  -u, --code-set-name=CODE  spécifier un CODE d'ensemble pour la table des\n"
+"                            éléments ISO 10646\n"
+"  -v, --verbose             utiliser le mode bavard\n"
+"  -V, --version             afficher le nom et la version du logiciel\n"
+"      --posix               se conformer de façon stricte à POSIX\n"
+"\n"
+"Répertoire système des tables de caractères: %s\n"
+"                            fichiers locaux: %s\n"
+"Rapporter toutes anomalies à l'adresse suivante: <bug-glibc@prep.ai.mit.edu>.\n"
+
+#: locale/programs/locale.c:237
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -h, --help            display this help and exit\n"
+"  -V, --version         output version information and exit\n"
+"\n"
+"  -a, --all-locales     write names of available locales\n"
+"  -m, --charmaps        write names of available charmaps\n"
+"\n"
+"  -c, --category-name   write names of selected categories\n"
+"  -k, --keyword-name    write names of selected keywords\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+"Usage: %s [OPTION]... nom\n"
+"Les paramètres obligatoires pour les options de formes longues le sont\n"
+"aussi pour les options de forme courtes.\n"
+"  -h, --help            afficher l'aide-mémoire\n"
+"  -V, --version         afficher le nom et la version du logiciel\n"
+"\n"
+"  -a, --all-locales     afficher les noms localisés disponibles\n"
+"  -m, --charmaps        afficher les noms des tables de caractères disponibles\n"
+"\n"
+"  -c, --category-name   afficher les noms des catégories sélectionnées\n"
+"  -k, --keyword-name    afficher les noms des mots clés sélectionnés\n"
+"Rapporter toutes anomalies à l'adresse suivante: <bug-glibc@prep.ai.mit.edu>.\n"
+
+#: posix/getconf.c:131
+#, c-format
+msgid "Usage: %s variable_name [pathname]\n"
+msgstr "Usage: %s nom_de_variable [chemin_d_accès]\n"
+
+#: sunrpc/rpcinfo.c:609
+msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
+msgstr "Usage: rpcinfo [ -n no_port ] -u hôte no_prog [ no_version ]\n"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:742
+msgid "Value too large for defined data type"
+msgstr "Valeur trop grande pour le type défini de données."
+
+#: time/zic.c:1845
+msgid "Wild result from command execution"
+msgstr "Résultat anarchique résultant de l'exécution de la commande."
+
+#. TRANS You did @strong{what}?
+#: stdio-common/../sysdeps/gnu/errlist.c:596
+msgid "You really blew it this time"
+msgstr "Vous avez vraiment tout gâcher cette fois-ci."
+
+#: time/zic.c:1051
+msgid "Zone continuation line end time is not after end time of previous line"
+msgstr ""
+"Temps final de la ligne de la zone de continuation est antérieur\n"
+"au temps final de la ligne précédente."
+
+#: locale/programs/charmap.c:397 locale/programs/locfile.c:341
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "`%1$s' la définition ne se termine pas par `END %1$s'"
+
+#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190
+#, c-format
+msgid "`-1' must be last entry in `%s' field in `%s' category"
+msgstr "`-1' doit être la dernière entrée du champ `%s' de catégorie `%s'"
+
+#: locale/programs/ld-collate.c:1651
+msgid "`...' must only be used in `...' and `UNDEFINED' entries"
+msgstr "`...' doit être utilisé seulement avec les entrées `...' et  `UNDEFINED'"
+
+#: locale/programs/locfile.c:538
+msgid "`from' expected after first argument to `collating-element'"
+msgstr "`from' attendu après le premier paramètre de `collating-element'"
+
+#: locale/programs/ld-collate.c:1108
+msgid ""
+"`from' string in collation element declaration contains unknown character"
+msgstr ""
+"La chaîne `from' déclarant un élément de fusionnement contient un caractère inconnu."
+
+#: locale/programs/charmap.c:267
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr "Le paramètre de <%s> doit être un caractère simple."
+
+#: locale/programs/locfile.c:215
+#, c-format
+msgid "argument to `%s' must be a single character"
+msgstr "Le paramètre de `%s' doit être un caractère simple."
+
+#: sunrpc/rpc_parse.c:326
+msgid "array declaration expected"
+msgstr "Déclaration attendue de tableau."
+
+#: sunrpc/auth_unix.c:314
+msgid "auth_none.c - Fatal marshalling problem"
+msgstr "auth_none.c - problème fatal de mise en ordre."
+
+#: inet/rcmd.c:327
+msgid "bad .rhosts owner"
+msgstr "Mauvais propriétaire du fichier .rhosts."
+
+#: locale/programs/charmap.c:212 locale/programs/locfile.c:209
+msgid "bad argument"
+msgstr "Mauvais paramètre."
+
+#: time/zic.c:1173
+msgid "blank FROM field on Link line"
+msgstr "Champ `FROM' vide dans la ligne de type `Link'."
+
+#: time/zic.c:1177
+msgid "blank TO field on Link line"
+msgstr "Champ `TO' vide dans la ligne de type `Link'."
+
+#: malloc/mcheck.c:189
+msgid "block freed twice"
+msgstr "Bloc libéré deux fois."
+
+#: malloc/mcheck.c:192
+msgid "bogus mcheck_status, library is buggy"
+msgstr "Statut de `mcheck_status' erroné, la librarie est erronée."
+
+#: sunrpc/pmap_rmt.c:177
+msgid "broadcast: ioctl (get interface configuration)"
+msgstr "Diffusion: ioctl (a obtenu la configuration de l'interface)"
+
+#: sunrpc/pmap_rmt.c:184
+msgid "broadcast: ioctl (get interface flags)"
+msgstr "Diffusion: ioctl (a obtenu la valeur des fanions de l'interface)"
+
+#: sunrpc/svc_udp.c:398
+msgid "cache_set: victim not found"
+msgstr "cache_set: victime non repérée."
+
+#: time/zic.c:1686
+msgid "can't determine time zone abbrevation to use just after until time"
+msgstr ""
+"Ne peut déterminer le nom abrégé du fuseau horaire à utiliser\n"
+"pour rencontrer la condition `jusqu'au temps voulue'."
+
+#: sunrpc/svc_simple.c:64
+#, c-format
+msgid "can't reassign procedure number %d\n"
+msgstr "Ne peut réassigner le numéro de procédure %d.\n"
+
+#: locale/programs/localedef.c:281
+#, c-format
+msgid "cannot `stat' locale file `%s'"
+msgstr "Ne peut effectuer l'évaluation `stat' du fichier local `%s'."
+
+#: locale/programs/ld-collate.c:1313
+#, c-format
+msgid "cannot insert collation element `%.*s'"
+msgstr "Ne peut insérer l'élément de fusionnement `%.*s'."
+
+#: locale/programs/ld-collate.c:1492 locale/programs/ld-collate.c:1497
+msgid "cannot insert into result table"
+msgstr "Ne peut effectuer une insertion dans la table des résultats."
+
+#: locale/programs/ld-collate.c:1165 locale/programs/ld-collate.c:1207
+#, c-format
+msgid "cannot insert new collating symbol definition: %s"
+msgstr "Ne peut insérer une nouvelle définition de symbole de fusionnement: %s."
+
+#: db/makedb.c:149
+#, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "Ne peut ouvrir le fichier de base de données `%s': %s."
+
+#: catgets/gencat.c:250 db/makedb.c:168
+#, c-format
+msgid "cannot open input file `%s'"
+msgstr "Ne peut ouvrir le fichier d'entrée `%s'."
+
+#: locale/programs/localedef.c:215
+#, c-format
+msgid "cannot open locale definition file `%s'"
+msgstr "Ne peut ouvrir le fichier des localisations `%s'."
+
+#: catgets/gencat.c:755 catgets/gencat.c:796 db/makedb.c:177
+#, c-format
+msgid "cannot open output file `%s'"
+msgstr "Ne peut ouvrir le fichier de sortie `%s'."
+
+#: locale/programs/locfile.c:986
+#, c-format
+msgid "cannot open output file `%s' for category `%s'"
+msgstr "Ne peut ouvrir le fichier de sortie `%s' de catégorie `%s'."
+
+#: locale/programs/ld-collate.c:1359
+msgid "cannot process order specification"
+msgstr "Ne peut traiter la spécification d'ordonnancement."
+
+#: locale/programs/locale.c:293
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr "Ne peut lire via le répertoire de la table des caractères `%s'."
+
+#: locale/programs/locale.c:268
+#, c-format
+msgid "cannot read locale directory `%s'"
+msgstr "Ne peut lire via le répertoire des définitions localisées `%s'."
+
+#: locale/programs/localedef.c:303
+#, c-format
+msgid "cannot read locale file `%s'"
+msgstr "Ne peut lire le fichier des définitions localisées `%s'."
+
+#: locale/programs/localedef.c:328
+#, c-format
+msgid "cannot write output files to `%s'"
+msgstr "Ne peut écrire dans les fichiers de sortie vers `%s'."
+
+#: locale/programs/localedef.c:371
+msgid "category data requested more than once: should not happen"
+msgstr "Catégorie de données requises plus d'une fois: n'aurait pas dû se produire."
+
+#: locale/programs/ld-ctype.c:264
+#, c-format
+msgid "character %s'%s' in class `%s' must be in class `%s'"
+msgstr "Caractère %s'%s' de la classe `%s' doit être dans la classe `%s'."
+
+#: locale/programs/ld-ctype.c:288
+#, c-format
+msgid "character %s'%s' in class `%s' must not be in class `%s'"
+msgstr "Caractère %s'%s' de la classe `%s' ne doit pas être dans la classe `%s'."
+
+#: locale/programs/ld-ctype.c:309
+msgid "character <SP> not defined in character map"
+msgstr "Caractère <SP> non défini dans la table des caractères."
+
+#: locale/programs/ld-ctype.c:1140
+#, c-format
+msgid "character `%c' not defined while needed as default value"
+msgstr "Caractère `%c' non défini alors qu'attendu comme valeur par défaut."
+
+#: locale/programs/ld-ctype.c:938 locale/programs/ld-ctype.c:1001
+#: locale/programs/ld-ctype.c:1009 locale/programs/ld-ctype.c:1017
+#: locale/programs/ld-ctype.c:1025 locale/programs/ld-ctype.c:1033
+#: locale/programs/ld-ctype.c:1041 locale/programs/ld-ctype.c:1067
+#: locale/programs/ld-ctype.c:1075 locale/programs/ld-ctype.c:1113
+#: locale/programs/ld-ctype.c:1151
+#, c-format
+msgid "character `%s' not defined while needed as default value"
+msgstr "Caractère `%s' non défini alors qu'attendu comme valeur par défaut."
+
+#: locale/programs/ld-ctype.c:800
+#, c-format
+msgid "character class `%s' already defined"
+msgstr "Classe de caractères `%s' déjà définie."
+
+#: locale/programs/ld-ctype.c:832
+#, c-format
+msgid "character map `%s' already defined"
+msgstr "Table de caractères `%s' déjà définie."
+
+#: locale/programs/charmap.c:76
+#, c-format
+msgid "character map file `%s' not found"
+msgstr "Fichier de la table des caractères `%s' non repérable."
+
+#: sunrpc/clnt_raw.c:106
+msgid "clnt_raw.c - Fatal header serialization error."
+msgstr "clnt_raw.c - erreur fatale de sérialisation d'en-tête."
+
+#: locale/programs/ld-collate.c:1328
+#, c-format
+msgid "collation element `%.*s' appears more than once: ignore line"
+msgstr "Élément de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée."
+
+#: locale/programs/ld-collate.c:1346
+msgid "collation symbol `.*s' appears more than once: ignore line"
+msgstr "Symbole de fusionnement `.*s' apparaît plus d'une fois: ligne ignorée."
+
+#: locale/programs/locfile.c:522
+#, c-format
+msgid "collation symbol expected after `%s'"
+msgstr "Symbole de fusionnement attendu après `%s'."
+
+#: inet/rcmd.c:112
+#, c-format
+msgid "connect to address %s: "
+msgstr "Connexion établie à l'adresse %s: "
+
+#: sunrpc/rpc_scan.c:109
+msgid "constant or identifier expected"
+msgstr "Constante ou identificateur attendu."
+
+#: sunrpc/svc_simple.c:70
+msgid "couldn't create an rpc server\n"
+msgstr "Ne peut créer un serveur rpc.\n"
+
+#: sunrpc/portmap.c:121
+msgid "couldn't do tcp_create\n"
+msgstr "Ne peut exécuter tcp_create.\n"
+
+#: sunrpc/portmap.c:99
+msgid "couldn't do udp_create\n"
+msgstr "Ne peut exécuter udp_create.\n"
+
+#: sunrpc/svc_simple.c:77
+#, c-format
+msgid "couldn't register prog %d vers %d\n"
+msgstr "Ne peut enregistrer le programme %d de version %d.\n"
+
+#: locale/programs/charmap.c:86
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr "Fichier de la table des caractères par défaut `%s' non repéré."
+
+#: sunrpc/rpc_parse.c:77
+msgid "definition keyword expected"
+msgstr "Définition de mot clé attendu."
+
+#: locale/programs/charset.c:87 locale/programs/charset.c:132
+#, c-format
+msgid "duplicate character name `%s'"
+msgstr "Duplicité du nom de caractère `%s'."
+
+#: locale/programs/ld-collate.c:1140
+msgid "duplicate collating element definition"
+msgstr "Duplicité de la définition d'élément de fusionnement."
+
+#: locale/programs/ld-collate.c:1286
+#, c-format
+msgid "duplicate definition for character `%.*s'"
+msgstr "Duplicité de la définition du caractère `%.*s'."
+
+#: db/makedb.c:295
+msgid "duplicate key"
+msgstr "Duplicité de clé."
+
+#: catgets/gencat.c:369
+msgid "duplicate set definition"
+msgstr "Duplicité de la définition d'ensemble."
+
+#: time/zic.c:966
+#, c-format
+msgid "duplicate zone name %s (file \"%s\", line %d)"
+msgstr "Duplicité du nom de zone  %s (fichier \"%s\", ligne %d)."
+
+#: catgets/gencat.c:532
+msgid "duplicated message identifier"
+msgstr "Duplicité de l'identificateur de message."
+
+#: catgets/gencat.c:505
+msgid "duplicated message number"
+msgstr "Duplicité du numéro de message"
+
+#: locale/programs/ld-collate.c:1695
+msgid "empty weight name: line ignored"
+msgstr "Nom du poids vide: ligne ignorée."
+
+#: sunrpc/svc_udp.c:344
+msgid "enablecache: cache already enabled"
+msgstr "enablecache: cache déjà activée."
+
+#: sunrpc/svc_udp.c:349
+msgid "enablecache: could not allocate cache"
+msgstr "enablecache: ne peut allouer une cache."
+
+#: sunrpc/svc_udp.c:356
+msgid "enablecache: could not allocate cache data"
+msgstr "enablecache: ne peut allouer une cache de données."
+
+#: sunrpc/svc_udp.c:362
+msgid "enablecache: could not allocate cache fifo"
+msgstr "enablecache: ne peut allouer une cache de type fifo."
+
+#: locale/programs/ld-collate.c:1418
+msgid "end point of ellipsis range is bigger then start"
+msgstr "Le noeud final de l'intervalle d'ellipse est plus grand que l'initial."
+
+#: locale/programs/ld-collate.c:1148
+msgid "error while inserting collation element into hash table"
+msgstr "Erreur durant l'insertion d'un élément de fusionnement dans la table de hachage."
+
+#: locale/programs/ld-collate.c:1160
+msgid "error while inserting to hash table"
+msgstr "Erreur lors de l'insertion dans la table de hachage."
+
+#: locale/programs/locfile.c:465
+msgid "expect string argument for `copy'"
+msgstr "Chaîne attendue pour le paramètre de `copy'."
+
+#: sunrpc/rpc_util.c:300
+#, c-format
+msgid "expected '%s'"
+msgstr "attendu '%s'"
+
+#: sunrpc/rpc_util.c:312
+#, c-format
+msgid "expected '%s' or '%s'"
+msgstr "attendu '%s' ou '%s'"
+
+#: sunrpc/rpc_util.c:325
+#, c-format
+msgid "expected '%s', '%s' or '%s'"
+msgstr "attendu '%s', '%s' ou '%s'"
+
+#: time/zic.c:857
+msgid "expected continuation line not found"
+msgstr "Ligne de continuation attendue, non repérée."
+
+#: sunrpc/rpc_parse.c:384
+msgid "expected type specifier"
+msgstr "Spécification de type attendu."
+
+#: locale/programs/locfile.c:1010
+#, c-format
+msgid "failure while writing data for category `%s'"
+msgstr "Échec durant l'écriture des données de catégorie `%s'."
+
+#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
+#, c-format
+msgid "field `%s' in category `%s' not defined"
+msgstr "Champ `%s' de catégorie `%s' n'est pas défini."
+
+#: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102
+#, c-format
+msgid "field `%s' in category `%s' undefined"
+msgstr "Champ `%s' de catégorie `%s' indéfini."
+
+#: locale/programs/locfile.c:547
+msgid "from-value of `collating-element' must be a string"
+msgstr "La valeur de départ de `collating-element' doit être une chaîne."
+
+#: locale/programs/linereader.c:328
+msgid "garbage at end of character code specification"
+msgstr "Rebut à la fin du caractère du code de spécification."
+
+#: locale/programs/linereader.c:214
+msgid "garbage at end of digit"
+msgstr "Rebut à la fin des chiffres."
+
+#: sunrpc/get_myaddr.c:73
+msgid "get_myaddress: ioctl (get interface configuration)"
+msgstr "get_myaddress: ioctl (a obtenu la configuration de l'interface)."
+
+#: time/zic.c:1150
+msgid "illegal CORRECTION field on Leap line"
+msgstr "CORRECTION illégale du champ dans la ligne de type `Leap'."
+
+#: time/zic.c:1154
+msgid "illegal Rolling/Stationary field on Leap line"
+msgstr "Champ `Rolling/Stationary' illégal sur la ligne de type `Leap'."
+
+#: locale/programs/ld-collate.c:1766
+msgid "illegal character constant in string"
+msgstr "Caractère illégal de constante dans la chaîne."
+
+#: sunrpc/rpc_scan.c:281
+msgid "illegal character in file: "
+msgstr "Caractère illégal dans le fichier: "
+
+#: locale/programs/ld-collate.c:1115
+msgid "illegal collation element"
+msgstr "Élément de fusionnement illégal."
+
+#: locale/programs/charmap.c:196
+msgid "illegal definition"
+msgstr "Définition illégale."
+
+#: locale/programs/charmap.c:349
+msgid "illegal encoding given"
+msgstr "Encodage fourni illégal."
+
+#: locale/programs/linereader.c:546
+msgid "illegal escape sequence at end of string"
+msgstr "Séquence d'échappement illégale à la fin de la chaîne."
+
+#: locale/programs/charset.c:101
+msgid "illegal names for character range"
+msgstr "Nom illégal pour un intervalle de caractères."
+
+#: sunrpc/rpc_parse.c:146
+msgid "illegal result type"
+msgstr "Résultat de type illégal."
+
+#: catgets/gencat.c:342 catgets/gencat.c:419
+msgid "illegal set number"
+msgstr "Numéro d'ensemble illégal."
+
+#: locale/programs/ld-ctype.c:806
+#, c-format
+msgid "implementation limit: no more than %d character classes allowed"
+msgstr "Limite d'impantation: pas plus de %d classes de caractères sont permises."
+
+#: locale/programs/ld-ctype.c:838
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr "Limite d'impantation: pas plus de %d tables de caractères sont permises."
+
+#: db/makedb.c:151
+msgid "incorrectly formatted file"
+msgstr "Fichier incorrectement formaté."
+
+#: time/zic.c:815
+msgid "input line of unknown type"
+msgstr "Ligne d'entrée de type inconnu."
+
+#: time/zic.c:1734
+msgid "internal error - addtype called with bad isdst"
+msgstr "Erreur interne - addtype appellé avec un mauvais bloc isdst."
+
+#: time/zic.c:1742
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr "Erreur interne - addtype appellé avec un mauvais bloc ttisgmt."
+
+#: time/zic.c:1738
+msgid "internal error - addtype called with bad ttisstd"
+msgstr "Erreur interne - addtype appellé avec un mauvais bloc ttisstd."
+
+#: locale/programs/ld-ctype.c:300
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "Erreur interne dans %s, ligne %u"
+
+#: time/zic.c:1022
+msgid "invalid GMT offset"
+msgstr "Décalage relatif GMT invalide."
+
+#: time/zic.c:1025
+msgid "invalid abbreviation format"
+msgstr "Format d'abréviation invalide."
+
+#: time/zic.c:1115 time/zic.c:1314 time/zic.c:1328
+msgid "invalid day of month"
+msgstr "Jour du mois invalide."
+
+#: time/zic.c:1273
+msgid "invalid ending year"
+msgstr "Année finale invalide."
+
+#: time/zic.c:1087
+msgid "invalid leaping year"
+msgstr "Année bissextile invalide."
+
+#: time/zic.c:1102 time/zic.c:1205
+msgid "invalid month name"
+msgstr "Nom de mois invalide."
+
+#: time/zic.c:921
+msgid "invalid saved time"
+msgstr "Temps sauvegardé invalide."
+
+#: time/zic.c:1253
+msgid "invalid starting year"
+msgstr "Année initiale invalide."
+
+#: time/zic.c:1131 time/zic.c:1233
+msgid "invalid time of day"
+msgstr "Heure du jour invalide."
+
+#: time/zic.c:1319
+msgid "invalid weekday name"
+msgstr "Nom du jour de semaine invalide."
+
+#: locale/programs/ld-collate.c:1411
+msgid "line after ellipsis must contain character definition"
+msgstr "La ligne après l'ellipse doit contenir la définition d'un caractère."
+
+#: locale/programs/ld-collate.c:1390
+msgid "line before ellipsis does not contain definition for character constant"
+msgstr "La ligne avant l'ellipse ne doit pas contenir la définition d'une constante de caractères."
+
+#: time/zic.c:795
+msgid "line too long"
+msgstr "Ligne trop longue."
+
+#: locale/programs/localedef.c:275
+#, c-format
+msgid "locale file `%s', used in `copy' statement, not found"
+msgstr "Fichier localisé `%s', utilisé dans la déclaration de `copy', non repéré."
+
+#: catgets/gencat.c:600
+msgid "malformed line ignored"
+msgstr "Ligne malformée ignorée."
+
+#: malloc/mcheck.c:183
+msgid "memory clobbered before allocated block"
+msgstr "Mémoire écrasée avant le bloc alloué."
+
+#: malloc/mcheck.c:186
+msgid "memory clobbered past end of allocated block"
+msgstr "Mémoire écrasée après la fin du bloc alloué."
+
+#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
+#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1438
+#: locale/programs/ld-collate.c:1467 locale/programs/locfile.c:940
+#: locale/programs/xmalloc.c:64 posix/getconf.c:174
+msgid "memory exhausted"
+msgstr "Mémoire épuisée."
+
+#: malloc/mcheck.c:180
+msgid "memory is consistent, library is buggy"
+msgstr "Mémoire consistente, la librairie est fautive."
+
+#: time/zic.c:916
+msgid "nameless rule"
+msgstr "Règle sans nom."
+
+#: sunrpc/svc_simple.c:140
+#, c-format
+msgid "never registered prog %d\n"
+msgstr "Le programme %d n'a jamais été enregistré.\n"
+
+#: sunrpc/rpc_parse.c:305 sunrpc/rpc_parse.c:313
+msgid "no array-of-pointer declarations -- use typedef"
+msgstr "Pas de déclaration `array-of-pointer' -- utiliser typedef."
+
+#: locale/programs/ld-messages.c:95 locale/programs/ld-messages.c:116
+#, c-format
+msgid "no correct regular expression for field `%s' in category `%s': %s"
+msgstr "Expression reguliere incorrecte du champ `%s' de catégorie `%s': %s"
+
+#: time/zic.c:2060
+msgid "no day in month matches rule"
+msgstr "Pas de jour dans les règles de concordance."
+
+#: locale/programs/ld-collate.c:259
+msgid "no definition of `UNDEFINED'"
+msgstr "Pas de définition de type `UNDEFINED'."
+
+#: locale/programs/locfile.c:479
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr "Aucun autre mot clé ne doit être spécifié lorsque `copy' est utilisé."
+
+#: locale/programs/localedef.c:334
+msgid "no output file produced because warning were issued"
+msgstr "Aucun fichier de sortie généré en raison d'un avertissement déjà émis."
+
+#: locale/programs/charmap.c:315 locale/programs/charmap.c:466
+#: locale/programs/charmap.c:545
+msgid "no symbolic name given"
+msgstr "Aucun nom symbolique fourni."
+
+#: locale/programs/charmap.c:380 locale/programs/charmap.c:512
+#: locale/programs/charmap.c:578
+msgid "no symbolic name given for end of range"
+msgstr "Pas de nom symbolique fourni pour la fin de l'intervalle."
+
+#: locale/programs/ld-collate.c:244
+#, c-format
+msgid "no weight defined for symbol `%s'"
+msgstr "Pas de poids défini pour le symbole `%s'."
+
+#: locale/programs/charmap.c:430
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr ""
+"Seules les définitions de type `WIDTH' sont autorisées à suivre\n"
+"la définition de `CHARMAP'."
+
+#: sunrpc/portmap.c:451
+msgid "portmap CALLIT: cannot fork.\n"
+msgstr "portmap CALLIT: ne peut procéder à un clonage de type fork.\n"
+
+#: sunrpc/portmap.c:94 sunrpc/portmap.c:116
+msgid "portmap cannot bind"
+msgstr "portmap ne peut établir un pairage (bind)."
+
+#: sunrpc/portmap.c:86 sunrpc/portmap.c:112
+msgid "portmap cannot create socket"
+msgstr "portmap ne créer un socket"
+
+#: sunrpc/rpc_scan.c:456 sunrpc/rpc_scan.c:464
+msgid "preprocessor error"
+msgstr "Erreur du préprocesseur."
+
+#: db/makedb.c:311
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "Problèmes lors de la lecture de `%s'"
+
+#: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350
+#, c-format
+msgid "program %lu is not available\n"
+msgstr "Le programme %lu n'est pas disponible.\n"
+
+#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:282 sunrpc/rpcinfo.c:371
+#: sunrpc/rpcinfo.c:408 sunrpc/rpcinfo.c:429 sunrpc/rpcinfo.c:462
+#, c-format
+msgid "program %lu version %lu is not available\n"
+msgstr "Le programme %lu de version %lu n'est pas disponible.\n"
+
+#: sunrpc/rpcinfo.c:466
+#, c-format
+msgid "program %lu version %lu ready and waiting\n"
+msgstr "Le programme %lu de version %lu est prêt et en attente.\n"
+
+#: inet/rcmd.c:154
+#, c-format
+msgid "rcmd: select (setting up stderr): %s\n"
+msgstr "rcmd: sélection (configuration de stderr): %s.\n"
+
+#: inet/rcmd.c:86
+msgid "rcmd: socket: All ports in use\n"
+msgstr "rcmd: socket: tous les ports sont occupés.\n"
+
+#: inet/rcmd.c:141
+#, c-format
+msgid "rcmd: write (setting up stderr): %s\n"
+msgstr "rcmd: écriture (configuration de stderr): %s.\n"
+
+#: sunrpc/svc_simple.c:83
+msgid "registerrpc: out of memory\n"
+msgstr "registerrpc: mémoire épuisée.\n"
+
+#: time/zic.c:1795
+msgid "repeated leap second moment"
+msgstr "Répétition du délai une seconde fois."
+
+#: sunrpc/rpcinfo.c:659
+#, c-format
+msgid "rpcinfo: %s is unknown host\n"
+msgstr "rpcinfo: %s est un hôte inconnu.\n"
+
+#: sunrpc/rpcinfo.c:626
+#, c-format
+msgid "rpcinfo: %s is unknown service\n"
+msgstr "rpcinfo: %s est un service inconnu.\n"
+
+#: sunrpc/rpcinfo.c:600
+#, c-format
+msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
+msgstr "rpcinfo: ne peut éliminer l'enregistrement du programme %s de version %s.\n"
+
+#: sunrpc/rpcinfo.c:576
+#, c-format
+msgid "rpcinfo: broadcast failed: %s\n"
+msgstr "rpcinfo: échec de diffusion: %s.\n"
+
+#: sunrpc/rpcinfo.c:505
+msgid "rpcinfo: can't contact portmapper"
+msgstr "rpcinfo: ne peut contacter le convertisseur de ports."
+
+#: sunrpc/rpcinfo.c:510
+msgid "rpcinfo: can't contact portmapper: "
+msgstr "rpcinfo: ne peut contacter le convertisseur de ports."
+
+#: sunrpc/portmap.c:137
+msgid "run_svc returned unexpectedly\n"
+msgstr "run_svc a retourné de façon imprévue.\n"
+
+#: time/zic.c:709 time/zic.c:711
+msgid "same rule name in multiple files"
+msgstr "Même nom de règle dans plusieurs fichiers."
+
+#: inet/rcmd.c:158
+msgid "select: protocol failure in circuit setup\n"
+msgstr "select: échec de protocole dans la configuration du circuit.\n"
+
+#: inet/rcmd.c:176
+msgid "socket: protocol failure in circuit setup.\n"
+msgstr "socket: échec de protocole dans la configuration du circuit.\n"
+
+#: locale/programs/locfile.c:600
+msgid "sorting order `forward' and `backward' are mutually exclusive"
+msgstr "Les options de tri `forward' et `backward' sont mutuellement exclusives."
+
+#: locale/programs/ld-collate.c:1567 locale/programs/ld-collate.c:1613
+msgid ""
+"specification of sorting weight for collation symbol does not make sense"
+msgstr ""
+"La spécification de tri par le poids des symboles de fusionnement n'a aucun sens."
+
+#: time/zic.c:780
+msgid "standard input"
+msgstr "entrée standard"
+
+#: time/zdump.c:260
+msgid "standard output"
+msgstr "sortie standard"
+
+#: time/zic.c:1277
+msgid "starting year greater than ending year"
+msgstr "Année initiale plus grande que l'année finale."
+
+#: sunrpc/svc_tcp.c:199 sunrpc/svc_tcp.c:204
+msgid "svc_tcp: makefd_xprt: out of memory\n"
+msgstr "svc_tcp: makefd_xprt: mémoire épuisée.\n"
+
+#: sunrpc/svc_tcp.c:147
+msgid "svctcp_.c - cannot getsockname or listen"
+msgstr "svctcp_.c - ne peut trouver le nom du socket par getsockname() ou listen()."
+
+#: sunrpc/svc_tcp.c:134
+msgid "svctcp_.c - udp socket creation problem"
+msgstr "svctcp_.c - problème de création d'un socket udp."
+
+#: sunrpc/svc_tcp.c:154 sunrpc/svc_tcp.c:161
+msgid "svctcp_create: out of memory\n"
+msgstr "svctcp_create: mémoire épuisée.\n"
+
+#: sunrpc/svc_udp.c:119
+msgid "svcudp_create - cannot getsockname"
+msgstr "svcudp_create - ne peut trouver le nom du socket par getsockname()."
+
+#: sunrpc/svc_udp.c:107
+msgid "svcudp_create: socket creation problem"
+msgstr "svcudp_create: problème de création du socket."
+
+#: locale/programs/ld-collate.c:1190
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates element "
+"definition"
+msgstr ""
+"Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
+"provoque la duplication de la définition d'un élément."
+
+#: locale/programs/ld-collate.c:1063
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates other element "
+"definition"
+msgstr ""
+"Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
+"provoque la duplication d'autres définitions d'éléments."
+
+#: locale/programs/ld-collate.c:1199
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates other symbol "
+"definition"
+msgstr ""
+"Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
+"provoque la duplication d'autres définitions de symboles."
+
+#: locale/programs/ld-collate.c:1072
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates symbol "
+"definition"
+msgstr ""
+"Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
+"provoque la duplication de la définition d'un symbole."
+
+#: locale/programs/ld-collate.c:1054 locale/programs/ld-collate.c:1181
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates symbolic name "
+"in charset"
+msgstr ""
+"Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
+"provoque la duplication d'un nom symbolique dans le jeu de caractères."
+
+#: locale/programs/charmap.c:314 locale/programs/charmap.c:348
+#: locale/programs/charmap.c:378 locale/programs/charmap.c:465
+#: locale/programs/charmap.c:511 locale/programs/charmap.c:544
+#: locale/programs/charmap.c:576
+#, c-format
+msgid "syntax error in %s definition: %s"
+msgstr "Erreur de syntaxe dans la définition de %s: %s."
+
+#: locale/programs/locfile.c:620
+msgid "syntax error in `order_start' directive"
+msgstr "Erreur de syntaxe dans la directive `order_start'."
+
+#: locale/programs/locfile.c:362
+msgid "syntax error in character class definition"
+msgstr "Erreur de syntaxe dans la définition de la classe de caractères."
+
+#: locale/programs/locfile.c:420
+msgid "syntax error in character conversion definition"
+msgstr "Erreur de syntaxe dans la définition du caractère de conversion."
+
+#: locale/programs/locfile.c:662
+msgid "syntax error in collating order definition"
+msgstr "Erreur de syntaxe dans l'ordre de la définition du fusionnement."
+
+#: locale/programs/locfile.c:512
+msgid "syntax error in collation definition"
+msgstr "Erreur de syntaxe dans la définition du fusionnement."
+
+#: locale/programs/locfile.c:335
+msgid "syntax error in definition of LC_CTYPE category"
+msgstr "Erreur de syntaxe dans la définition d'une catégorie de type `LC_CTYPE'."
+
+#: locale/programs/locfile.c:278
+msgid "syntax error in definition of new character class"
+msgstr "Erreur de syntaxe dans la définition d'une nouvelle classe de caractères."
+
+#: locale/programs/locfile.c:288
+msgid "syntax error in definition of new character map"
+msgstr "Erreur de syntaxe dans la définition d'une nouvelle table de caractères."
+
+#: locale/programs/locfile.c:873
+msgid "syntax error in message locale definition"
+msgstr "Erreur de syntaxe dans la définition localisée du message."
+
+#: locale/programs/locfile.c:784
+msgid "syntax error in monetary locale definition"
+msgstr "Erreur de syntaxe dans la définition localisée des valeurs monétaires."
+
+#: locale/programs/locfile.c:811
+msgid "syntax error in numeric locale definition"
+msgstr "Erreur de syntaxe dans la définition localisée de représentation numérique."
+
+#: locale/programs/locfile.c:722
+msgid "syntax error in order specification"
+msgstr "Erreur de syntaxe dans la spéficication de l'ordonnancement."
+
+#: locale/programs/charmap.c:195 locale/programs/charmap.c:211
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr "Erreur de syntaxe du prologue: %s."
+
+#: locale/programs/locfile.c:849
+msgid "syntax error in time locale definition"
+msgstr "Erreur de syntaxe dans la définition localisée de la représentation du temps."
+
+#: locale/programs/locfile.c:255
+msgid "syntax error: not inside a locale definition section"
+msgstr "Erreur de syntaxe: pas à l'intérieur d'une section de définition localisée."
+
+#: catgets/gencat.c:371 catgets/gencat.c:507 catgets/gencat.c:534
+msgid "this is the first definition"
+msgstr "Ceci est la première définition."
+
+#: time/zic.c:1120A
+#: mro: à investiguer dans le code source
+msgid "time before zero"
+msgstr "Temps défini avant le zéro."
+
+#: time/zic.c:1128 time/zic.c:1960 time/zic.c:1979
+msgid "time overflow"
+msgstr "Débordement de temps."
+
+#: locale/programs/charset.c:44
+msgid "too few bytes in character encoding"
+msgstr "Trop peu d'octets pour l'encodage des caractères."
+
+#: locale/programs/charset.c:46
+msgid "too many bytes in character encoding"
+msgstr "Trop d'octets pour l'encodage des caractères."
+
+#: locale/programs/locales.h:72
+msgid "too many character classes defined"
+msgstr "Trop de définitions de classes de caractères."
+
+#: sunrpc/rpc_util.c:285
+msgid "too many files!\n"
+msgstr "Trop de fichiers!\n"
+
+#: time/zic.c:1789
+msgid "too many leap seconds"
+msgstr "Trop de délai en secondes."
+
+#: time/zic.c:1761
+msgid "too many local time types"
+msgstr "Trop de types localisés pour la représentation du temps."
+
+#: time/zic.c:1715
+msgid "too many transitions?!"
+msgstr "Trop de transitions définies?!"
+
+#: locale/programs/ld-collate.c:1622
+msgid "too many weights"
+msgstr "Trop de poids définis."
+
+#: time/zic.c:2083
+msgid "too many, or too long, time zone abbreviations"
+msgstr "Trop ou de trop longues abréviations de fuseaux horaires."
+
+#: locale/programs/linereader.h:146
+msgid "trailing garbage at end of line"
+msgstr "Suffixe en rebut à la fin de la ligne."
+
+#: sunrpc/svc_simple.c:132
+#, c-format
+msgid "trouble replying to prog %d\n"
+msgstr "Problème à répondre au programme %d.\n"
+
+#: locale/programs/ld-collate.c:1382
+msgid "two lines in a row containing `...' are not allowed"
+msgstr "Deux lignes consécutives contenant `...' ne sont pas permises."
+
+#: time/zic.c:1284
+msgid "typed single year"
+msgstr "Une seule année fournie."
+
+#: locale/programs/charmap.c:617 locale/programs/charmap.c:628
+#, c-format
+msgid "unknown character `%s'"
+msgstr "Caractère inconnu `%s'."
+
+#: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204
+#: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226
+#, c-format
+msgid "unknown character in field `%s' of category `%s'"
+msgstr "Caractère inconnu dans le champ `%s' de catégorie `%s'."
+
+#: locale/programs/locfile.c:585
+msgid "unknown collation directive"
+msgstr "Directive de fusionnement inconnue."
+
+#: catgets/gencat.c:468
+#, c-format
+msgid "unknown directive `%s': line ignored"
+msgstr "Directive inconnue `%s': ligne ignorée."
+
+#: catgets/gencat.c:447
+#, c-format
+msgid "unknown set `%s'"
+msgstr "Ensemble inconnu `%s'."
+
+#: locale/programs/ld-collate.c:1366 locale/programs/ld-collate.c:1557
+#: locale/programs/ld-collate.c:1731
+#, c-format
+msgid "unknown symbol `%.*s': line ignored"
+msgstr "Symbole inconnu `%.*s': ligne ignorée."
+
+#: time/zic.c:752
+msgid "unruly zone"
+msgstr "Zone sans règle."
+
+#: catgets/gencat.c:952
+msgid "unterminated message"
+msgstr "Message incomplet."
+
+#: locale/programs/linereader.c:515 locale/programs/linereader.c:550
+msgid "unterminated string"
+msgstr "Chaîne incomplète."
+
+#: sunrpc/rpc_scan.c:319
+msgid "unterminated string constant"
+msgstr "Chaîne de constante incomplète."
+
+#: locale/programs/linereader.c:385
+msgid "unterminated symbolic name"
+msgstr "Nom symbolique incomplet."
+
+#: locale/programs/ld-collate.c:1684
+msgid "unterminated weight name"
+msgstr "Nom de poids incomplet."
+
+#: locale/programs/charset.c:119
+msgid "upper limit in range is not smaller then lower limit"
+msgstr "Limite supérieure de l'intervalle n'est pas plus petite que la limite inférieure."
+
+#: sunrpc/rpc_main.c:78
+#, c-format
+msgid "usage: %s infile\n"
+msgstr "Usage: %s fichier_d_entrée\n"
+
+#: time/zic.c:2026
+msgid "use of 2/29 in non leap-year"
+msgstr "Utiliser 2/29 pour les années non-bissextiles."
+
+#: locale/programs/charmap.c:438 locale/programs/charmap.c:492
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "La valeur de %s doit être un entier."
+
+#: locale/programs/charmap.c:233
+#, c-format
+msgid "value for <%s> must lie between 1 and 4"
+msgstr "La valeur de <%s> doit être comprise entre 1 et 4."
+
+#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89
+#, c-format
+msgid "value for field `%s' in category `%s' must not be the empty string"
+msgstr "La valeur du champ `%s' de catégorie `%s' ne doit pas être un chaîne vide."
+
+#: locale/programs/charmap.c:245
+msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
+msgstr "La valeur de <mb_cur_max> doit être plus grande que la valeur de <mb_cur_min>."
+
+#: locale/programs/ld-monetary.c:138
+msgid ""
+"value of field `int_curr_symbol' in category `LC_MONETARY' does not "
+"correspond to a valid name in ISO 4217"
+msgstr ""
+"La valeur du champ `int_curr_symbol' de catégorie `LC_MONETARY' ne doit pas "
+"correspondre à un nom valide de la norme ISO 4217."
+
+#: locale/programs/ld-monetary.c:133
+msgid ""
+"value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
+msgstr ""
+"La valeur du champ `int_curr_symbol' de catégorie `LC_MONETARY' n'a pas la bonne longueur."
+
+#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199
+#, c-format
+msgid "values for field `%s' in category `%s' must be smaller than 127"
+msgstr "Les valeurs du champ `%s' de catégorie `%s' doivent être plus petite que 127."
+
+#: locale/programs/ld-monetary.c:366
+#, c-format
+msgid "values for field `%s' in category `%s' must not be zero"
+msgstr "Les valeurs du champ `%s' de catégorie `%s' ne doivent pas être égal à zéro."
+
+#: sunrpc/rpc_parse.c:330
+msgid "variable-length array declaration expected"
+msgstr "Déclaration attendue de tableau de type `variable-length'."
+
+#: sunrpc/rpc_parse.c:370
+msgid "voids allowed only inside union and program definitions"
+msgstr "Déclaration `voids' permises seulement à l'intérieur d'une définition d'`union' et de programme."
+
+#: login/setutent_r.c:47
+msgid "while opening UTMP file"
+msgstr "durant l'ouverture du fichier UTMP."
+
+#: catgets/gencat.c:979
+msgid "while opening old catalog file"
+msgstr "durant l'ouverture du vieux fichier du catalogue."
+
+#: db/makedb.c:338
+msgid "while reading database"
+msgstr "durant la lecture de la base de données."
+
+#: db/makedb.c:300
+msgid "while writing data base file"
+msgstr "durant l'écriture dans le fichier de la base de données."
+
+#: db/makedb.c:130
+msgid "wrong number of arguments"
+msgstr "Mauvais nombre de paramètres."
+
+#: time/zic.c:1078
+msgid "wrong number of fields on Leap line"
+msgstr "Mauvais nombre de champs sur la ligne de type `Leap'."
+
+#: time/zic.c:1169
+msgid "wrong number of fields on Link line"
+msgstr "Mauvais nombre de champs sur la ligne de type `Link'."
+
+#: time/zic.c:912
+msgid "wrong number of fields on Rule line"
+msgstr "Mauvais nombre de champs sur la ligne de type `Rule'."
+
+#: time/zic.c:982
+msgid "wrong number of fields on Zone continuation line"
+msgstr "Mauvais nombre de champs sur la ligne de type continuation de `Zone'."
+
+#: time/zic.c:940
+msgid "wrong number of fields on Zone line"
+msgstr "Mauvais nombre de champs sur la ligne de type `Zone'."
index af81ea645a068bef6d1ee4ac2f0de1aa1469b53e..726cb14b2e9ff6960ae61edf985c7ff4ea95f296 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -1,13 +1,13 @@
-# Korean messages for GNU C Library
+# Korean messages for GNU libc
 # Copyright (C) 1996 Free Software Foundation, Inc.
-# Bang Jun Young <bangjy@nownuri.nowcom.co.kr>, 1996.
+# Bang Jun-Young <bangjy@nownuri.nowcom.co.kr>, 1996.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU glibc 1.90\n"
-"POT-Creation-Date: 1996-05-29 14:03\n"
-"PO-Revision-Date: 1996-08-22 23:20+0900\n"
-"Last-Translator: Bang Jun Young <bangjy@nownuri.nowcom.co.kr>\n"
+"Project-Id-Version: GNU libc 1.94\n"
+"POT-Creation-Date: 1996-09-08  3:45\n"
+"PO-Revision-Date: 1996-09-26 12:34+0900\n"
+"Last-Translator: Bang Jun-Young <bangjy@nownuri.nowcom.co.kr>\n"
 "Language-Team: Korean <ko@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=EUC-KR\n"
@@ -43,27 +43,31 @@ msgstr "       rpcinfo [ -n 
 msgid "   program vers proto   port\n"
 msgstr "   ÇÁ·Î±×·¥ ¹öÀü ¿øÇü   Æ÷Æ®\n"
 
-#: time/zic.c:423
+#: time/zic.c:425
 #, c-format
 msgid " (rule from \"%s\", line %d)"
-msgstr ""
+msgstr " (\"%s\"¿¡ Àִ ±ÔÄ¢, %d Çà)"
+
+#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1233
+msgid " done\n"
+msgstr " ¿Ï·á\n"
 
-#: time/zic.c:420
+#: time/zic.c:422
 #, fuzzy, c-format
 msgid "\"%s\", line %d: %s"
 msgstr "%s, Çà %d: "
 
-#: time/zic.c:908
+#: time/zic.c:946
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
-msgstr ""
+msgstr "\"Áö¿ª %s\" Çà°ú -l ¿É¼ÇÀº ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
 
-#: time/zic.c:916
+#: time/zic.c:954
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr ""
+msgstr "\"Áö¿ª %s\" Çà°ú -p ¿É¼ÇÀº ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
 
-#: time/zic.c:721
+#: time/zic.c:759
 #, c-format
 msgid "%s in ruleless zone"
 msgstr ""
@@ -86,98 +90,103 @@ msgstr "%s%s
 #: sunrpc/rpc_util.c:258
 #, c-format
 msgid "%s, line %d: "
-msgstr "%s, Çà %d: "
+msgstr "%s, %d Çà: "
 
-#: time/zic.c:2035
+#: time/zic.c:2140
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr ""
 
-#: time/zic.c:1339
+#: locale/programs/charmap.c:176
+#, c-format
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max>´Â <mb_cur_min>º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù\n"
+
+#: time/zic.c:1431
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr "%s: %s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù: %s\n"
 
-#: time/zic.c:2014
+#: time/zic.c:2119
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr "%s: %s µð·ºÅ丮¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù: %s\n"
 
-#: time/zic.c:600
+#: time/zic.c:613
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
-msgstr ""
+msgstr "%s: %s¸¦ %s·Î ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù: %s\n"
 
-#: time/zic.c:746
+#: time/zic.c:784
 #, c-format
 msgid "%s: Can't open %s: %s\n"
 msgstr "%s: %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù: %s\n"
 
-#: time/zic.c:814
+#: time/zic.c:852
 #, c-format
 msgid "%s: Error closing %s: %s\n"
 msgstr "%s: %s¸¦ ´Ý´Â µµÁß ¿À·ù ¹ß»ý: %s\n"
 
-#: time/zic.c:808
+#: time/zic.c:846
 #, c-format
 msgid "%s: Error reading %s\n"
 msgstr "%s: %s¸¦ Àд µµÁß ¿À·ù ¹ß»ý\n"
 
-#: time/zic.c:1404
+#: time/zic.c:1495
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr "%s: %s¸¦ ¾²´Â µµÁß ¿À·ù ¹ß»ý\n"
 
-#: time/zdump.c:257
+#: time/zdump.c:258
 #, c-format
 msgid "%s: Error writing standard output "
 msgstr "%s: Ç¥ÁØ Ãâ·Â¿¡ ¾²´Â µµÁß ¿À·ù ¹ß»ý "
 
-#: time/zic.c:793
+#: time/zic.c:831
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
 msgstr ""
 
-#: time/zic.c:360
-#, fuzzy, c-format
+#: time/zic.c:362
+#, c-format
 msgid "%s: Memory exhausted: %s\n"
-msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
+msgstr "%s: ¸Þ¸ð¸®°¡ ¹Ù´Ú³²: %s\n"
 
-#: time/zic.c:515
+#: time/zic.c:528
 #, c-format
 msgid "%s: More than one -L option specified\n"
 msgstr "%s: Çϳª ÀÌ»óÀÇ -L ¿É¼ÇÀÌ ÁöÁ¤µÇ¾úÀ½\n"
 
-#: time/zic.c:475
+#: time/zic.c:488
 #, c-format
 msgid "%s: More than one -d option specified\n"
 msgstr "%s: Çϳª ÀÌ»óÀÇ -d ¿É¼ÇÀÌ ÁöÁ¤µÇ¾úÀ½\n"
 
-#: time/zic.c:485
+#: time/zic.c:498
 #, c-format
 msgid "%s: More than one -l option specified\n"
 msgstr "%s: Çϳª ÀÌ»óÀÇ -l ¿É¼ÇÀÌ ÁöÁ¤µÇ¾úÀ½\n"
 
-#: time/zic.c:495
+#: time/zic.c:508
 #, c-format
 msgid "%s: More than one -p option specified\n"
 msgstr "%s: Çϳª ÀÌ»óÀÇ -p ¿É¼ÇÀÌ ÁöÁ¤µÇ¾úÀ½\n"
 
-#: time/zic.c:505
+#: time/zic.c:518
 #, c-format
 msgid "%s: More than one -y option specified\n"
 msgstr "%s: Çϳª ÀÌ»óÀÇ -y ¿É¼ÇÀÌ ÁöÁ¤µÇ¾úÀ½\n"
 
-#: posix/getconf.c:149
-#, fuzzy, c-format
-msgid "%s: Unrecognized variable `%s'\n"
-msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
-
-#: time/zic.c:1741
+#: time/zic.c:1846
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr "%s: ¸í·ÉÀº '%s'¿´°í, °á°ú´Â %d¿´½À´Ï´Ù\n"
 
+#: locale/programs/charmap.c:593 locale/programs/locfile.c:878
+#, c-format
+msgid "%s: error in state machine"
+msgstr ""
+
 #: posix/getopt.c:686
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -218,11 +227,16 @@ msgstr "%s: 
 msgid "%s: output would overwrite %s\n"
 msgstr "%s: Ãâ·ÂÀÌ %s¸¦ µ¤¾î¾µ °ÍÀÔ´Ï´Ù\n"
 
-#: time/zic.c:800 zic.c:1212 zic.c:1232
+#: time/zic.c:838 time/zic.c:1249 time/zic.c:1269
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr "%s: panic: ºÎÀûÀýÇÑ ÁÂÇ×°ª %d\n"
 
+#: locale/programs/charmap.c:600
+#, fuzzy, c-format
+msgid "%s: premature end of file"
+msgstr "Á¤±Ô½ÄÀÌ ¿Ï°áµÇÁö ¾ÊÀº Ã¤ ³¡³²"
+
 #: sunrpc/rpc_main.c:152
 #, c-format
 msgid "%s: unable to open "
@@ -238,14 +252,16 @@ msgstr "%s: 
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `--%s'\n"
 
-#: time/zic.c:432
+#: time/zic.c:447
 #, c-format
 msgid ""
-"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n"
+"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d "
+"directory ]\n"
 "\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
 msgstr ""
-"%s: »ç¿ë¹ýÀº %s [ -s ] [ -v ] [ -l Áö¿ª½Ã°¢ ] [ -p Æ÷½Ä½º±ÔÄ¢ ] [ -d µð·ºÅ丮 ]\n"
-"\t[ -L leapseconds ] [ -y yearistype ] [ ÆÄÀÏÀ̸§ ... ]\n"
+"%s: »ç¿ë¹ýÀº %s [ -s ] [ -v ] [ -l Áö¿ª½Ã°¢ ] [ -p Æ÷½Ä½º±ÔÄ¢ ] [ -d "
+"µð·ºÅ丮 ]\n"
+"\t[ -L À±ÃÊ ] [ -y yearistype ] [ ÆÄÀÏÀ̸§ ... ]\n"
 
 #: time/zdump.c:165
 #, c-format
@@ -258,14 +274,17 @@ msgid "(unknown authentication error - %d)"
 msgstr "(¾Ë ¼ö ¾ø´Â ÀÎÁõ ¿À·ù - %d)"
 
 #: sunrpc/rpcinfo.c:555
-#, fuzzy
 msgid "(unknown)"
-msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£"
+msgstr "(¾Ë ¼ö ¾øÀ½)"
 
-#: catgets/gencat.c:242
+#: catgets/gencat.c:244
 msgid "*standard input*"
 msgstr "*Ç¥ÁØ ÀÔ·Â*"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:766
+msgid ".lib section in a.out corrupted"
+msgstr "a.outÀÇ .lib ÀýÀÌ ¼Õ»óµÇ¾úÀ½"
+
 #: inet/rcmd.c:325
 msgid ".rhosts fstat failed"
 msgstr ".rhosts fstat ½ÇÆÐ"
@@ -282,7 +301,7 @@ msgstr ".rhosts
 msgid ".rhosts writeable by other than owner"
 msgstr ".rhosts´Â ¼ÒÀ¯ÀÚ°¡ ¾Æ´Ñ »ç¶÷ÀÌ º¯°æÇÒ ¼ö ÀÖÀ½"
 
-#: clnt_perr.c:133 sunrpc/clnt_perr.c:112
+#: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133
 #, c-format
 msgid "; low version = %lu, high version = %lu"
 msgstr "; ³·Àº ¹öÀü = %lu, ³ôÀº ¹öÀü = %lu"
@@ -291,41 +310,100 @@ msgstr "; 
 msgid "; why = "
 msgstr "; ÀÌÀ¯ = "
 
+#: locale/programs/ld-ctype.c:325
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "<SP> ¹®Àڴ `%s' Å¬·¡½º¿¡ ÀÖÀ¸¸é ¾ÈµË´Ï´Ù"
+
+#: locale/programs/ld-ctype.c:316
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "<SP> ¹®Àڴ `%s' Å¬·¡½º¿¡ ¾øÀ½"
+
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke.  Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: stdio-common/../sysdeps/gnu/errlist.c:591
 msgid "?"
 msgstr "?"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:762
+msgid "Accessing a corrupted shared library"
+msgstr "¼Õ»óµÈ °øÀ¯ ¶óÀ̺귯¸®¿¡ Á¢±ÙÇÔ"
+
+#. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:354
 msgid "Address already in use"
-msgstr "ÁÖ¼Ò°¡ À̹̠»ç¿ëÁßÀÔ´Ï´Ù"
+msgstr "ÁÖ¼Ò°¡ À̹̠»ç¿ë ÁßÀÔ´Ï´Ù"
+
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket.  @xref{Sockets}.
+#: stdio-common/../sysdeps/gnu/errlist.c:349
+msgid "Address family not supported by protocol"
+msgstr "ÁÖ¼Ò±ºÀÌ ±Ô¾à¿¡¼­ Áö¿øµÇÁö ¾ÊÀ½"
 
-msgid "Address family not supported by protocol family"
-msgstr "ÁÖ¼Ò±ºÀÌ ±Ô¾à±º¿¡¼­ Áö¿øµÇÁö ¾ÊÀ½"
+#: stdio-common/../sysdeps/gnu/errlist.c:714
+msgid "Advertise error"
+msgstr ""
 
 msgid "Alarm clock"
 msgstr "ÀÚ¸íÁ¾ ½Ã°è"
 
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space.  This condition never arises in the
+#. TRANS GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:57
 msgid "Argument list too long"
 msgstr "Àμö ¸í´ÜÀÌ ³Ê¹« ±é´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:770
+msgid "Attempting to link in too many shared libraries"
+msgstr ""
+
 #: sunrpc/clnt_perr.c:276
 msgid "Authentication OK"
-msgstr "ÀÎÁõ ½ÂÀÎ"
+msgstr "ÀÎÁõ ½ÂÀεÊ"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:549
 msgid "Authentication error"
 msgstr "ÀÎÁõ ¿À·ù"
 
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:102
 msgid "Bad address"
 msgstr "À߸øµÈ ÁÖ¼Ò"
 
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: stdio-common/../sysdeps/gnu/errlist.c:70
 msgid "Bad file descriptor"
 msgstr "À߸øµÈ ÆÄÀÏ ±â¼úÀÚ"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:682
+msgid "Bad font file format"
+msgstr "À߸øµÈ ÆùÆ® ÆÄÀÏ Çü½Ä"
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one.  For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:109
 msgid "Block device required"
 msgstr "ºí·Ï ÀåÄ¡°¡ ÇÊ¿äÇÔ"
 
-#: sunrpc/pmap_rmt.c:336
+#: sunrpc/pmap_rmt.c:335
 msgid "Broadcast select problem"
 msgstr "ºê·Îµåij½ºÆ® ¼±Å๮Á¦"
 
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: stdio-common/../sysdeps/gnu/errlist.c:222
 msgid "Broken pipe"
 msgstr "±ú¾îÁø ÆÄÀÌÇÁ"
 
@@ -335,20 +413,32 @@ msgstr "
 msgid "CPU time limit exceeded"
 msgstr "CPU ½Ã°£ Á¦ÇÑ ÃÊ°úÇÔ"
 
-msgid "Can't assign requested address"
-msgstr "¿äûµÈ ÁÖ¼Ò¸¦ ¹èÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù"
-
-msgid "Can't send after socket shutdown"
-msgstr "¼ÒÄÏÀÌ ´ÝÈù ÈÄ¿¡ º¸³¾ ¼ö ¾ø½À´Ï´Ù"
+#: stdio-common/../sysdeps/gnu/errlist.c:758
+msgid "Can not access a needed shared library"
+msgstr "ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù"
 
+#. TRANS No memory available.  The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:91
 msgid "Cannot allocate memory"
 msgstr "¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: sunrpc/pmap_rmt.c:254
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:361
+msgid "Cannot assign requested address"
+msgstr "¿äûµÈ ÁÖ¼Ò¸¦ ¹èÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: sunrpc/pmap_rmt.c:253
 msgid "Cannot create socket for broadcast rpc"
 msgstr "ºê·Îµåij½ºÆ® rpc¸¦ À§ÇÑ ¼ÒÄÏÀ» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
 
-#: sunrpc/pmap_rmt.c:348
+#: stdio-common/../sysdeps/gnu/errlist.c:774
+msgid "Cannot exec a shared library directly"
+msgstr "°øÀ¯ ¶óÀ̺귯¸®¸¦ Á÷Á¢ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: sunrpc/pmap_rmt.c:347
 msgid "Cannot receive reply to broadcast"
 msgstr "ºê·Îµåij½ºÆ®¿¡ ´ëÇÑ ÀÀ´äÀ» ¹ÞÀ» ¼ö ¾ø½À´Ï´Ù"
 
@@ -356,14 +446,23 @@ msgstr "
 msgid "Cannot register service"
 msgstr "¼­ºñ½º¸¦ µî·ÏÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: sunrpc/pmap_rmt.c:312
+#. TRANS The socket has already been shut down.
+#: stdio-common/../sysdeps/gnu/errlist.c:422
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Àü¼Û Á¾·áÁöÁ¡ÀÌ Áö³­ ÈÄ¿¡ º¸³¾ ¼ö ¾ø½À´Ï´Ù"
+
+#: sunrpc/pmap_rmt.c:311
 msgid "Cannot send broadcast packet"
 msgstr "ºê·Îµåij½ºÆ® ÆÐŶÀ» º¸³¾ ¼ö ¾ø½À´Ï´Ù"
 
-#: sunrpc/pmap_rmt.c:260
+#: sunrpc/pmap_rmt.c:259
 msgid "Cannot set socket option SO_BROADCAST"
 msgstr "¼ÒÄÏ ¿É¼Ç SO_BROADCAST¸¦ ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:622
+msgid "Channel number out of range"
+msgstr "¹üÀ§¸¦ ¹þ¾î³­ Ã¤³Î ¹øÈ£"
+
 msgid "Child exited"
 msgstr "ÀÚ½ÄÀÌ Á¾·áµÊ"
 
@@ -371,33 +470,81 @@ msgstr "
 msgid "Client credential too weak"
 msgstr "Ŭ¶óÀ̾ðÆ® ÀÚ°Ý ºÎ¿©°¡ ³Ê¹« ¾àÇÔ"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:722
+msgid "Communication error on send"
+msgstr "Àü¼Û Áß Åë½Å ¿À·ù"
+
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: stdio-common/../sysdeps/gnu/errlist.c:601
 msgid "Computer bought the farm"
 msgstr "ÄÄÇ»ÅÍ°¡ ³óÀåÀ» »ò½À´Ï´Ù"
 
+#: locale/programs/ld-ctype.c:1196
+msgid "Computing table size for character classes might take a while..."
+msgstr "¹®ÀڠŬ·¡½ºÀǠǥ Å©±â °è»êÀº ½Ã°£ÀÌ ¾à°£ °É¸± ¼ö ÀÖ½À´Ï´Ù..."
+
+#: locale/programs/ld-collate.c:327
+msgid "Computing table size for collation information might take a while..."
+msgstr ""
+
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: stdio-common/../sysdeps/gnu/errlist.c:439
 msgid "Connection refused"
 msgstr "¿¬°áÀÌ °ÅºÎµÊ"
 
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: stdio-common/../sysdeps/gnu/errlist.c:389
 msgid "Connection reset by peer"
 msgstr ""
 
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: stdio-common/../sysdeps/gnu/errlist.c:433
 msgid "Connection timed out"
 msgstr "¿¬°á ½Ã°£ ÃÊ°ú"
 
 msgid "Continued"
 msgstr "°è¼ÓµÊ"
 
+#. TRANS No default destination address was set for the socket.  You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: stdio-common/../sysdeps/gnu/errlist.c:417
 msgid "Destination address required"
 msgstr "¸ñÀûÁö ÁÖ¼Ò°¡ ÇÊ¿äÇÔ"
 
-msgid "Device busy"
-msgstr "ÀåÄ¡ µ¿ÀÛÁß"
+#: stdio-common/../sysdeps/gnu/errlist.c:686
+msgid "Device not a stream"
+msgstr "ÀåÄ¡°¡ ½ºÆ®¸²ÀÌ ¾Æ´Ô"
 
+#. TRANS No such device or address.  The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: stdio-common/../sysdeps/gnu/errlist.c:49
 msgid "Device not configured"
 msgstr "ÀåÄ¡°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ½"
 
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:116
+#, fuzzy
+msgid "Device or resource busy"
+msgstr "ÀåÄ¡³ª ÀÚ¿øÀÌ µ¿ÀÛ Áß"
+
+#. TRANS Directory not empty, where an empty directory was expected.  Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: stdio-common/../sysdeps/gnu/errlist.c:468
 msgid "Directory not empty"
 msgstr "µð·ºÅ丮°¡ ºñ¾îÀÖÁö ¾ÊÀ½"
 
+#. TRANS The user's disk quota was exceeded.
+#: stdio-common/../sysdeps/gnu/errlist.c:486
 msgid "Disc quota exceeded"
 msgstr "µð½ºÅ© ÇÒ´ç·®ÀÌ ÃÊ°úµÊ"
 
@@ -410,41 +557,81 @@ msgstr "
 msgid "Error in unknown error system: "
 msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù ½Ã½ºÅÛ¿¡ ¿À·ù: "
 
+#: inet/ruserpass.c:156
+msgid "Error: .netrc file is readable by others."
+msgstr "¿À·ù: .netrc ÆÄÀÏÀ» ´Ù¸¥ »ç¶÷ÀÌ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:662
+msgid "Exchange full"
+msgstr ""
+
+#. TRANS Invalid executable file format.  This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: stdio-common/../sysdeps/gnu/errlist.c:63
 msgid "Exec format error"
 msgstr "Exec Çü½Ä ¿À·ù"
 
+#: locale/programs/localedef.c:207
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr ""
+
 #: sunrpc/clnt_perr.c:290
 msgid "Failed (unspecified error)"
 msgstr "½ÇÆР(ÁöÁ¤µÇÁö ¾ÊÀº ¿À·ù)"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:750
+msgid "File descriptor in bad state"
+msgstr ""
+
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: stdio-common/../sysdeps/gnu/errlist.c:122
 msgid "File exists"
 msgstr "ÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:678
+msgid "File locking deadlock error"
+msgstr ""
+
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: stdio-common/../sysdeps/gnu/errlist.c:452
 msgid "File name too long"
 msgstr "ÆÄÀÏ À̸§ÀÌ ³Ê¹« ±é´Ï´Ù"
 
 msgid "File size limit exceeded"
 msgstr "ÆÄÀÏ Å©±â Á¦ÇÑÀ» ÃÊ°úÇÔ"
 
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: stdio-common/../sysdeps/gnu/errlist.c:190
 msgid "File too large"
 msgstr "ÆÄÀÏÀÌ ³Ê¹« Å®´Ï´Ù"
 
 msgid "Floating point exception"
 msgstr "ºÎµ¿ ¼Ò¼öÁ¡ ¿¹¿Ü"
 
+#. TRANS Function not implemented.  Some functions have commands or options defined
+#. TRANS that might not be supported in all implementations, and this is the kind
+#. TRANS of error you get if you request them and they are not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:561
 msgid "Function not implemented"
 msgstr "ÇÔ¼ö°¡ ±¸ÇöµÇÁö ¾Ê¾ÒÀ½"
 
+#. TRANS This error code has no purpose.
+#: stdio-common/../sysdeps/gnu/errlist.c:606
 msgid "Gratuitous error"
 msgstr "ÀÌÀ¯¾ø´Â ¿À·ù"
 
 msgid "Hangup"
 msgstr "²÷¾îÁü"
 
+#. TRANS The remote host for a requested network connection is down.
+#: stdio-common/../sysdeps/gnu/errlist.c:457
 msgid "Host is down"
 msgstr "È£½ºÆ®°¡ Á×¾ú½À´Ï´Ù"
 
-#: resolv/herror.c:74
+#: resolv/herror.c:75
 msgid "Host name lookup failure"
 msgstr "È£½ºÆ® À̸§ Å½»ö ½ÇÆÐ"
 
@@ -454,30 +641,70 @@ msgstr "
 msgid "IOT trap"
 msgstr "IOT Æ®·¦"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:618
+msgid "Identifier removed"
+msgstr "½Äº°ÀÚ Á¦°ÅµÊ"
+
 msgid "Illegal Instruction"
-msgstr "À߸øµÈ ¸í·É"
+msgstr "À߸øµÈ ¸í·É¾î"
 
+#. TRANS Invalid seek operation (such as on a pipe).
+#: stdio-common/../sysdeps/gnu/errlist.c:201
 msgid "Illegal seek"
 msgstr "À߸øµÈ Å½»ö"
 
+#. TRANS Inappropriate file type or format.  The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: stdio-common/../sysdeps/gnu/errlist.c:544
 msgid "Inappropriate file type or format"
 msgstr "ºÎÀûÀýÇÑ ÆÄÀϠŸÀÔ ¶Ç´Â Çü½Ä"
 
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: stdio-common/../sysdeps/gnu/errlist.c:176
 msgid "Inappropriate ioctl for device"
 msgstr "ÀåÄ¡¿¡ ´ëÇØ ºÎÀûÀýÇÑ ioctl"
 
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal.  Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal.  @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: stdio-common/../sysdeps/gnu/errlist.c:577
 msgid "Inappropriate operation for background process"
 msgstr "¹è°æ ÇÁ·Î¼¼½º·Î ºÎÀûÇÕÇÑ µ¿ÀÛ"
 
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: stdio-common/../sysdeps/gnu/errlist.c:40
 msgid "Input/output error"
 msgstr "ÀÔ·Â/Ãâ·Â ¿À·ù"
 
 msgid "Interrupt"
 msgstr "ÀÎÅÍ·´Æ®"
 
+#. TRANS Interrupted function call; an asynchronous signal occured and prevented
+#. TRANS completion of the call.  When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: stdio-common/../sysdeps/gnu/errlist.c:35
 msgid "Interrupted system call"
 msgstr "ÁߴܵȠ½Ã½ºÅ۠ȣÃâ"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:610
+#, fuzzy
+msgid "Interrupted system call should be restarted"
+msgstr "ÁߴܵȠ½Ã½ºÅ۠ȣÃâ"
+
+#. TRANS Invalid argument.  This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: stdio-common/../sysdeps/gnu/errlist.c:152
 msgid "Invalid argument"
 msgstr "ºÎÀûÀýÇÑ Àμö"
 
@@ -505,9 +732,23 @@ msgstr "
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\}¿¡ ºÎÀûÀýÇÑ ³»¿ë¹°ÀÌ ÀÖÀ½"
 
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:129
 msgid "Invalid cross-device link"
 msgstr "ÀåÄ¡°£ ¿¬°áÀÌ ºÎÀûÀýÇÔ"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:654
+msgid "Invalid exchange"
+msgstr "ºÎÀûÀýÇÑ ±³È¯"
+
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: stdio-common/../sysdeps/gnu/errlist.c:567
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr ""
+
 #: posix/regex.c:953
 msgid "Invalid preceding regular expression"
 msgstr "¾Õ¼± Á¤±Ô½ÄÀÌ ºÎÀûÀýÇÔ"
@@ -520,45 +761,141 @@ msgstr "
 msgid "Invalid regular expression"
 msgstr "ºÎÀûÀýÇÑ Á¤±Ô½Ä"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:670
+msgid "Invalid request code"
+msgstr "ºÎÀûÀýÇÑ ¿äû ÄÚµå"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:658
+msgid "Invalid request descriptor"
+msgstr "À߸øµÈ ¿äû ±â¼úÀÚ"
+
 #: sunrpc/clnt_perr.c:288
 msgid "Invalid server verifier"
 msgstr "ºÎÀûÀýÇÑ ¼­¹ö °ËÁõ±â"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:674
+msgid "Invalid slot"
+msgstr "ºÎÀûÀýÇÑ ½½·Ô"
+
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: stdio-common/../sysdeps/gnu/errlist.c:146
 msgid "Is a directory"
 msgstr "µð·ºÅ丮ÀÔ´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:794
+msgid "Is a named type file"
+msgstr ""
+
 msgid "Killed"
 msgstr "Á×¾úÀ½"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:650
+msgid "Level 2 halted"
+msgstr "µî±Þ 2 ¸Ü¾úÀ½"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:626
+msgid "Level 2 not synchronized"
+msgstr "µî±Þ 2°¡ µ¿±âÈ­µÇÁö ¾ÊÀ½"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:630
+msgid "Level 3 halted"
+msgstr "µî±Þ 3 ¸Ü¾úÀ½"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:634
+msgid "Level 3 reset"
+msgstr "µî±Þ 3 ¸®¼Â"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:710
+msgid "Link has been severed"
+msgstr ""
+
+#: stdio-common/../sysdeps/gnu/errlist.c:638
+msgid "Link number out of range"
+msgstr "¹üÀ§¸¦ ¹þ¾î³­ ¸µÅ© ¹øÈ£"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:702
+msgid "Machine is not on the network"
+msgstr "±â±â°¡ ³×Æ®¿öÅ© »ó¿¡ ÀÖÁö ¾Ê½À´Ï´Ù"
+
 #: posix/regex.c:952
 msgid "Memory exhausted"
 msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
 
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: stdio-common/../sysdeps/gnu/errlist.c:305
 msgid "Message too long"
 msgstr "¸Þ½ÃÁö°¡ ³Ê¹« ±é´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:730
+msgid "Multihop attempted"
+msgstr ""
+
+#: stdio-common/../sysdeps/gnu/errlist.c:746
+msgid "Name not unique on network"
+msgstr "À̸§ÀÌ ³×Æ®¿öÅ© »ó¿¡¼­ ´ÜÀÏÇÏÁö ¾ÊÀ½"
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:554
 msgid "Need authenticator"
 msgstr "ÀÎÁõ±â°¡ ÇÊ¿äÇÔ"
 
+#. TRANS A network connection was reset because the remote host crashed.
+#: stdio-common/../sysdeps/gnu/errlist.c:377
 msgid "Network dropped connection on reset"
 msgstr ""
 
+#. TRANS A socket operation failed because the network was down.
+#: stdio-common/../sysdeps/gnu/errlist.c:366
 msgid "Network is down"
 msgstr "³×Æ®¿öÅ©°¡ Á×¾ú½À´Ï´Ù"
 
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:372
 msgid "Network is unreachable"
 msgstr "³×Æ®¿öÅ©°¡ Á¢±Ù ºÒ°¡´ÉÇÕ´Ï´Ù"
 
-#: resolv/herror.c:76
+#: stdio-common/../sysdeps/gnu/errlist.c:646
+msgid "No CSI structure available"
+msgstr "»ç¿ë °¡´ÉÇÑ CSI ±¸Á¶°¡ ¾øÀ½"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:790
+msgid "No XENIX semaphores available"
+msgstr "»ç¿ë °¡´ÉÇÑ XENIX ¼¼¸¶Æ÷¾î°¡ ¾øÀ½"
+
+#: resolv/herror.c:77
 msgid "No address associated with name"
 msgstr "À̸§°ú ´ëÀÀµÇ´Â ÁÖ¼Ò°¡ ¾øÀ½"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:666
+msgid "No anode"
+msgstr ""
+
+#. TRANS The kernel's buffers for I/O operations are all in use.  In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: stdio-common/../sysdeps/gnu/errlist.c:396
 msgid "No buffer space available"
 msgstr "»ç¿ë °¡´ÉÇÑ ¹öÆÛ °ø°£ÀÌ ¾øÀ½"
 
+#. TRANS There are no child processes.  This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: stdio-common/../sysdeps/gnu/errlist.c:77
 msgid "No child processes"
 msgstr "ÀڽĠÇÁ·Î¼¼½º°¡ ¾øÀ½"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:690
+msgid "No data available"
+msgstr "»ç¿ë °¡´ÉÇÑ ÀÚ·á°¡ ¾øÀ½"
+
+#. TRANS No locks available.  This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}.  This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: stdio-common/../sysdeps/gnu/errlist.c:535
 msgid "No locks available"
 msgstr "»ç¿ë°¡´ÉÇÑ Àá±ÝÀåÄ¡°¡ ¾øÀ½"
 
@@ -566,55 +903,137 @@ msgstr "
 msgid "No match"
 msgstr "¸Â´Â Â¦ ¾øÀ½"
 
-#: posix/regex.c:5200
+#: stdio-common/../sysdeps/gnu/errlist.c:614
+msgid "No message of desired type"
+msgstr "Àû´çÇÑ ÇüÀ» °¡Áø ¸Þ½ÃÁö°¡ ¾øÀ½"
+
+#: posix/regex.c:5202
 msgid "No previous regular expression"
 msgstr "ÀüÀÇ Á¤±Ô½ÄÀÌ ¾øÀ½"
 
 #: sunrpc/rpcinfo.c:515
-#, fuzzy
 msgid "No remote programs registered.\n"
-msgstr "RPC: ÇÁ·Î±×·¥ÀÌ µî·ÏµÇÁö ¾ÊÀ½"
+msgstr "¿ø°Ý ÇÁ·Î±×·¥ÀÌ µî·ÏµÇÁö ¾Ê¾ÒÀ½.\n"
 
+#. TRANS The remote host for a requested network connection is not reachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:462
 msgid "No route to host"
 msgstr ""
 
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:196
 msgid "No space left on device"
 msgstr "µð¹ÙÀ̽º¿¡ ³²Àº °ø°£ÀÌ ¾øÀ½"
 
+#. TRANS No such file or directory.  This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: stdio-common/../sysdeps/gnu/errlist.c:19
 msgid "No such file or directory"
 msgstr "±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½"
 
+#. TRANS No process matches the specified process ID.
+#: stdio-common/../sysdeps/gnu/errlist.c:24
 msgid "No such process"
 msgstr "±×·± ÇÁ·Î¼¼½º°¡ ¾øÀ½"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:786
+msgid "Not a XENIX named type file"
+msgstr ""
+
+#: stdio-common/../sysdeps/gnu/errlist.c:738
+msgid "Not a data message"
+msgstr "ÀÚ·á ¸Þ½ÃÁö°¡ ¾Æ´Ô"
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:140
 msgid "Not a directory"
 msgstr "µð·ºÅ丮°¡ ¾Æ´Õ´Ï´Ù"
 
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: stdio-common/../sysdeps/gnu/errlist.c:228
 msgid "Numerical argument out of domain"
 msgstr "¿µ¿ªÀ» ¹þ¾î³­ ¼öÄ¡ Àμö"
 
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: stdio-common/../sysdeps/gnu/errlist.c:234
 msgid "Numerical result out of range"
 msgstr "¹üÀ§¸¦ ¹þ¾î³­ ¼öÄ¡ °á°ú"
 
-#: time/zic.c:1835
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: stdio-common/../sysdeps/gnu/errlist.c:502
+msgid "Object is remote"
+msgstr ""
+
+#: time/zic.c:1940
 msgid "Odd number of quotation marks"
 msgstr "µû¿ÈÇ¥°¡ È¦¼ö °³ÀÔ´Ï´Ù"
 
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: stdio-common/../sysdeps/gnu/errlist.c:294
 msgid "Operation already in progress"
-msgstr "À̹̠ÁøÇàÁßÀΠ¸í·É"
+msgstr "À̹̠ÁøÇà ÁßÀΠ¸í·É"
 
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: stdio-common/../sysdeps/gnu/errlist.c:12
 msgid "Operation not permitted"
 msgstr "¸í·ÉÀÌ Çã¿ëµÇÁö ¾ÊÀ½"
 
+#. TRANS The operation you requested is not supported.  Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols.  In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: stdio-common/../sysdeps/gnu/errlist.c:338
 msgid "Operation not supported"
 msgstr "¸í·ÉÀÌ Áö¿øµÇÁö ¾ÊÀ½"
 
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: stdio-common/../sysdeps/gnu/errlist.c:135
 msgid "Operation not supported by device"
 msgstr "ÀåÄ¡¿¡¼­ Áö¿øµÇÁö ¾Ê´Â ¸í·É"
 
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected.  Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}.  Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time.  Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}.  You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: stdio-common/../sysdeps/gnu/errlist.c:288
 msgid "Operation now in progress"
 msgstr "Áö±Ý ÁøÇàÁßÀΠ¸í·É"
 
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: stdio-common/../sysdeps/gnu/errlist.c:276
+msgid "Operation would block"
+msgstr ""
+
+#: stdio-common/../sysdeps/gnu/errlist.c:698
+msgid "Out of streams resources"
+msgstr "½ºÆ®¸² ÀÚ¿ø ºÎÁ·"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:706
+msgid "Package not installed"
+msgstr ""
+
+#. TRANS Permission denied; the file permissions do not allow the attempted operation.
+#: stdio-common/../sysdeps/gnu/errlist.c:96
 msgid "Permission denied"
 msgstr "Çã°¡ °ÅºÎµÊ"
 
@@ -628,33 +1047,66 @@ msgstr "
 msgid "Profiling timer expired"
 msgstr "ÇÁ·ÎÆÄÀϸµ Å¸À̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:642
+msgid "Protocol driver not attached"
+msgstr "±Ô¾à ±¸µ¿±â¿¡ ¿¬°áµÇÁö ¾ÊÀ½"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:726
+msgid "Protocol error"
+msgstr "±Ô¾à ¿À·ù"
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:343
 msgid "Protocol family not supported"
 msgstr "±Ô¾à±ºÀÌ Áö¿øµÇÁö ¾ÊÀ½"
 
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket.  @xref{Socket Options}.
+#: stdio-common/../sysdeps/gnu/errlist.c:316
 msgid "Protocol not available"
 msgstr "±Ô¾à »ç¿ë ºÒ°¡´É"
 
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid.)
+#. TRANS @xref{Creating a Socket}.
+#: stdio-common/../sysdeps/gnu/errlist.c:323
 msgid "Protocol not supported"
 msgstr "±Ô¾àÀÌ Áö¿øµÇÁö ¾ÊÀ½"
 
+#. TRANS The socket type does not support the requested communications protocol.
+#: stdio-common/../sysdeps/gnu/errlist.c:310
 msgid "Protocol wrong type for socket"
 msgstr "¼ÒÄÏ¿¡ ´ëÇÑ ±Ô¾àÀÌ À߸øµÊ"
 
 msgid "Quit"
 msgstr "Á¾·á"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:734
+msgid "RFS specific error"
+msgstr "RFS¿¡ ±¹ÇѵȠ¿À·ù)"
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:527
 msgid "RPC bad procedure for program"
 msgstr "RPC ÇÁ·Î±×·¥ÀÇ ÇÁ·Î½ÃÁ®°¡ À߸øµÊ"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:517
 msgid "RPC program not available"
 msgstr "RPC ÇÁ·Î±×·¥ »ç¿ë ºÒ°¡´É"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:522
 msgid "RPC program version wrong"
 msgstr "RPC ÇÁ·Î±×·¥ ¹öÀüÀÌ À߸øµÊ"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:507
 msgid "RPC struct is bad"
 msgstr "RPC ±¸Á¶°¡ À߸øµÇ¾ú½À´Ï´Ù"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:512
 msgid "RPC version wrong"
 msgstr "RPC ¹öÀüÀÌ À߸øµÊ"
 
@@ -734,6 +1186,8 @@ msgstr "RPC: 
 msgid "RPC: Unknown protocol"
 msgstr "RPC: ¾Ë ¼ö ¾ø´Â ±Ô¾à"
 
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: stdio-common/../sysdeps/gnu/errlist.c:206
 msgid "Read-only file system"
 msgstr "ÀбâÀü¿ë ÆÄÀÏ ½Ã½ºÅÛ"
 
@@ -741,71 +1195,64 @@ msgstr "
 msgid "Regular expression too big"
 msgstr "Á¤±Ô½ÄÀÌ ³Ê¹« Å®´Ï´Ù"
 
-msgid "Reserved error 82"
-msgstr "¿¹¾àµÈ ¿À·ù 82"
-
-msgid "Reserved error 83"
-msgstr "¿¹¾àµÈ ¿À·ù 83"
-
-msgid "Reserved error 84"
-msgstr "¿¹¾àµÈ ¿À·ù 84"
-
-msgid "Reserved error 85"
-msgstr "¿¹¾àµÈ ¿À·ù 85"
-
-msgid "Reserved error 86"
-msgstr "¿¹¾àµÈ ¿À·ù 86"
-
-msgid "Reserved error 87"
-msgstr "¿¹¾àµÈ ¿À·ù 87"
-
-msgid "Reserved error 88"
-msgstr "¿¹¾àµÈ ¿À·ù 88"
-
-msgid "Reserved error 89"
-msgstr "¿¹¾àµÈ ¿À·ù 89"
-
-msgid "Reserved error 90"
-msgstr "¿¹¾àµÈ ¿À·ù 90"
+#: stdio-common/../sysdeps/gnu/errlist.c:798
+msgid "Remote I/O error"
+msgstr "¿ø°Ý ÀÔÃâ·Â ¿À·ù"
 
-msgid "Reserved error 91"
-msgstr "¿¹¾àµÈ ¿À·ù 91"
+#: stdio-common/../sysdeps/gnu/errlist.c:754
+msgid "Remote address changed"
+msgstr "¿ø°Ý ÁÖ¼Ò°¡ ¹Ù²î¾úÀ½"
 
-msgid "Reserved error 92"
-msgstr "¿¹¾àµÈ ¿À·ù 92"
-
-msgid "Reserved error 93"
-msgstr "¿¹¾àµÈ ¿À·ù 93"
-
-msgid "Reserved error 94"
-msgstr "¿¹¾àµÈ ¿À·ù 94"
-
-msgid "Reserved error 95"
-msgstr "¿¹¾àµÈ ¿À·ù 95"
-
-msgid "Reserved error 96"
-msgstr "¿¹¾àµÈ ¿À·ù 96"
-
-msgid "Reserved error 97"
-msgstr "¿¹¾àµÈ ¿À·ù 97"
-
-msgid "Reserved error 98"
-msgstr "¿¹¾àµÈ ¿À·ù 98"
-
-msgid "Reserved error 99"
-msgstr "¿¹¾àµÈ ¿À·ù 99"
+#: inet/ruserpass.c:157
+msgid "Remove password or make file unreadable by others."
+msgstr ""
 
-#: resolv/herror.c:72
+#: resolv/herror.c:73
 msgid "Resolver Error 0 (no error)"
-msgstr "¸®Á¹¹ö ¿À·ù 0 (¿À·ù¾Æ´Ô)"
+msgstr "¸®¼Ö¹ö ¿À·ù 0 (¿À·ù¾Æ´Ô)"
 
-#: resolv/herror.c:114
+#: resolv/herror.c:115
 msgid "Resolver internal error"
-msgstr "¸®Á¹¹ö ³»ºÎ ¿À·ù"
+msgstr "¸®¼Ö¹ö ³»ºÎ ¿À·ù"
 
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation.  The system does not guarantee that it will notice
+#. TRANS all such situations.  This error means you got lucky and the system
+#. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
+#: stdio-common/../sysdeps/gnu/errlist.c:85
 msgid "Resource deadlock avoided"
 msgstr ""
 
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected.  Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation).  You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In older Unix many systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}.  To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible.  @code{fork}
+#. TRANS can return this error.  It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: stdio-common/../sysdeps/gnu/errlist.c:267
 msgid "Resource temporarily unavailable"
 msgstr "ÀÚ¿øÀÌ ÀϽÃÀûÀ¸·Î »ç¿ë ºÒ°¡´ÉÇÔ"
 
@@ -820,67 +1267,119 @@ msgstr "
 msgid "Server rejected verifier"
 msgstr "¼­¹ö°¡ °ËÁõ±â¸¦ °ÅºÎÇß½À´Ï´Ù"
 
-msgid "Socket is already connected"
-msgstr "¼ÒÄÏÀÌ À̹̠¿¬°áµÇ¾î ÀÖ½À´Ï´Ù"
-
-msgid "Socket is not connected"
-msgstr "¼ÒÄÏÀÌ ¿¬°áµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
-
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:299
 msgid "Socket operation on non-socket"
 msgstr "ºñ¼ÒÄÏ»óÀÇ ¼ÒÄÏ µ¿ÀÛ"
 
+#. TRANS The socket type is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:328
 msgid "Socket type not supported"
 msgstr "¼ÒÄϠŸÀÔÀÌ Áö¿øµÇÁö ¾Ê½À´Ï´Ù"
 
+#. TRANS A network connection was aborted locally.
+#: stdio-common/../sysdeps/gnu/errlist.c:382
 msgid "Software caused connection abort"
 msgstr "¼ÒÇÁÆ®¿þ¾î°¡ ¿¬°á Áß´ÜÀ» ÃÊ·¡Çß½À´Ï´Ù"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:718
+msgid "Srmount error"
+msgstr ""
+
+#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: stdio-common/../sysdeps/gnu/errlist.c:494
 msgid "Stale NFS file handle"
 msgstr "²÷¾îÁø NFS ÆÄÀÏ ÇÚµé"
 
 msgid "Stopped"
-msgstr "ÁßÁöµÊ"
+msgstr "Á¤ÁöµÊ"
 
 msgid "Stopped (signal)"
-msgstr "ÁßÁöµÊ (½ÅÈ£)"
+msgstr "Á¤ÁöµÊ (½ÅÈ£)"
 
 msgid "Stopped (tty input)"
-msgstr "ÁßÁöµÊ (tty ÀÔ·Â)"
+msgstr "Á¤ÁöµÊ (tty ÀÔ·Â)"
 
 msgid "Stopped (tty output)"
-msgstr "ÁßÁöµÊ (tty Ãâ·Â)"
+msgstr "Á¤ÁöµÊ (tty Ãâ·Â)"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:778
+msgid "Streams pipe error"
+msgstr "½ºÆ®¸² ÆÄÀÌÇÁ ¿À·ù"
 
-#: posix/regex.c:940
+#: stdio-common/../sysdeps/gnu/errlist.c:782
+msgid "Structure needs cleaning"
+msgstr ""
+
+#: posix/regex.c:940 stdio-common/../sysdeps/gnu/errlist.c:7
 msgid "Success"
 msgstr "¼º°ø"
 
 msgid "Terminated"
 msgstr "Á¾·áµÊ"
 
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed.  Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error.  (The name stands for ``text file busy''.)  This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: stdio-common/../sysdeps/gnu/errlist.c:185
 msgid "Text file busy"
 msgstr "¹®¼­ ÆÄÀÏ »ç¿ëÁß"
 
-msgid "Too many levels of remote in path"
-msgstr "¿ø°Ý °æ·ÎÀÇ ´Ü°è°¡ ³Ê¹« ¸¹À½"
+#: stdio-common/../sysdeps/gnu/errlist.c:694
+msgid "Timer expired"
+msgstr "ŸÀ̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
 
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: stdio-common/../sysdeps/gnu/errlist.c:445
 msgid "Too many levels of symbolic links"
 msgstr "±âÈ£ ¿¬°áÀÇ ´Ü°è°¡ ³Ê¹« ¸¹À½"
 
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:213
 msgid "Too many links"
 msgstr "¿¬°áÀÌ ³Ê¹« ¸¹À½"
 
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased.  If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: stdio-common/../sysdeps/gnu/errlist.c:163
 msgid "Too many open files"
 msgstr "¿­¸° ÆÄÀÏÀÌ ³Ê¹« ¸¹À½"
 
+#. TRANS There are too many distinct file openings in the entire system.  Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}.  This error never occurs in the GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:170
 msgid "Too many open files in system"
 msgstr "½Ã½ºÅÛ¿¡ ¿­¸° ÆÄÀÏÀÌ ³Ê¹« ¸¹À½"
 
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}.  @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: stdio-common/../sysdeps/gnu/errlist.c:475
 msgid "Too many processes"
 msgstr "ÇÁ·Î¼¼½º°¡ ³Ê¹« ¸¹À½"
 
-msgid "Too many references: can't splice"
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:427
+msgid "Too many references: cannot splice"
 msgstr ""
 
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: stdio-common/../sysdeps/gnu/errlist.c:481
 msgid "Too many users"
 msgstr "»ç¿ëÀÚ°¡ ³Ê¹« ¸¹À½"
 
@@ -891,10 +1390,29 @@ msgstr "
 msgid "Trailing backslash"
 msgstr "µû¶óºÙ´Â ¿ª½½·¡½¬"
 
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: stdio-common/../sysdeps/gnu/errlist.c:584
 msgid "Translator died"
 msgstr "¹ø¿ª±â°¡ Á×¾úÀ½"
 
-#: catgets/gencat.c:201
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: stdio-common/../sysdeps/gnu/errlist.c:402
+msgid "Transport endpoint is already connected"
+msgstr "Àü¼Û Á¾·áÁöÁ¡ÀÌ À̹̠¿¬°áµÇ¾î ÀÖ½À´Ï´Ù"
+
+#. TRANS The socket is not connected to anything.  You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data.  For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:410
+msgid "Transport endpoint is not connected"
+msgstr "Àü¼Û Á¾·áÁöÁ¡ÀÌ ¿¬°áµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
+
+#: catgets/gencat.c:202 db/makedb.c:197 locale/programs/locale.c:234
+#: locale/programs/localedef.c:383
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n"
@@ -904,19 +1422,25 @@ msgstr "
 msgid "Trying %s...\n"
 msgstr "%s ½ÃµµÁß...\n"
 
-#: ../sysdeps/mach/_strerror.c:58 string/../sysdeps/generic/_strerror.c:36
+#: inet/ruserpass.c:241
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "¾Ë ¼ö ¾ø´Â .netrc Å°¿öµå %s"
+
+#: string/../sysdeps/generic/_strerror.c:36
+#: string/../sysdeps/mach/_strerror.c:58
 msgid "Unknown error "
 msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù"
 
-#: resolv/herror.c:73
+#: resolv/herror.c:74
 msgid "Unknown host"
 msgstr "¾Ë ¼ö ¾ø´Â È£½ºÆ®"
 
-#: resolv/herror.c:117
+#: resolv/herror.c:118
 msgid "Unknown resolver error"
-msgstr "¾Ë ¼ö ¾ø´Â ¸®Á¹¹ö ¿À·ù"
+msgstr "¾Ë ¼ö ¾ø´Â ¸®¼Ö¹ö ¿À·ù"
 
-#: resolv/herror.c:75
+#: resolv/herror.c:76
 msgid "Unknown server error"
 msgstr "¾Ë ¼ö ¾ø´Â ¼­¹ö ¿À·ù"
 
@@ -945,11 +1469,16 @@ msgstr "¦
 msgid "Unmatched \\{"
 msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â \\{"
 
+#: posix/getconf.c:184
+#, fuzzy, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
+
 msgid "Urgent I/O condition"
 msgstr "½Ã±ÞÇÑ ÀÔÃâ·Â »óȲ"
 
-#: catgets/gencat.c:204
-#, c-format
+#: catgets/gencat.c:205
+#, fuzzy, c-format
 msgid ""
 "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n"
 "       %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n"
@@ -961,19 +1490,86 @@ msgid ""
 "  -V, --version       output version information and exit\n"
 "If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
 "is -, output is written to standard output.\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
 msgstr ""
 "»ç¿ë¹ý: %s [¿É¼Ç]... -o Ãâ·Â-ÆÄÀÏ [ÀÔ·Â-ÆÄÀÏ]...\n"
 "       %s [¿É¼Ç]... [Ãâ·Â-ÆÄÀÏ [ÀÔ·Â-ÆÄÀÏ]...]\n"
 "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
 "  -H, --header        ±âÈ£ Á¤ÀǸ¦ Æ÷ÇÔÇϴ C Çì´õ ÆÄÀÏÀ» ¸¸µì´Ï´Ù\n"
 "  -h, --help          ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ¸¶Ä¨´Ï´Ù\n"
-"      --new           Á¸ÀçÇϴ ¸ñ·ÏÀ» »ç¿ëÇÏÁö ¾Ê°í »õ Ãâ·Â ÆÄÀÏÀ» ¾²°Ô ÇÕ´Ï´Ù\n"
+"      --new           Á¸ÀçÇϴ ¸ñ·ÏÀ» »ç¿ëÇÏÁö ¾Ê°í »õ Ãâ·Â ÆÄÀÏÀ» ¾²°Ô "
+"ÇÕ´Ï´Ù\n"
+"  -o, --output=NAME   ÆÄÀÏ NAMEÀ¸·Î Ãâ·ÂÀ» ±â·ÏÇÕ´Ï´Ù\n"
+"  -V, --version       ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"ÀÔ·Â-ÆÄÀÏÀÌ - À̸é Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ÀÔ·ÂÀ» ÀаԠµË´Ï´Ù.  Ãâ·Â-ÆÄÀÏÀÌ\n"
+"- À̸é Ç¥ÁØ Ãâ·Â¿¡ Ãâ·ÂÀÌ ±â·ÏµË´Ï´Ù.\n"
+
+#: db/makedb.c:200
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n"
+"       %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n"
+"       %s [OPTION]... -u INPUT-FILE\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -f, --fold-case     convert key to lower case\n"
+"  -h, --help          display this help and exit\n"
+"  -o, --output=NAME   write output to file NAME\n"
+"      --quiet         don't print messages while building database\n"
+"  -u, --undo          print content of database file, one entry a line\n"
+"  -V, --version       output version information and exit\n"
+"If INPUT-FILE is -, input is read from standard input.\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç]... ÀÔ·Â-ÆÄÀÏ Ãâ·Â-ÆÄÀÏ\n"
+"        %s [¿É¼Ç]... -o Ãâ·Â-ÆÄÀÏ ÀÔ·Â-ÆÄÀÏ\n"
+"        %s [¿É¼Ç]... -u ÀÔ·Â-ÆÄÀÏ\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -H, --header        ±âÈ£ Á¤ÀǸ¦ Æ÷ÇÔÇϴ C Çì´õ ÆÄÀÏÀ» ¸¸µì´Ï´Ù\n"
+"  -h, --help          ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"      --new           Á¸ÀçÇϴ ¸ñ·ÏÀ» »ç¿ëÇÏÁö ¾Ê°í »õ Ãâ·Â ÆÄÀÏÀ» ¾²°Ô "
+"ÇÕ´Ï´Ù\n"
 "  -o, --output=NAME   ÆÄÀÏ NAMEÀ¸·Î Ãâ·ÂÀ» ±â·ÏÇÕ´Ï´Ù\n"
 "  -V, --version       ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ¸¶Ä¨´Ï´Ù\n"
 "ÀÔ·Â-ÆÄÀÏÀÌ - À̸é Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ÀÔ·ÂÀ» ÀаԠµË´Ï´Ù.  Ãâ·Â-ÆÄÀÏÀÌ\n"
 "- À̸é Ç¥ÁØ Ãâ·Â¿¡ Ãâ·ÂÀÌ ±â·ÏµË´Ï´Ù.\n"
 
-#: posix/getconf.c:81
+#: locale/programs/localedef.c:386
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -c, --force               create output even if warning messages were "
+"issued\n"
+"  -h, --help                display this help and exit\n"
+"  -f, --charmap=FILE        symbolic character names defined in FILE\n"
+"  -i, --inputfile=FILE      source definitions are found in FILE\n"
+"  -u, --code-set-name=NAME  specify code set for mapping ISO 10646 elements\n"
+"  -v, --verbose             print more messages\n"
+"  -V, --version             output version information and exit\n"
+"      --posix               be strictly POSIX conform\n"
+"\n"
+"System's directory for character maps: %s\n"
+"                       locale files  : %s\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+
+#: locale/programs/locale.c:237
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -h, --help            display this help and exit\n"
+"  -V, --version         output version information and exit\n"
+"\n"
+"  -a, --all-locales     write names of available locales\n"
+"  -m, --charmaps        write names of available charmaps\n"
+"\n"
+"  -c, --category-name   write names of selected categories\n"
+"  -k, --keyword-name    write names of selected keywords\n"
+"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr ""
+
+#: posix/getconf.c:131
 #, c-format
 msgid "Usage: %s variable_name [pathname]\n"
 msgstr "»ç¿ë¹ý: %s º¯¼ö¸í [°æ·Î¸í]\n"
@@ -988,23 +1584,62 @@ msgstr "
 msgid "User defined signal 2"
 msgstr "»ç¿ëÀÚ ½ÅÈ£ ½ÅÈ£ 2"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:742
+msgid "Value too large for defined data type"
+msgstr ""
+
 msgid "Virtual timer expired"
 msgstr "°¡»ó Å¸À̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
 
-#: time/zic.c:1740
+#: time/zic.c:1845
 msgid "Wild result from command execution"
 msgstr ""
 
 msgid "Window changed"
 msgstr "À©µµ¿ì º¯°æµÊ"
 
+#. TRANS You did @strong{what}?
+#: stdio-common/../sysdeps/gnu/errlist.c:596
 msgid "You really blew it this time"
 msgstr "À̹ø¿£ Á¤¸»·Î ³¯·Á¹ö·È½À´Ï´Ù"
 
-#: time/zic.c:1013
+#: time/zic.c:1051
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr ""
 
+#: locale/programs/charmap.c:397 locale/programs/locfile.c:341
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr ""
+
+#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190
+#, c-format
+msgid "`-1' must be last entry in `%s' field in `%s' category"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1651
+msgid "`...' must only be used in `...' and `UNDEFINED' entries"
+msgstr ""
+
+#: locale/programs/locfile.c:538
+msgid "`from' expected after first argument to `collating-element'"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1108
+msgid ""
+"`from' string in collation element declaration contains unknown character"
+msgstr ""
+
+#: locale/programs/charmap.c:267
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr ""
+
+#: locale/programs/locfile.c:215
+#, c-format
+msgid "argument to `%s' must be a single character"
+msgstr ""
+
 #: sunrpc/rpc_parse.c:326
 msgid "array declaration expected"
 msgstr "¹è¿­ ¼±¾ðÀÌ ÀÖ¾î¾ß ÇÔ"
@@ -1017,19 +1652,23 @@ msgstr ""
 msgid "bad .rhosts owner"
 msgstr "À߸øµÈ .rhosts ¼ÒÀ¯ÀÚ"
 
-#: time/zic.c:1136
+#: locale/programs/charmap.c:212 locale/programs/locfile.c:209
+msgid "bad argument"
+msgstr "Àμö"
+
+#: time/zic.c:1173
 msgid "blank FROM field on Link line"
 msgstr ""
 
-#: time/zic.c:1140
+#: time/zic.c:1177
 msgid "blank TO field on Link line"
 msgstr ""
 
-#: malloc/mcheck.c:174
+#: malloc/mcheck.c:189
 msgid "block freed twice"
 msgstr "ºí·ÏÀÌ µÎ¹ø ºñ¿öÁ³À½"
 
-#: malloc/mcheck.c:177
+#: malloc/mcheck.c:192
 msgid "bogus mcheck_status, library is buggy"
 msgstr "¾ûÅ͸® mcheck_status, ¶óÀ̺귯¸®´Â ¹ö±×°¡ ¹ö±Û¹ö±ÛÇÕ´Ï´Ù"
 
@@ -1045,25 +1684,149 @@ msgstr ""
 msgid "cache_set: victim not found"
 msgstr "cache_set: ¹ö¸±°ÍÀ» Ã£Áö ¸øÇßÀ½"
 
+#: time/zic.c:1686
+msgid "can't determine time zone abbrevation to use just after until time"
+msgstr ""
+
 #: sunrpc/svc_simple.c:64
 #, c-format
 msgid "can't reassign procedure number %d\n"
 msgstr "ÇÁ·Î½ÃÁ® ¹øÈ£ %d¸¦ ÀçÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 
-#: catgets/gencat.c:248
+#: locale/programs/localedef.c:281
+#, fuzzy, c-format
+msgid "cannot `stat' locale file `%s'"
+msgstr "ÀԷ ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: locale/programs/ld-collate.c:1313
+#, c-format
+msgid "cannot insert collation element `%.*s'"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1492 locale/programs/ld-collate.c:1497
+msgid "cannot insert into result table"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1165 locale/programs/ld-collate.c:1207
+#, c-format
+msgid "cannot insert new collating symbol definition: %s"
+msgstr ""
+
+#: db/makedb.c:149
+#, fuzzy, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "ÀԷ ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: catgets/gencat.c:250 db/makedb.c:168
 #, c-format
 msgid "cannot open input file `%s'"
 msgstr "ÀԷ ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
-#: catgets/gencat.c:753 gencat.c:794
+#: locale/programs/localedef.c:215
+#, fuzzy, c-format
+msgid "cannot open locale definition file `%s'"
+msgstr "ÀԷ ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: catgets/gencat.c:755 catgets/gencat.c:796 db/makedb.c:177
 #, c-format
 msgid "cannot open output file `%s'"
 msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
+#: locale/programs/locfile.c:986
+#, fuzzy, c-format
+msgid "cannot open output file `%s' for category `%s'"
+msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: locale/programs/ld-collate.c:1359
+msgid "cannot process order specification"
+msgstr ""
+
+#: locale/programs/locale.c:293
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr ""
+
+#: locale/programs/locale.c:268
+#, fuzzy, c-format
+msgid "cannot read locale directory `%s'"
+msgstr "%s: %s µð·ºÅ丮¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù: %s\n"
+
+#: locale/programs/localedef.c:303
+#, fuzzy, c-format
+msgid "cannot read locale file `%s'"
+msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: locale/programs/localedef.c:328
+#, fuzzy, c-format
+msgid "cannot write output files to `%s'"
+msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: locale/programs/localedef.c:371
+msgid "category data requested more than once: should not happen"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:264
+#, c-format
+msgid "character %s'%s' in class `%s' must be in class `%s'"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:288
+#, c-format
+msgid "character %s'%s' in class `%s' must not be in class `%s'"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:309
+msgid "character <SP> not defined in character map"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:1140
+#, c-format
+msgid "character `%c' not defined while needed as default value"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:938 locale/programs/ld-ctype.c:1001
+#: locale/programs/ld-ctype.c:1009 locale/programs/ld-ctype.c:1017
+#: locale/programs/ld-ctype.c:1025 locale/programs/ld-ctype.c:1033
+#: locale/programs/ld-ctype.c:1041 locale/programs/ld-ctype.c:1067
+#: locale/programs/ld-ctype.c:1075 locale/programs/ld-ctype.c:1113
+#: locale/programs/ld-ctype.c:1151
+#, c-format
+msgid "character `%s' not defined while needed as default value"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:800
+#, c-format
+msgid "character class `%s' already defined"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:832
+#, c-format
+msgid "character map `%s' already defined"
+msgstr ""
+
+#: locale/programs/charmap.c:76
+#, c-format
+msgid "character map file `%s' not found"
+msgstr ""
+
 #: sunrpc/clnt_raw.c:106
 msgid "clnt_raw.c - Fatal header serialization error."
 msgstr ""
 
+#: locale/programs/ld-collate.c:1328
+#, c-format
+msgid "collation element `%.*s' appears more than once: ignore line"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1346
+msgid "collation symbol `.*s' appears more than once: ignore line"
+msgstr ""
+
+#: locale/programs/locfile.c:522
+#, c-format
+msgid "collation symbol expected after `%s'"
+msgstr ""
+
 #: inet/rcmd.c:112
 #, c-format
 msgid "connect to address %s: "
@@ -1077,42 +1840,68 @@ msgstr "
 msgid "couldn't create an rpc server\n"
 msgstr "rpc ¼­¹ö¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n"
 
-#: sunrpc/portmap.c:122
-#, fuzzy
+#: sunrpc/portmap.c:121
 msgid "couldn't do tcp_create\n"
-msgstr "rpc ¼­¹ö¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n"
+msgstr "tcp_create¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 
-#: sunrpc/portmap.c:100
-#, fuzzy
+#: sunrpc/portmap.c:99
 msgid "couldn't do udp_create\n"
-msgstr "rpc ¼­¹ö¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n"
+msgstr "udp_create¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 
 #: sunrpc/svc_simple.c:77
 #, c-format
 msgid "couldn't register prog %d vers %d\n"
 msgstr "ÇÁ·Î±×·¥ %d ¹öÀü %d¸¦ µî·ÏÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 
+#: locale/programs/charmap.c:86
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr ""
+
 #: sunrpc/rpc_parse.c:77
 msgid "definition keyword expected"
 msgstr "Á¤ÀÇ ¸í·É¾î°¡ ÀÖ¾î¾ß ÇÔ"
 
-#: catgets/gencat.c:367
+#: locale/programs/charset.c:87 locale/programs/charset.c:132
+#, c-format
+msgid "duplicate character name `%s'"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1140
+msgid "duplicate collating element definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1286
+#, c-format
+msgid "duplicate definition for character `%.*s'"
+msgstr ""
+
+#: db/makedb.c:295
+msgid "duplicate key"
+msgstr ""
+
+#: catgets/gencat.c:369
 msgid "duplicate set definition"
 msgstr ""
 
-#: time/zic.c:928
+#: time/zic.c:966
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr ""
 
-#: catgets/gencat.c:530
+#: catgets/gencat.c:532
 msgid "duplicated message identifier"
 msgstr "º¹»çµÈ ¸Þ½ÃÁö ½Äº°ÀÚ"
 
-#: catgets/gencat.c:503
+#: catgets/gencat.c:505
 msgid "duplicated message number"
 msgstr "º¹»çµÈ ¸Þ½ÃÁö ¹øÈ£"
 
+#: locale/programs/ld-collate.c:1695
+#, fuzzy
+msgid "empty weight name: line ignored"
+msgstr "À߸øµÈ ÇüŸ¦ °¡Áø ÇàÀº ¹«½ÃµÊ"
+
 #: sunrpc/svc_udp.c:344
 msgid "enablecache: cache already enabled"
 msgstr "enablecache: Ä³½¬°¡ À̹̠Ȱ¼ºÈ­µÇ¾î ÀÖÀ½"
@@ -1129,6 +1918,22 @@ msgstr "enablecache: ij
 msgid "enablecache: could not allocate cache fifo"
 msgstr "enablecache: Ä³½¬ fifo¸¦ ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù"
 
+#: locale/programs/ld-collate.c:1418
+msgid "end point of ellipsis range is bigger then start"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1148
+msgid "error while inserting collation element into hash table"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1160
+msgid "error while inserting to hash table"
+msgstr ""
+
+#: locale/programs/locfile.c:465
+msgid "expect string argument for `copy'"
+msgstr ""
+
 #: sunrpc/rpc_util.c:300
 #, c-format
 msgid "expected '%s'"
@@ -1144,7 +1949,7 @@ msgstr "'%s'
 msgid "expected '%s', '%s' or '%s'"
 msgstr "'%s', '%s' ¶Ç´Â '%s'°¡ ÀÖ¾î¾ß ÇÔ"
 
-#: time/zic.c:819
+#: time/zic.c:857
 msgid "expected continuation line not found"
 msgstr "¿¹»óÇß´ø ¿¬¼Ó ÇàÀ» Ã£Áö ¸øÇßÀ½"
 
@@ -1152,103 +1957,200 @@ msgstr "
 msgid "expected type specifier"
 msgstr "Çü ½Äº°ÀÚ°¡ ÀÖ¾î¾ß ÇÔ"
 
+#: locale/programs/locfile.c:1010
+#, c-format
+msgid "failure while writing data for category `%s'"
+msgstr ""
+
+#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
+#, c-format
+msgid "field `%s' in category `%s' not defined"
+msgstr ""
+
+#: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102
+#, c-format
+msgid "field `%s' in category `%s' undefined"
+msgstr ""
+
+#: locale/programs/locfile.c:547
+msgid "from-value of `collating-element' must be a string"
+msgstr ""
+
+#: locale/programs/linereader.c:328
+msgid "garbage at end of character code specification"
+msgstr ""
+
+#: locale/programs/linereader.c:214
+msgid "garbage at end of digit"
+msgstr ""
+
 #: sunrpc/get_myaddr.c:73
 msgid "get_myaddress: ioctl (get interface configuration)"
 msgstr ""
 
-#: time/zic.c:1113
+#: time/zic.c:1150
 msgid "illegal CORRECTION field on Leap line"
 msgstr ""
 
-#: time/zic.c:1117
+#: time/zic.c:1154
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
+#: locale/programs/ld-collate.c:1766
+#, fuzzy
+msgid "illegal character constant in string"
+msgstr "ÆÄÀÏ¿¡ À߸øµÈ ¹®ÀÚ°¡ ÀÖÀ½: "
+
 #: sunrpc/rpc_scan.c:281
 msgid "illegal character in file: "
 msgstr "ÆÄÀÏ¿¡ À߸øµÈ ¹®ÀÚ°¡ ÀÖÀ½: "
 
+#: locale/programs/ld-collate.c:1115
+#, fuzzy
+msgid "illegal collation element"
+msgstr "ÆÄÀÏ¿¡ À߸øµÈ ¹®ÀÚ°¡ ÀÖÀ½: "
+
+#: locale/programs/charmap.c:196
+msgid "illegal definition"
+msgstr "Á¤ÀÇ°¡ À߸øµÇ¾úÀ½"
+
+#: locale/programs/charmap.c:349
+msgid "illegal encoding given"
+msgstr "À߸øµÈ ºÎȣȭ°¡ ÁÖ¾îÁü"
+
+#: locale/programs/linereader.c:546
+msgid "illegal escape sequence at end of string"
+msgstr "¹®ÀÚ¿­ ³¡¿¡ À߸øµÈ À̽ºÄÉÀÌÇÁ ¿­ÀÌ ÀÖÀ½"
+
+#: locale/programs/charset.c:101
+msgid "illegal names for character range"
+msgstr "¹®ÀÚÀÇ ¹üÀ§·Î À߸øµÈ À̸§"
+
 #: sunrpc/rpc_parse.c:146
 msgid "illegal result type"
-msgstr "À߸øµÈ °á°ú Å¸ÀÔ"
+msgstr "°á°úÀÇ Á¾·ù°¡ À߸øµÇ¾úÀ½"
 
-#: catgets/gencat.c:340 gencat.c:417
-#, fuzzy
+#: catgets/gencat.c:342 catgets/gencat.c:419
 msgid "illegal set number"
-msgstr "À߸øµÈ Å½»ö"
+msgstr "ÁýÇÕ ¹øÈ£°¡ À߸øµÇ¾úÀ½"
+
+#: locale/programs/ld-ctype.c:806
+#, c-format
+msgid "implementation limit: no more than %d character classes allowed"
+msgstr ""
 
-#: time/zic.c:777
+#: locale/programs/ld-ctype.c:838
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr ""
+
+#: db/makedb.c:151
+msgid "incorrectly formatted file"
+msgstr "À߸øµÈ Çü½ÄÀ» °®Ãá ÆÄÀÏ"
+
+#: time/zic.c:815
 msgid "input line of unknown type"
 msgstr "¾Ë ¼ö ¾ø´Â ÇüÅÂÀÇ ÀÔ·ÂÇà"
 
-#: time/zic.c:984
+#: time/zic.c:1734
+msgid "internal error - addtype called with bad isdst"
+msgstr ""
+
+#: time/zic.c:1742
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr ""
+
+#: time/zic.c:1738
+msgid "internal error - addtype called with bad ttisstd"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:300
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "%s, Çà %u¿¡ ³»ºÎ ¿À·ù ¹ß»ý"
+
+#: time/zic.c:1022
 msgid "invalid GMT offset"
-msgstr "ºÎÀûÀýÇÑ GMT ¿É¼Â"
+msgstr "GMT ¿É¼ÂÀÌ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:987
+#: time/zic.c:1025
 msgid "invalid abbreviation format"
-msgstr "ºÎÀûÀýÇÑ ¾à¾î Çü½Ä"
+msgstr "¾à¾î Çü½ÄÀÌ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:1078 zic.c:1277 zic.c:1291
-#, fuzzy
+#: time/zic.c:1115 time/zic.c:1314 time/zic.c:1328
 msgid "invalid day of month"
-msgstr "ºÎÀûÀýÇÑ Àμö"
+msgstr "´ÞÀÇ ³¯Â¥ ¼ö°¡ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:1236
-#, fuzzy
+#: time/zic.c:1273
 msgid "invalid ending year"
-msgstr "ºÎÀûÀýÇÑ ¹üÀ§ ³¡"
+msgstr "³¡³ª´Â ÇØ°¡ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:1050
-#, fuzzy
+#: time/zic.c:1087
 msgid "invalid leaping year"
-msgstr "ºÎÀûÀýÇÑ ¹üÀ§ ³¡"
+msgstr "ºÎÀûÀýÇÑ À±³â"
 
-#: time/zic.c:1065 zic.c:1168
+#: time/zic.c:1102 time/zic.c:1205
 msgid "invalid month name"
-msgstr "ºÎÀûÀýÇÑ ´Þ À̸§"
+msgstr "´Þ À̸§ÀÌ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:883
-#, fuzzy
+#: time/zic.c:921
 msgid "invalid saved time"
-msgstr "ºÎÀûÀýÇÑ ¼­¹ö °ËÁõ±â"
+msgstr "Àý¾à ½Ã°£ÀÌ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:1216
-#, fuzzy
+#: time/zic.c:1253
 msgid "invalid starting year"
-msgstr "ºÎÀûÀýÇÑ ¹üÀ§ ³¡"
+msgstr "½ÃÀÛÇϴ ÇØ°¡ ºÎÀûÀýÇÔ"
 
-#: time/zic.c:1094 zic.c:1196
-#, fuzzy
+#: time/zic.c:1131 time/zic.c:1233
 msgid "invalid time of day"
-msgstr "\\{\\}¿¡ ºÎÀûÀýÇÑ ³»¿ë¹°ÀÌ ÀÖÀ½"
+msgstr ""
 
-#: time/zic.c:1282
+#: time/zic.c:1319
 msgid "invalid weekday name"
-msgstr "ºÎÀûÀýÇÑ ÁÖ À̸§"
+msgstr "ºÎÀûÀýÇÑ ¿äÀÏ À̸§"
 
-#: time/zic.c:757
-#, fuzzy
+#: locale/programs/ld-collate.c:1411
+msgid "line after ellipsis must contain character definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1390
+msgid "line before ellipsis does not contain definition for character constant"
+msgstr ""
+
+#: time/zic.c:795
 msgid "line too long"
-msgstr "ÆÄÀÏ À̸§ÀÌ ³Ê¹« ±é´Ï´Ù"
+msgstr "ÇàÀÌ ³Ê¹« ±é´Ï´Ù"
 
-#: catgets/gencat.c:598
+#: locale/programs/localedef.c:275
+#, c-format
+msgid "locale file `%s', used in `copy' statement, not found"
+msgstr ""
+
+#: catgets/gencat.c:600
 msgid "malformed line ignored"
 msgstr "À߸øµÈ ÇüŸ¦ °¡Áø ÇàÀº ¹«½ÃµÊ"
 
-#: malloc/mcheck.c:168
+#: malloc/mcheck.c:183
 msgid "memory clobbered before allocated block"
 msgstr ""
 
-#: malloc/mcheck.c:171
+#: malloc/mcheck.c:186
 msgid "memory clobbered past end of allocated block"
 msgstr ""
 
-#: malloc/mcheck.c:165
+#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
+#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1438
+#: locale/programs/ld-collate.c:1467 locale/programs/locfile.c:940
+#: locale/programs/xmalloc.c:64 posix/getconf.c:174
+#, fuzzy
+msgid "memory exhausted"
+msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
+
+#: malloc/mcheck.c:180
 msgid "memory is consistent, library is buggy"
 msgstr "¸Þ¸ð¸®´Â °ß°íÇÏÁö¸¸, ¶óÀ̺귯¸®´Â ¹ö±×°¡ ¸¹½À´Ï´Ù"
 
-#: time/zic.c:878
+#: time/zic.c:916
 msgid "nameless rule"
 msgstr "À̸§¾ø´Â ±ÔÄ¢"
 
@@ -1257,40 +2159,81 @@ msgstr "
 msgid "never registered prog %d\n"
 msgstr "°áÄÚ µî·ÏµÇÁö ¾ÊÀº ÇÁ·Î±×·¥ %d\n"
 
-#: rpc_parse.c:313 sunrpc/rpc_parse.c:305
+#: sunrpc/rpc_parse.c:305 sunrpc/rpc_parse.c:313
 msgid "no array-of-pointer declarations -- use typedef"
 msgstr "Æ÷ÀÎÅÍ ¹è¿­ ¼±¾ðÀÌ ¾ø½À´Ï´Ù -- typedefÀ» »ç¿ëÇϼ¼¿ä"
 
-#: time/zic.c:1955
+#: locale/programs/ld-messages.c:95 locale/programs/ld-messages.c:116
+#, c-format
+msgid "no correct regular expression for field `%s' in category `%s': %s"
+msgstr ""
+
+#: time/zic.c:2060
 msgid "no day in month matches rule"
 msgstr "±ÔÄ¢¿¡ ºÎÇյǴ ³¯ÀÌ ´Þ ¾È¿¡ ¾øÀ½"
 
-#: sunrpc/portmap.c:452
+#: locale/programs/ld-collate.c:259
+msgid "no definition of `UNDEFINED'"
+msgstr ""
+
+#: locale/programs/locfile.c:479
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr ""
+
+#: locale/programs/localedef.c:334
+msgid "no output file produced because warning were issued"
+msgstr ""
+
+#: locale/programs/charmap.c:315 locale/programs/charmap.c:466
+#: locale/programs/charmap.c:545
+msgid "no symbolic name given"
+msgstr ""
+
+#: locale/programs/charmap.c:380 locale/programs/charmap.c:512
+#: locale/programs/charmap.c:578
+msgid "no symbolic name given for end of range"
+msgstr ""
+
+#: locale/programs/ld-collate.c:244
+#, c-format
+msgid "no weight defined for symbol `%s'"
+msgstr ""
+
+#: locale/programs/charmap.c:430
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr ""
+
+#: sunrpc/portmap.c:451
 msgid "portmap CALLIT: cannot fork.\n"
 msgstr ""
 
-#: portmap.c:117 sunrpc/portmap.c:95
+#: sunrpc/portmap.c:94 sunrpc/portmap.c:116
 msgid "portmap cannot bind"
 msgstr ""
 
-#: portmap.c:113 sunrpc/portmap.c:87
+#: sunrpc/portmap.c:86 sunrpc/portmap.c:112
 msgid "portmap cannot create socket"
 msgstr "Æ÷Æ®¸ÊÀÌ ¼ÒÄÏÀ» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
 
-#: rpc_scan.c:464 sunrpc/rpc_scan.c:456
+#: sunrpc/rpc_scan.c:456 sunrpc/rpc_scan.c:464
 msgid "preprocessor error"
 msgstr "Àü󸮱⠿À·ù"
 
-#: rpcinfo.c:350 sunrpc/rpcinfo.c:222
-#, fuzzy, c-format
+#: db/makedb.c:311
+#, c-format
+msgid "problems while reading `%s'"
+msgstr ""
+
+#: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350
+#, c-format
 msgid "program %lu is not available\n"
-msgstr "RPC ÇÁ·Î±×·¥ »ç¿ë ºÒ°¡´É"
+msgstr "ÇÁ·Î±×·¥ %lu´Â »ç¿ë ºÒ°¡´ÉÇÕ´Ï´Ù\n"
 
-#: rpcinfo.c:282 rpcinfo.c:371 rpcinfo.c:408 rpcinfo.c:429
-#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:462
+#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:282 sunrpc/rpcinfo.c:371
+#: sunrpc/rpcinfo.c:408 sunrpc/rpcinfo.c:429 sunrpc/rpcinfo.c:462
 #, fuzzy, c-format
 msgid "program %lu version %lu is not available\n"
-msgstr "RPC ÇÁ·Î±×·¥ »ç¿ë ºÒ°¡´É"
+msgstr "ÇÁ·Î±×·¥ %lu ¹öÀü %lu´Â »ç¿ë ºÒ°¡´ÉÇÕ´Ï´Ù\n"
 
 #: sunrpc/rpcinfo.c:466
 #, c-format
@@ -1315,7 +2258,7 @@ msgstr "rcmd: 
 msgid "registerrpc: out of memory\n"
 msgstr "registerrpc: ¸Þ¸ð¸® ºÎÁ·\n"
 
-#: time/zic.c:1690
+#: time/zic.c:1795
 msgid "repeated leap second moment"
 msgstr ""
 
@@ -1330,7 +2273,7 @@ msgid "rpcinfo: %s is unknown service\n"
 msgstr "rpcinfo: %s´Â ¾Ë ¼ö ¾ø´Â ¼­ºñ½ºÀÔ´Ï´Ù\n"
 
 #: sunrpc/rpcinfo.c:600
-#, fuzzy, c-format
+#, c-format
 msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
 msgstr "rpcinfo: ÇÁ·Î±×·¥ %s ¹öÀü %sÀÇ µî·ÏÀ» Áö¿ï ¼ö ¾ø½À´Ï´Ù\n"
 
@@ -1341,16 +2284,20 @@ msgstr "rpcinfo: 
 
 #: sunrpc/rpcinfo.c:505
 msgid "rpcinfo: can't contact portmapper"
-msgstr ""
+msgstr "rpcinfo: Æ÷Æ®¸ÅÆÛ¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #: sunrpc/rpcinfo.c:510
 msgid "rpcinfo: can't contact portmapper: "
-msgstr ""
+msgstr "rpcinfo: Æ÷Æ®¸ÅÆÛ¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù: "
 
-#: sunrpc/portmap.c:138
+#: sunrpc/portmap.c:137
 msgid "run_svc returned unexpectedly\n"
 msgstr ""
 
+#: time/zic.c:709 time/zic.c:711
+msgid "same rule name in multiple files"
+msgstr ""
+
 #: inet/rcmd.c:158
 msgid "select: protocol failure in circuit setup\n"
 msgstr "select: È¸·Î ¼³Á¤Áß ±Ô¾àÀÌ ºÒÀÌÇàµÊ\n"
@@ -1359,19 +2306,28 @@ msgstr "select: ȸ
 msgid "socket: protocol failure in circuit setup.\n"
 msgstr "socket: È¸·Î ¼³Á¤Áß ±Ô¾àÀÌ ºÒÀÌÇàµÊ.\n"
 
-#: time/zic.c:742
+#: locale/programs/locfile.c:600
+msgid "sorting order `forward' and `backward' are mutually exclusive"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1567 locale/programs/ld-collate.c:1613
+msgid ""
+"specification of sorting weight for collation symbol does not make sense"
+msgstr ""
+
+#: time/zic.c:780
 msgid "standard input"
 msgstr "Ç¥ÁØ ÀÔ·Â"
 
-#: time/zdump.c:259
+#: time/zdump.c:260
 msgid "standard output"
 msgstr "Ç¥ÁØ Ãâ·Â"
 
-#: time/zic.c:1240
+#: time/zic.c:1277
 msgid "starting year greater than ending year"
 msgstr "½ÃÀÛÇϴ ÇØ°¡ ³¡³ª´Â Çغ¸´Ù Å®´Ï´Ù"
 
-#: sunrpc/svc_tcp.c:199 svc_tcp.c:204
+#: sunrpc/svc_tcp.c:199 sunrpc/svc_tcp.c:204
 msgid "svc_tcp: makefd_xprt: out of memory\n"
 msgstr "svc_tcp: makefc_xprt: ¸Þ¸ð¸® ºÎÁ·\n"
 
@@ -1383,7 +2339,7 @@ msgstr ""
 msgid "svctcp_.c - udp socket creation problem"
 msgstr "svctcp_.c - udp ¼ÒÄÏ »ý¼º ¹®Á¦"
 
-#: sunrpc/svc_tcp.c:154 svc_tcp.c:161
+#: sunrpc/svc_tcp.c:154 sunrpc/svc_tcp.c:161
 msgid "svctcp_create: out of memory\n"
 msgstr "svctcp_create: ¸Þ¸ð¸® ºÎÁ·\n"
 
@@ -1395,83 +2351,285 @@ msgstr "svcudp_create - getsockname 
 msgid "svcudp_create: socket creation problem"
 msgstr "svcudp_create: ¼ÒÄÏ »ý¼º ¹®Á¦"
 
-#: catgets/gencat.c:369 gencat.c:505 gencat.c:532
+#: locale/programs/ld-collate.c:1190
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates element "
+"definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1063
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates other element "
+"definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1199
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates other symbol "
+"definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1072
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates symbol "
+"definition"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1054 locale/programs/ld-collate.c:1181
+#, c-format
+msgid ""
+"symbol for multicharacter collating element `%.*s' duplicates symbolic name "
+"in charset"
+msgstr ""
+
+#: locale/programs/charmap.c:314 locale/programs/charmap.c:348
+#: locale/programs/charmap.c:378 locale/programs/charmap.c:465
+#: locale/programs/charmap.c:511 locale/programs/charmap.c:544
+#: locale/programs/charmap.c:576
+#, c-format
+msgid "syntax error in %s definition: %s"
+msgstr ""
+
+#: locale/programs/locfile.c:620
+msgid "syntax error in `order_start' directive"
+msgstr "`order_start' Áö½ÃÀÚ¿¡ ¹®¹ý ¿À·ù ÀÖÀ½"
+
+#: locale/programs/locfile.c:362
+msgid "syntax error in character class definition"
+msgstr "¹®ÀڠŬ·¡½º Á¤ÀÇ¿¡ ¹®¹ý ¿À·ù ÀÖÀ½"
+
+#: locale/programs/locfile.c:420
+msgid "syntax error in character conversion definition"
+msgstr "¹®ÀÚ º¯È¯ Á¤ÀÇ¿¡ ¹®¹ý ¿À·ù ÀÖÀ½"
+
+#: locale/programs/locfile.c:662
+msgid "syntax error in collating order definition"
+msgstr ""
+
+#: locale/programs/locfile.c:512
+msgid "syntax error in collation definition"
+msgstr ""
+
+#: locale/programs/locfile.c:335
+msgid "syntax error in definition of LC_CTYPE category"
+msgstr ""
+
+#: locale/programs/locfile.c:278
+msgid "syntax error in definition of new character class"
+msgstr ""
+
+#: locale/programs/locfile.c:288
+msgid "syntax error in definition of new character map"
+msgstr ""
+
+#: locale/programs/locfile.c:873
+msgid "syntax error in message locale definition"
+msgstr ""
+
+#: locale/programs/locfile.c:784
+msgid "syntax error in monetary locale definition"
+msgstr ""
+
+#: locale/programs/locfile.c:811
+msgid "syntax error in numeric locale definition"
+msgstr ""
+
+#: locale/programs/locfile.c:722
+msgid "syntax error in order specification"
+msgstr ""
+
+#: locale/programs/charmap.c:195 locale/programs/charmap.c:211
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr ""
+
+#: locale/programs/locfile.c:849
+msgid "syntax error in time locale definition"
+msgstr ""
+
+#: locale/programs/locfile.c:255
+msgid "syntax error: not inside a locale definition section"
+msgstr ""
+
+#: catgets/gencat.c:371 catgets/gencat.c:507 catgets/gencat.c:534
 msgid "this is the first definition"
 msgstr "ÀÌ°ÍÀº Ã¹¹ø° Á¤ÀÇÀÔ´Ï´Ù"
 
-#: time/zic.c:1083
+#: time/zic.c:1120
 msgid "time before zero"
 msgstr ""
 
-#: time/zic.c:1091 zic.c:1855 zic.c:1874
+#: time/zic.c:1128 time/zic.c:1960 time/zic.c:1979
 msgid "time overflow"
 msgstr "½Ã°£ Èê·¯³Ñħ"
 
+#: locale/programs/charset.c:44
+msgid "too few bytes in character encoding"
+msgstr ""
+
+#: locale/programs/charset.c:46
+msgid "too many bytes in character encoding"
+msgstr ""
+
+#: locale/programs/locales.h:72
+#, fuzzy
+msgid "too many character classes defined"
+msgstr "ºÎÀûÀýÇÑ ¹®ÀڠŬ·¡½º À̸§"
+
 #: sunrpc/rpc_util.c:285
 msgid "too many files!\n"
 msgstr "ÆÄÀÏÀÌ ³Ê¹« ¸¹½À´Ï´Ù!\n"
 
-#: time/zic.c:1684
-#, fuzzy
+#: time/zic.c:1789
 msgid "too many leap seconds"
-msgstr ""
+msgstr "À±ÃÊ°¡ ³Ê¹« ¸¹½À´Ï´Ù"
 
-#: time/zic.c:1656
-#, fuzzy
+#: time/zic.c:1761
 msgid "too many local time types"
-msgstr "ÇÁ·Î¼¼½º°¡ ³Ê¹« ¸¹À½"
+msgstr "Áö¿ª½ÃÀÇ Á¾·ù°¡ ³Ê¹« ¸¹À½"
 
-#: time/zic.c:1622
-#, fuzzy
+#: time/zic.c:1715
 msgid "too many transitions?!"
-msgstr "ÆÄÀÏÀÌ ³Ê¹« ¸¹½À´Ï´Ù?!"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1622
+msgid "too many weights"
+msgstr ""
 
-#: time/zic.c:1978
+#: time/zic.c:2083
 msgid "too many, or too long, time zone abbreviations"
 msgstr ""
 
+#: locale/programs/linereader.h:146
+msgid "trailing garbage at end of line"
+msgstr ""
+
 #: sunrpc/svc_simple.c:132
 #, c-format
 msgid "trouble replying to prog %d\n"
 msgstr "ÇÁ·Î±×·¥ %d¿¡ ÀÀ´äÇϴ µ¥ ¹®Á¦°¡ ÀÖÀ½\n"
 
-#: time/zic.c:1247
+#: locale/programs/ld-collate.c:1382
+msgid "two lines in a row containing `...' are not allowed"
+msgstr ""
+
+#: time/zic.c:1284
 msgid "typed single year"
 msgstr ""
 
-#: catgets/gencat.c:466
+#: locale/programs/charmap.c:617 locale/programs/charmap.c:628
+#, c-format
+msgid "unknown character `%s'"
+msgstr "¾Ë ¼ö ¾ø´Â ¹®ÀÚ `%s'"
+
+#: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204
+#: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226
+#, c-format
+msgid "unknown character in field `%s' of category `%s'"
+msgstr ""
+
+#: locale/programs/locfile.c:585
+msgid "unknown collation directive"
+msgstr ""
+
+#: catgets/gencat.c:468
 #, c-format
 msgid "unknown directive `%s': line ignored"
 msgstr "¾Ë ¼ö ¾ø´Â Áö½ÃÀÚ `%s': Çà ¹«½ÃµÊ"
 
-#: catgets/gencat.c:445
-#, fuzzy, c-format
+#: catgets/gencat.c:447
+#, c-format
 msgid "unknown set `%s'"
 msgstr "¾Ë ¼ö ¾ø´Â ¼³Á¤ `%s'"
 
 msgid "unknown signal"
 msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£"
 
-#: time/zic.c:714
+#: locale/programs/ld-collate.c:1366 locale/programs/ld-collate.c:1557
+#: locale/programs/ld-collate.c:1731
+#, c-format
+msgid "unknown symbol `%.*s': line ignored"
+msgstr "¾Ë ¼ö ¾ø´Â ±âÈ£ `%.*s': Çà ¹«½ÃµÊ"
+
+#: time/zic.c:752
 msgid "unruly zone"
 msgstr ""
 
-#: catgets/gencat.c:950
-#, fuzzy
+#: catgets/gencat.c:952
 msgid "unterminated message"
-msgstr "Á¾·áµÇÁö ¾ÊÀº ¹®ÀÚ¿­ »ó¼ö"
+msgstr "Á¾·áµÇÁö ¾ÊÀº ¸Þ½ÃÁö"
+
+#: locale/programs/linereader.c:515 locale/programs/linereader.c:550
+msgid "unterminated string"
+msgstr "Á¾·áµÇÁö ¾ÊÀº ¹®ÀÚ¿­"
 
 #: sunrpc/rpc_scan.c:319
 msgid "unterminated string constant"
 msgstr "Á¾·áµÇÁö ¾ÊÀº ¹®ÀÚ¿­ »ó¼ö"
 
+#: locale/programs/linereader.c:385
+msgid "unterminated symbolic name"
+msgstr "Á¾·áµÇÁö ¾ÊÀº ±âÈ£ À̸§"
+
+#: locale/programs/ld-collate.c:1684
+msgid "unterminated weight name"
+msgstr ""
+
+#: locale/programs/charset.c:119
+msgid "upper limit in range is not smaller then lower limit"
+msgstr ""
+
 #: sunrpc/rpc_main.c:78
 #, c-format
 msgid "usage: %s infile\n"
 msgstr "»ç¿ë¹ý: %s ÀÔ·ÂÆÄÀÏ\n"
 
-#: time/zic.c:1921
+#: time/zic.c:2026
 msgid "use of 2/29 in non leap-year"
+msgstr "Æò³â¿¡ 2¿ù 29ÀÏÀ» »ç¿ëÇÔ"
+
+#: locale/programs/charmap.c:438 locale/programs/charmap.c:492
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "%s¿¡ ´ëÇÑ °ªÀº Á¤¼ö¿©¾ß ÇÕ´Ï´Ù"
+
+#: locale/programs/charmap.c:233
+#, c-format
+msgid "value for <%s> must lie between 1 and 4"
+msgstr "<%s>¿¡ ´ëÇÑ °ªÀº 1°ú 4 »çÀÌ¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù"
+
+#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89
+#, c-format
+msgid "value for field `%s' in category `%s' must not be the empty string"
+msgstr ""
+
+#: locale/programs/charmap.c:245
+msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
+msgstr "<mb_cur_max>ÀÇ °ªÀº <mb_cur_min>ÀÇ °ªº¸´Ù Ä¿¾ß ÇÕ´Ï´Ù"
+
+#: locale/programs/ld-monetary.c:138
+msgid ""
+"value of field `int_curr_symbol' in category `LC_MONETARY' does not "
+"correspond to a valid name in ISO 4217"
+msgstr ""
+
+#: locale/programs/ld-monetary.c:133
+msgid ""
+"value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
+msgstr ""
+
+#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199
+#, c-format
+msgid "values for field `%s' in category `%s' must be smaller than 127"
+msgstr ""
+
+#: locale/programs/ld-monetary.c:366
+#, c-format
+msgid "values for field `%s' in category `%s' must not be zero"
 msgstr ""
 
 #: sunrpc/rpc_parse.c:330
@@ -1484,28 +2642,41 @@ msgstr "void
 
 #: login/setutent_r.c:47
 msgid "while opening UTMP file"
-msgstr ""
+msgstr "UTMP ÆÄÀÏÀ» ¿©´Â µ¿¾È"
 
-#: catgets/gencat.c:977
+#: catgets/gencat.c:979
 msgid "while opening old catalog file"
 msgstr "¿À·¡µÈ ¸ñ·Ï ÆÄÀÏÀ» ¿©´Â µ¿¾È"
 
-#: time/zic.c:1041
+#: db/makedb.c:338
+msgid "while reading database"
+msgstr "µ¥ÀÌÅͺ£À̽º¸¦ Àд µ¿¾È"
+
+#: db/makedb.c:300
+msgid "while writing data base file"
+msgstr "µ¥ÀÌÅÍ º£À̽º ÆÄÀÏÀ» ¾²´Â µ¿¾È"
+
+#: db/makedb.c:130
+msgid "wrong number of arguments"
+msgstr "ÀμöÀÇ °³¼ö°¡ À߸øµÇ¾úÀ½"
+
+#: time/zic.c:1078
 msgid "wrong number of fields on Leap line"
 msgstr ""
 
-#: time/zic.c:1132
+#: time/zic.c:1169
 msgid "wrong number of fields on Link line"
 msgstr ""
 
-#: time/zic.c:874
+#: time/zic.c:912
 msgid "wrong number of fields on Rule line"
 msgstr ""
 
-#: time/zic.c:944
+#: time/zic.c:982
 msgid "wrong number of fields on Zone continuation line"
 msgstr ""
 
-#: time/zic.c:902
+#: time/zic.c:940
 msgid "wrong number of fields on Zone line"
 msgstr ""
+
index 4f2d068271fe5dd090a14f4a7e841622235eb37b..7bd7e7181ccf0a3e670b15e2105c956941cf4e30 100644 (file)
@@ -545,7 +545,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
       const struct option *pfound = NULL;
       int exact = 0;
       int ambig = 0;
-      int indfound;
+      int indfound = -1;
       int option_index;
 
       for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
@@ -556,7 +556,8 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
       for (p = longopts, option_index = 0; p->name; p++, option_index++)
        if (!strncmp (p->name, nextchar, nameend - nextchar))
          {
-           if (nameend - nextchar == strlen (p->name))
+           if ((unsigned int) (nameend - nextchar)
+               == (unsigned int) strlen (p->name))
              {
                /* Exact match found.  */
                pfound = p;
index fdfd102cdb17a1da76523c86d6f29c54e900c8bb..c277234684d5c13af186421f6a84da5726f4519b 100644 (file)
@@ -1073,7 +1073,7 @@ typedef struct
    REGEX_REALLOCATE_STACK requires `destination' be declared.   */
 
 #define DOUBLE_FAIL_STACK(fail_stack)                                  \
-  ((fail_stack).size > re_max_failures * MAX_FAILURE_ITEMS             \
+  ((fail_stack).size > (unsigned) (re_max_failures * MAX_FAILURE_ITEMS)        \
    ? 0                                                                 \
    : ((fail_stack).stack = (fail_stack_elt_t *)                                \
         REGEX_REALLOCATE_STACK ((fail_stack).stack,                    \
@@ -1430,7 +1430,7 @@ static reg_errcode_t compile_range ();
 
 /* Make sure we have at least N more bytes of space in buffer.  */
 #define GET_BUFFER_SPACE(n)                                            \
-    while (b - bufp->buffer + (n) > bufp->allocated)                   \
+    while ((unsigned long) (b - bufp->buffer + (n)) > bufp->allocated) \
       EXTEND_BUFFER ()
 
 /* Make sure we have one more byte of buffer space and then add C to it.  */
@@ -2859,7 +2859,7 @@ compile_range (p_ptr, pend, translate, syntax, b)
   unsigned this_char;
 
   const char *p = *p_ptr;
-  int range_start, range_end;
+  unsigned int range_start, range_end;
 
   if (p == pend)
     return REG_ERANGE;
@@ -3718,7 +3718,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
   /* Initialize subexpression text positions to -1 to mark ones that no
      start_memory/stop_memory has been seen for. Also initialize the
      register information struct.  */
-  for (mcnt = 1; mcnt < num_regs; mcnt++)
+  for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
     {
       regstart[mcnt] = regend[mcnt]
         = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
@@ -3818,7 +3818,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
 
                       DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
 
-                      for (mcnt = 1; mcnt < num_regs; mcnt++)
+                      for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
                         {
                           best_regstart[mcnt] = regstart[mcnt];
                           best_regend[mcnt] = regend[mcnt];
@@ -3844,7 +3844,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
                   dend = ((d >= string1 && d <= end1)
                           ? end_match_1 : end_match_2);
 
-                 for (mcnt = 1; mcnt < num_regs; mcnt++)
+                 for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
                    {
                      regstart[mcnt] = best_regstart[mcnt];
                      regend[mcnt] = best_regend[mcnt];
@@ -3909,7 +3909,8 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
 
               /* Go through the first `min (num_regs, regs->num_regs)'
                  registers, since that is all we initialized.  */
-             for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+             for (mcnt = 1; (unsigned) mcnt < MIN (num_regs, regs->num_regs);
+                  mcnt++)
                {
                   if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
                     regs->start[mcnt] = regs->end[mcnt] = -1;
@@ -3927,7 +3928,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
                  we (re)allocated the registers, this is the case,
                  because we always allocate enough to have at least one
                  -1 at the end.  */
-              for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
+              for (mcnt = num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)
                 regs->start[mcnt] = regs->end[mcnt] = -1;
            } /* regs && !bufp->no_sub */
 
@@ -4199,7 +4200,8 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
                       EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
 
                      /* Restore this and inner groups' (if any) registers.  */
-                      for (r = *p; r < *p + *(p + 1); r++)
+                      for (r = *p; r < (unsigned) *p + (unsigned) *(p + 1);
+                          r++)
                         {
                           regstart[r] = old_regstart[r];
 
index 648dbd39612d5ad0cddce678db5d7a4773f94ec5..3b3aa9730f76251d88519237d309cd17fdfe8efc 100644 (file)
@@ -2,9 +2,7 @@
 #include "fnmatch.h"
 
 int
-main (c, v)
-     int c;
-     char **v;
+main (int c, char *v[])
 {
   printf ("%d\n", fnmatch (v[1], v[2], FNM_PERIOD));
   printf ("%d\n", fnmatch (v[1], v[2], FNM_CASEFOLD|FNM_PERIOD));
index d592ab8ad8dd1e5a6bcd4ed6c2e4cefe1567360e..b6d82016286f2a531ad23ab150f23947889fb2d7 100644 (file)
@@ -47,3 +47,6 @@ alpha-*-linux*                libc=6
 
 # We use libdb.so.2 for the interface in version 1.85 of the Berkeley DB code.
 *-*-*                  libdb=2
+
+# This file defines the shared library version numbers we will install.
+*-*-*                  libcrypt=1
index ec648f556669c5055bbe80c14fa97e867e882f26..fc60c66be99d62e25c85a7cfa5fe49bb150e4f3a 100644 (file)
@@ -1,10 +1,19 @@
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 
 typedef struct _Buffer {
   char *buff;
   int  room, used;
 } Buffer;
 
+#if __STDC__ - 0
+void InitBuffer (Buffer *b);
+void AppendToBuffer (register Buffer *b, const char *str, register int len);
+void ReadFile (register Buffer *buffer, FILE *input);
+#endif
+
 #define INIT_BUFFER_SIZE 10000
 
 void InitBuffer(b)
@@ -17,7 +26,7 @@ void InitBuffer(b)
 
 void AppendToBuffer(b, str, len)
      register Buffer *b;
-     char *str;
+     const char *str;
      register int len;
 {
   while (b->used + len > b->room) {
@@ -42,20 +51,21 @@ void ReadFile(buffer, input)
   AppendToBuffer(buffer, "", 1);
 }
 
-main() 
+int
+main(int argc, char *argv[])
 {
   char * filename = "xbug.c";
   FILE *input;
   Buffer buffer;
-  
+
   InitBuffer(&buffer);
-    
+
   if (!freopen (filename, "r", stdin))
     fprintf(stderr, "cannot open file\n");
-  
+
   if (!(input = popen("/bin/cat", "r")))
     fprintf(stderr, "cannot run \n");
-  
+
   ReadFile(&buffer, input);
   pclose(input);
 
index 6aaedea6fbdd53fcbf7a203aac5f6c9234eb6180..45babb6c1c238f8a99adb6286a5d059e6cf1a6e5 100644 (file)
@@ -21,17 +21,21 @@ sysdep_routines += _mcount
 endif
 
 ifeq ($(subdir),setjmp)
-sysdep_routines := $(sysdep_routines) setjmp_aux
+sysdep_routines += setjmp_aux
 endif
 
 ifeq ($(subdir),gnulib)
-routines = $(divrem)
-endif  # gnulib
+sysdep_routines += $(divrem)
+endif
+
+ifeq ($(subdir),string)
+sysdep_routines += stxcpy stxncpy
+endif
 
 ifeq ($(subdir),elf)
-# The ld.so code cannot use literals until it self-relocates.
+# The ld.so startup code cannot use literals until it self-relocates.
  ifeq ($(elf),yes)
-CFLAGS-rtld.c = -mbuild-constants
+  CFLAGS-rtld.c = -mbuild-constants
  endif
 # The rest of ld.so shouldn't use FP regs for block moves so
 # that the lazy link trampoline doesn't have to save them.
diff --git a/sysdeps/alpha/bzero.S b/sysdeps/alpha/bzero.S
new file mode 100644 (file)
index 0000000..fffa53d
--- /dev/null
@@ -0,0 +1,113 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Fill a block of memory with zeros.  Optimized for the Alpha architecture:
+
+   - memory accessed as aligned quadwords only
+   - destination memory not read unless needed for good cache behaviour
+   - basic blocks arranged to optimize branch prediction for full-quadword
+     aligned memory blocks.
+   - partial head and tail quadwords constructed with byte-mask instructions
+
+   This is generally scheduled for the EV5 (got to look out for my own
+   interests :-), but with EV4 needs in mind.  There *should* be no more
+   stalls for the EV4 than there are for the EV5.
+*/
+
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
+   doesn't like putting the entry point for a procedure somewhere in the
+   middle of the procedure descriptor.  Work around this by putting the main
+   loop in its own procedure descriptor.  */
+
+       /* On entry to this basic block:
+          t3 == loop counter
+          t4 == bytes in partial final word
+          a0 == possibly misaligned destination pointer  */
+
+       .ent bzero_loop
+       .align 3
+bzero_loop:
+       .frame sp, 0, ra, 0
+       .prologue 0
+
+       beq     t3, $tail       #
+       blbc    t3, 0f          # skip single store if count even
+
+       stq_u   zero, 0(a0)     # e0    : store one word
+       subq    t3, 1, t3       # .. e1 :
+       addq    a0, 8, a0       # e0    :
+       beq     t3, $tail       # .. e1 :
+
+0:     stq_u   zero, 0(a0)     # e0    : store two words
+       subq    t3, 2, t3       # .. e1 :
+       stq_u   zero, 8(a0)     # e0    :
+       addq    a0, 16, a0      # .. e1 :
+       bne     t3, 0b          # e1    :
+
+$tail: bne     t4, 1f          # is there a tail to do?
+       ret                     # no
+
+1:     ldq_u   t0, 0(a0)       # yes, load original data
+       mskqh   t0, t4, t0      #
+       stq_u   t0, 0(a0)       #
+       ret                     #
+
+       .end bzero_loop
+
+ENTRY(bzero)
+       .prologue 0
+
+       mov     a0, v0          # e0    : move return value in place
+       beq     a1, $done       # .. e1 : early exit for zero-length store
+       and     a0, 7, t1       # e0    :
+       addq    a1, t1, a1      # e1    : add dest misalignment to count
+       srl     a1, 3, t3       # e0    : loop = count >> 3
+       and     a1, 7, t4       # .. e1 : find number of bytes in tail
+       unop                    #       :
+       beq     t1, bzero_loop  # e1    : aligned head, jump right in
+
+       ldq_u   t0, 0(a0)       # e0    : load original data to mask into
+       cmpult  a1, 8, t2       # .. e1 : is this a sub-word set?
+       bne     t2, $oneq       # e1    :
+
+       mskql   t0, a0, t0      # e0    : we span words.  finish this partial
+       subq    t3, 1, t3       # e0    :
+       addq    a0, 8, a0       # .. e1 :
+       stq_u   t0, -8(a0)      # e0    :
+       br      bzero_loop      # .. e1 :
+
+       .align 3
+$oneq:
+       mskql   t0, a0, t2      # e0    :
+       mskqh   t0, a1, t3      # e0    :
+       or      t2, t3, t0      # e1    :
+       stq_u   t0, 0(a0)       # e0    :
+
+$done: ret
+
+       END(bzero)
diff --git a/sysdeps/alpha/memset.S b/sysdeps/alpha/memset.S
new file mode 100644 (file)
index 0000000..55271f0
--- /dev/null
@@ -0,0 +1,130 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Fill a block of memory with a character.  Optimized for the Alpha
+   architecture:
+
+   - memory accessed as aligned quadwords only
+   - destination memory not read unless needed for good cache behaviour
+   - basic blocks arranged to optimize branch prediction for full-quadword
+     aligned memory blocks.
+   - partial head and tail quadwords constructed with byte-mask instructions
+
+   This is generally scheduled for the EV5 (got to look out for my own
+   interests :-), but with EV4 needs in mind.  There *should* be no more
+   stalls for the EV4 than there are for the EV5.
+*/
+
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
+   doesn't like putting the entry point for a procedure somewhere in the
+   middle of the procedure descriptor.  Work around this by putting the main
+   loop in its own procedure descriptor.  */
+
+       /* On entry to this basic block:
+          t3 == loop counter
+          t4 == bytes in partial final word
+          a0 == possibly misaligned destination pointer
+          a1 == replicated source character  */
+
+       .ent memset_loop
+       .align 3
+memset_loop:
+       .frame sp, 0, ra, 0
+       .prologue 0
+
+       beq     t3, $tail
+       blbc    t3, 0f          # skip single store if count even
+
+       stq_u   a1, 0(a0)       # e0    : store one word
+       subq    t3, 1, t3       # .. e1 :
+       addq    a0, 8, a0       # e0    :
+       beq     t3, $tail       # .. e1 :
+
+0:     stq_u   a1, 0(a0)       # e0    : store two words
+       subq    t3, 2, t3       # .. e1 :
+       stq_u   a1, 8(a0)       # e0    :
+       addq    a0, 16, a0      # .. e1 :
+       bne     t3, 0b          # e1    :
+
+$tail: bne     t4, 1f          # is there a tail to do?
+       ret                     # no
+
+       .align 3
+1:     ldq_u   t0, 0(a0)       # e1    : yes, load original data
+       mskql   a1, t4, t1      # .. e0 :
+       mskqh   t0, t4, t0      # e0    :
+       or      t0, t1, t0      # e1 (stall)
+       stq_u   t0, 0(a0)       # e0    :
+       ret                     # .. e1 :
+
+       .end memset_loop
+
+ENTRY(memset)
+       .prologue 0
+
+       zapnot  a1, 1, a1       # e0    : zero extend input character
+       mov     a0, v0          # .. e1 : move return value in place
+       sll     a1, 8, t0       # e0    : begin replicating the char
+       beq     a2, $done       # .. e1 : early exit for zero-length store
+       or      t0, a1, a1      # e0    :
+       and     a0, 7, t1       # .. e1 : dest misalignment
+       sll     a1, 16, t0      # e0    :
+       addq    a2, t1, a2      # .. e1 : add dest misalignment to count
+       or      t0, a1, a1      # e0    :
+       srl     a2, 3, t3       # .. e1 : loop = count >> 3
+       sll     a1, 32, t0      # e0    :
+       and     a2, 7, t4       # .. e1 : find number of bytes in tail
+       or      t0, a1, a1      # e0    : character replication done
+
+       beq     t1, memset_loop # .. e1 : aligned head, jump right in
+
+       ldq_u   t0, 0(a0)       # e1    : load original data to mask into
+       mskqh   a1, a0, t1      # .. e0 :
+
+       cmpult  a2, 8, t2       # e0    : is this a sub-word set?
+       bne     t2, $oneq       # .. e1 (zdb)
+
+       mskql   t0, a0, t0      # e0    : we span words.  finish this partial
+       subq    t3, 1, t3       # .. e1 :
+       addq    a0, 8, a0       # e0    :
+       or      t0, t1, t0      # .. e1 :
+       stq_u   t0, -8(a0)      # e0    :
+       br      memset_loop     # .. e1 :
+
+       .align 3
+$oneq:
+       mskql   t1, a2, t1      # e0    : entire operation within one word
+       mskql   t0, a0, t2      # e0    :
+       mskqh   t0, a2, t3      # e0    :
+       or      t1, t2, t0      # .. e1 :
+       or      t0, t3, t0      # e1    :
+       stq_u   t0, 0(a0)       # e0 (stall)
+
+$done: ret
+
+       END(memset)
diff --git a/sysdeps/alpha/stpcpy.S b/sysdeps/alpha/stpcpy.S
new file mode 100644 (file)
index 0000000..0dc44d3
--- /dev/null
@@ -0,0 +1,49 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy a null-terminated string from SRC to DST.  Return a pointer
+   to the null-terminator in the source.  */
+
+#include <sysdep.h>
+
+       .text
+
+ENTRY(__stpcpy)
+       ldgp    gp, 0(pv)
+       .prologue 1
+
+       jsr     t9, __stxcpy    # do the work of the copy
+
+       and     t8, 0xf0, t2    # binary search for byte offset of the
+       and     t8, 0xcc, t1    # last byte written.
+       and     t8, 0xaa, t0
+       andnot  a0, 7, a0
+       cmovne  t2, 4, t2
+       cmovne  t1, 2, t1
+       cmovne  t0, 1, t0
+       addq    a0, t2, v0
+       addq    t0, t1, t0
+       addq    v0, t0, v0
+
+       ret
+
+       END(__stpcpy)
+
+weak_alias (__stpcpy, stpcpy)
diff --git a/sysdeps/alpha/stpncpy.S b/sysdeps/alpha/stpncpy.S
new file mode 100644 (file)
index 0000000..50cda26
--- /dev/null
@@ -0,0 +1,103 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy no more than COUNT bytes of the null-terminated string from 
+   SRC to DST.  If SRC does not cover all of COUNT, the balance is
+   zeroed.  Return the address of the terminating null in DEST, if
+   any, else DEST + COUNT.  */
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+ENTRY(__stpncpy)
+       ldgp    gp, 0(pv)
+       .prologue 1
+       
+       beq     a2, $zerocount
+       jsr     t9, __stxncpy   # do the work of the copy
+
+       and     t8, 0xf0, t3    # binary search for byte offset of the
+       and     t8, 0xcc, t2    # last byte written.
+       and     t8, 0xaa, t1
+       andnot  a0, 7, v0
+       cmovne  t3, 4, t3
+       cmovne  t2, 2, t2
+       cmovne  t1, 1, t1
+       addq    v0, t3, v0
+       addq    t1, t2, t1
+       addq    v0, t1, v0
+
+       bne     a2, $multiword  # do we have full words left?
+
+       .align 3
+       zapnot  t0, t8, t4      # e0    : was last byte a null?
+       subq    t8, 1, t2       # .. e1 :
+       addq    v0, 1, t5       # e0    :
+       subq    t10, 1, t3      # .. e1 :
+       or      t2, t8, t2      # e0    : clear the bits between the last
+       or      t3, t10, t3     # .. e1 : written byte and the last byte in
+       andnot  t3, t2, t3      # e0    : COUNT
+       cmovne  t4, t5, v0      # .. e1 : if last written wasnt null, inc v0
+       zap     t0, t3, t0      # e0    :
+       stq_u   t0, 0(a0)       # e1    :
+       ret                     # .. e1 :
+
+       .align 3
+$multiword:
+       subq    t8, 1, t7       # e0    : clear the final bits in the prev
+       or      t7, t8, t7      # e1    : word
+       zapnot  t0, t7, t0      # e0    :
+       subq    a2, 1, a2       # .. e1 :
+       stq_u   t0, 0(a0)       # e0    :
+       addq    a0, 8, a0       # .. e1 :
+
+       beq     a2, 1f          # e1    :
+       blbc    a2, 0f          # e1    :
+
+       stq_u   zero, 0(a0)     # e0    : zero one word
+       subq    a2, 1, a2       # .. e1 :
+       addq    a0, 8, a0       # e0    :
+       beq     a2, 1f          # .. e1 :
+
+0:     stq_u   zero, 0(a0)     # e0    : zero two words
+       subq    a2, 2, a2       # .. e1 :
+       stq_u   zero, 8(a0)     # e0    :
+       addq    a0, 16, a0      # .. e1 :
+       bne     a2, 0b          # e1    :
+       unop
+
+1:     ldq_u   t0, 0(a0)       # e0    : clear the leading bits in the final
+       subq    t10, 1, t7      # .. e1 : word
+       or      t7, t10, t7     # e0    :
+       zap     t0, t7, t0      # e1 (stall)
+       stq_u   t0, 0(a0)       # e0    :
+       ret                     # .. e1 :
+
+$zerocount:
+       mov     a0, v0
+       ret
+
+       END(__stpncpy)
+
+weak_alias (__stpncpy, stpncpy)
diff --git a/sysdeps/alpha/strcat.S b/sysdeps/alpha/strcat.S
new file mode 100644 (file)
index 0000000..d3afff3
--- /dev/null
@@ -0,0 +1,66 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Append a null-terminated string from SRC to DST.  */
+
+#include <sysdep.h>
+
+       .text
+
+ENTRY(strcat)
+       ldgp    gp, 0(pv)
+       .prologue 1
+
+       mov     a0, v0          # set up return value
+
+       /* Find the end of the string.  */
+
+       ldq_u   t0, 0(a0)       # load first quadword (a0 may be misaligned)
+       lda     t1, -1(zero)
+       insqh   t1, a0, t1
+       andnot  a0, 7, a0
+       or      t1, t0, t0
+       cmpbge  zero, t0, t1    # t1 <- bitmask: bit i == 1 <==> i-th byte == 0
+       bne     t1, $found
+
+$loop: ldq     t0, 8(a0)
+       addq    a0, 8, a0       # addr += 8
+       cmpbge  zero, t0, t1
+       beq     t1, $loop
+
+$found:        negq    t1, t2          # clear all but least set bit
+       and     t1, t2, t1
+
+       and     t1, 0xf0, t2    # binary search for that set bit
+       and     t1, 0xcc, t3
+       and     t1, 0xaa, t4
+       cmovne  t2, 4, t2
+       cmovne  t3, 2, t3
+       cmovne  t4, 1, t4
+       addq    t2, t3, t2
+       addq    a0, t4, a0
+       addq    a0, t2, a0
+
+       /* Now do the append.  */
+       
+       jsr     t9, __stxcpy
+       ret
+
+       END(strcat)
diff --git a/sysdeps/alpha/strchr.S b/sysdeps/alpha/strchr.S
new file mode 100644 (file)
index 0000000..c26a843
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Return the address of a given character within a null-terminated
+   string, or null if it is not found. 
+
+   This is generally scheduled for the EV5 (got to look out for my own
+   interests :-), but with EV4 needs in mind.  There *should* be no more
+   stalls for the EV4 than there are for the EV5.
+*/
+
+#include <sysdep.h>
+
+       .set noreorder
+       .set noat
+
+ENTRY(strchr)
+       .prologue 0
+
+       zapnot  a1, 1, a1       # e0    : zero extend the search character
+       ldq_u   t0, 0(a0)       # .. e1 : load first quadword
+       sll     a1, 8, t5       # e0    : replicate the search character
+       andnot  a0, 7, v0       # .. e1 : align our loop pointer
+       or      t5, a1, a1      # e0    :
+       lda     t4, -1          # .. e1 : build garbage mask
+       sll     a1, 16, t5      # e0    :
+       cmpbge  zero, t0, t2    # .. e1 : bits set iff byte == zero
+       mskqh   t4, a0, t4      # e0    :
+       or      t5, a1, a1      # .. e1 :
+       sll     a1, 32, t5      # e0    :
+       cmpbge  zero, t4, t4    # .. e1 : bits set iff byte is garbage
+       or      t5, a1, a1      # e0    :
+       xor     t0, a1, t1      # .. e1 : make bytes == c zero
+       cmpbge  zero, t1, t3    # e0    : bits set iff byte == c
+       or      t2, t3, t0      # e1    : bits set iff char match or zero match
+       andnot  t0, t4, t0      # e0    : clear garbage bits
+       bne     t0, $found      # .. e1 (zdb)
+
+$loop: ldq     t0, 8(v0)       # e0    :
+       addq    v0, 8, v0       # .. e1 :
+       nop                     # e0    :
+       xor     t0, a1, t1      # .. e1 (ev5 data stall)
+       cmpbge  zero, t0, t2    # e0    : bits set iff byte == 0
+       cmpbge  zero, t1, t3    # .. e1 : bits set iff byte == c
+       or      t2, t3, t0      # e0    :
+       beq     t0, $loop       # .. e1 (zdb)
+
+$found:        negq    t0, t1          # e0    : clear all but least set bit
+       and     t0, t1, t0      # e1 (stall)
+
+       and     t0, t3, t1      # e0    : bit set iff byte was the char
+       beq     t1, $retnull    # .. e1 (zdb)
+
+       and     t0, 0xf0, t2    # e0    : binary search for that set bit
+       and     t0, 0xcc, t3    # .. e1 :
+       and     t0, 0xaa, t4    # e0    :
+       cmovne  t2, 4, t2       # .. e1 :
+       cmovne  t3, 2, t3       # e0    :
+       cmovne  t4, 1, t4       # .. e1 :
+       addq    t2, t3, t2      # e0    :
+       addq    v0, t4, v0      # .. e1 :
+       addq    v0, t2, v0      # e0    :
+       ret                     # .. e1 :
+
+$retnull:
+       mov     zero, v0        # e0    :
+       ret                     # .. e1 :
+
+       END(strchr)
+
+weak_alias (strchr, index)
diff --git a/sysdeps/alpha/strcpy.S b/sysdeps/alpha/strcpy.S
new file mode 100644 (file)
index 0000000..2975181
--- /dev/null
@@ -0,0 +1,36 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy a null-terminated string from SRC to DST.  Return a pointer
+   to the null-terminator in the source.  */
+
+#include <sysdep.h>
+
+       .text
+
+ENTRY(strcpy)
+       ldgp    gp, 0(pv)
+       .prologue 1
+
+       mov     a0, v0          # set up return value
+       jsr     t9, __stxcpy    # do the copy
+       ret
+
+       END(strcpy)
diff --git a/sysdeps/alpha/strncat.S b/sysdeps/alpha/strncat.S
new file mode 100644 (file)
index 0000000..d502037
--- /dev/null
@@ -0,0 +1,90 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Append no more than COUNT characters from the null-terminated string SRC
+   to the null-terminated string DST.  Always null-terminate the new DST.  */
+
+#include <sysdep.h>
+
+       .text
+
+ENTRY(strncat)
+       ldgp    gp, 0(pv)
+       .prologue 1
+
+       mov     a0, v0          # set up return value
+       beq     a2, $zerocount
+
+       /* Find the end of the string.  */
+
+       ldq_u   t0, 0(a0)       # load first quadword (a0 may be misaligned)
+       lda     t1, -1(zero)
+       insqh   t1, a0, t1
+       andnot  a0, 7, a0
+       or      t1, t0, t0
+       cmpbge  zero, t0, t1    # t1 <- bitmask: bit i == 1 <==> i-th byte == 0
+       bne     t1, $found
+
+$loop: ldq     t0, 8(a0)
+       addq    a0, 8, a0       # addr += 8
+       cmpbge  zero, t0, t1
+       beq     t1, $loop
+
+$found:        negq    t1, t2          # clear all but least set bit
+       and     t1, t2, t1
+
+       and     t1, 0xf0, t2    # binary search for that set bit
+       and     t1, 0xcc, t3
+       and     t1, 0xaa, t4
+       cmovne  t2, 4, t2
+       cmovne  t3, 2, t3
+       cmovne  t4, 1, t4
+       addq    t2, t3, t2
+       addq    a0, t4, a0
+       addq    a0, t2, a0
+
+       /* Now do the append.  */
+
+       jsr     t9, __stxncpy
+
+       /* Worry about the null termination.  */
+
+       zapnot  t0, t8, t1      # was last byte a null?
+       bne     t1, 0f
+       ret
+
+0:     and     t10, 0x80, t1
+       bne     t1, 1f
+
+       /* Here there are bytes left in the current word.  Clear one.  */
+       addq    t10, t10, t10   # end-of-count bit <<= 1
+       zap     t0, t10, t0
+       stq_u   t0, 0(a0)
+       ret
+
+1:     /* Here we must read the next DST word and clear the first byte.  */
+       ldq_u   t0, 8(a0)
+       zap     t0, 1, t0
+       stq_u   t0, 8(a0)
+
+$zerocount:
+       ret
+
+       END(strncat)
diff --git a/sysdeps/alpha/strncpy.S b/sysdeps/alpha/strncpy.S
new file mode 100644 (file)
index 0000000..e13769c
--- /dev/null
@@ -0,0 +1,85 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy no more than COUNT bytes of the null-terminated string from
+   SRC to DST.  If SRC does not cover all of COUNT, the balance is
+   zeroed.  */
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+ENTRY(strncpy)
+       ldgp    gp, 0(pv)
+       .prologue 1
+
+       mov     a0, v0          # set return value now
+       beq     a2, $zerocount
+       jsr     t9, __stxncpy   # do the work of the copy
+
+       bne     a2, $multiword  # do we have full words left?
+
+       .align 3
+       subq    t8, 1, t2       # e0    : guess not
+       subq    t10, 1, t3      # .. e1 :
+       or      t2, t8, t2      # e0    : clear the bits between the last
+       or      t3, t10, t3     # .. e1 : written byte and the last byte in
+       andnot  t3, t2, t3      # e0    : COUNT
+       zap     t0, t3, t0      # e1    :
+       stq_u   t0, 0(a0)       # e0    :
+       ret                     # .. e1 :
+
+$multiword:
+
+       subq    t8, 1, t7       # e0    : clear the final bits in the prev
+       or      t7, t8, t7      # e1    : word
+       zapnot  t0, t7, t0      # e0    :
+       subq    a2, 1, a2       # .. e1 :
+       stq_u   t0, 0(a0)       # e0    :
+       addq    a0, 8, a0       # .. e1 :
+
+       beq     a2, 1f          # e1    :
+       blbc    a2, 0f          # e1    :
+
+       stq_u   zero, 0(a0)     # e0    : zero one word
+       subq    a2, 1, a2       # .. e1 :
+       addq    a0, 8, a0       # e0    :
+       beq     a2, 1f          # .. e1 :
+
+0:     stq_u   zero, 0(a0)     # e0    : zero two words
+       subq    a2, 2, a2       # .. e1 :
+       stq_u   zero, 8(a0)     # e0    :
+       addq    a0, 16, a0      # .. e1 :
+       bne     a2, 0b          # e1    :
+       unop
+
+1:     ldq_u   t0, 0(a0)       # e0    : clear the leading bits in the final
+       subq    t10, 1, t7      # .. e1 : word
+       or      t7, t10, t7     # e0    :
+       zap     t0, t7, t0      # e1 (stall)
+       stq_u   t0, 0(a0)       # e0    :
+
+$zerocount:
+       ret                     # .. e1 :
+
+       END(strncpy)
diff --git a/sysdeps/alpha/strrchr.S b/sysdeps/alpha/strrchr.S
new file mode 100644 (file)
index 0000000..464f754
--- /dev/null
@@ -0,0 +1,104 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Return the address of the last occurrance of a given character
+   within a null-terminated string, or null if it is not found.
+
+   This is generally scheduled for the EV5 (got to look out for my own
+   interests :-), but with EV4 needs in mind.  There are, in fact, fewer
+   stalls on the EV4 than there are on the EV5.
+*/
+
+#include <sysdep.h>
+
+       .set noreorder
+       .set noat
+
+ENTRY(strrchr)
+       .prologue 0
+
+       zapnot  a1, 1, a1       # e0    : zero extend our test character
+       mov     zero, t6        # .. e1 : t6 is last match aligned addr
+       sll     a1, 8, t5       # e0    : replicate our test character
+       mov     zero, t7        # .. e1 : t7 is last match byte compare mask
+       or      t5, a1, a1      # e0    :
+       ldq_u   t0, 0(a0)       # .. e1 : load first quadword
+       sll     a1, 16, t5      # e0    :
+       andnot  a0, 7, v0       # .. e1 : align source addr
+       or      t5, a1, a1      # e0    :
+       lda     t4, -1          # .. e1 : build garbage mask
+       sll     a1, 32, t5      # e0    :
+       cmpbge  zero, t0, t1    # .. e1 : bits set iff byte == zero
+       mskqh   t4, a0, t4      # e0    :
+       or      t5, a1, a1      # .. e1 : character replication complete
+       xor     t0, a1, t2      # e0    : make bytes == c zero
+       cmpbge  zero, t4, t4    # .. e1 : bits set iff byte is garbage
+       cmpbge  zero, t2, t3    # e0    : bits set iff byte == c
+       andnot  t1, t4, t1      # .. e1 : clear garbage from null test
+       andnot  t3, t4, t3      # e0    : clear garbage from char test
+       bne     t1, $eos        # .. e1 : did we already hit the terminator?
+
+       /* Character search main loop */
+$loop:
+       ldq     t0, 8(v0)       # e0    : load next quadword
+       cmovne  t3, v0, t6      # .. e1 : save previous comparisons match
+       cmovne  t3, t3, t7      # e0    :
+       addq    v0, 8, v0       # .. e1 :
+       xor     t0, a1, t2      # e0    :
+       cmpbge  zero, t0, t1    # .. e1 : bits set iff byte == zero
+       cmpbge  zero, t2, t3    # e0    : bits set iff byte == c
+       beq     t1, $loop       # .. e1 : if we havnt seen a null, loop
+
+       /* Mask out character matches after terminator */
+$eos:
+       negq    t1, t4          # e0    : isolate first null byte match
+       and     t1, t4, t4      # e1    :
+       subq    t4, 1, t5       # e0    : build a mask of the bytes upto...
+       or      t4, t5, t4      # e1    : ... and including the null
+
+       and     t3, t4, t3      # e0    : mask out char matches after null
+       cmovne  t3, t3, t7      # .. e1 : save it, if match found
+       cmovne  t3, v0, t6      # e0    :
+
+       /* Locate the address of the last matched character */
+
+       /* Retain the early exit for the ev4 -- the ev5 mispredict penalty
+          is 5 cycles -- the same as just falling through.  */
+       beq     t7, $retnull    # .. e1 :
+
+       and     t7, 0xf0, t2    # e0    : binary search for the high bit set
+       cmovne  t2, t2, t7      # .. e1 (zdb)
+       cmovne  t2, 4, t2       # e0    :
+       and     t7, 0xcc, t1    # .. e1 :
+       cmovne  t1, t1, t7      # e0    :
+       cmovne  t1, 2, t1       # .. e1 :
+       and     t7, 0xaa, t0    # e0    :
+       cmovne  t0, 1, t0       # .. e1 (zdb)
+       addq    t2, t1, t1      # e0    :
+       addq    t6, t0, v0      # .. e1 : add our aligned base ptr to the mix
+       addq    v0, t1, v0      # e0    :
+       ret                     # .. e1 :
+
+$retnull:
+       mov     zero, v0        # e0    :
+       ret                     # .. e1 :
+
+       END(strrchr)
+
+weak_alias (strrchr, rindex)
diff --git a/sysdeps/alpha/stxcpy.S b/sysdeps/alpha/stxcpy.S
new file mode 100644 (file)
index 0000000..e381b70
--- /dev/null
@@ -0,0 +1,307 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy a null-terminated string from SRC to DST.
+
+   This is an internal routine used by strcpy, stpcpy, and strcat.
+   As such, it uses special linkage conventions to make implementation
+   of these public functions more efficient.
+
+   On input:
+       t9 = return address
+       a0 = DST
+       a1 = SRC
+
+   On output:
+       t8  = bitmask (with one bit set) indicating the last byte written
+       a0  = unaligned address of the last *word* written
+
+   Furthermore, v0, a3-a5, t11, and t12 are untouched.
+*/
+
+/* This is generally scheduled for the EV5, but should still be pretty 
+   good for the EV4 too.  */
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
+   doesn't like putting the entry point for a procedure somewhere in the
+   middle of the procedure descriptor.  Work around this by putting the
+   aligned copy in its own procedure descriptor */
+
+       .ent stxcpy_aligned
+       .align 3
+stxcpy_aligned:
+       .frame sp, 0, t9
+       .prologue 0
+
+       /* On entry to this basic block:
+          t0 == the first destination word for masking back in
+          t1 == the first source word.  */
+
+       /* Create the 1st output word and detect 0's in the 1st input word.  */
+       lda     t2, -1          # e1    : build a mask against false zero
+       mskqh   t2, a1, t2      # e0    :   detection in the src word
+       mskqh   t1, a1, t3      # e0    :
+       ornot   t1, t2, t2      # .. e1 : 
+       mskql   t0, a1, t0      # e0    : assemble the first output word
+       cmpbge  zero, t2, t7    # .. e1 : bits set iff null found
+       or      t0, t3, t1      # e0    :
+       bne     t7, $a_eos      # .. e1 :
+
+       /* On entry to this basic block:
+          t0 == the first destination word for masking back in
+          t1 == a source word not containing a null.  */
+
+$a_loop:
+       stq_u   t1, 0(a0)       # e0    :
+       addq    a0, 8, a0       # .. e1 :
+       ldq_u   t1, 0(a1)       # e0    :
+       addq    a1, 8, a1       # .. e1 :
+       cmpbge  zero, t1, t7    # e0 (stall)
+       beq     t7, $a_loop     # .. e1 (zdb)
+
+       /* Take care of the final (partial) word store.
+          On entry to this basic block we have:
+          t1 == the source word containing the null
+          t7 == the cmpbge mask that found it.  */
+$a_eos:
+       negq    t7, t6          # e0    : find low bit set
+       and     t7, t6, t8      # e1 (stall)
+
+       /* For the sake of the cache, don't read a destination word
+          if we're not going to need it.  */
+       and     t8, 0x80, t6    # e0    :
+       bne     t6, 1f          # .. e1 (zdb)
+
+       /* We're doing a partial word store and so need to combine
+          our source and original destination words.  */
+       ldq_u   t0, 0(a0)       # e0    :
+       subq    t8, 1, t6       # .. e1 : 
+       zapnot  t1, t6, t1      # e0    : clear src bytes >= null
+       or      t8, t6, t7      # .. e1 : 
+       zap     t0, t7, t0      # e0    : clear dst bytes <= null
+       or      t0, t1, t1      # e1    :
+
+1:     stq_u   t1, 0(a0)       # e0    :
+       ret     (t9)            # .. e1 :
+
+       .end stxcpy_aligned
+
+       .align 3
+       .ent __stxcpy
+       .globl __stxcpy
+__stxcpy:
+       .frame sp, 0, t9
+       .prologue 0
+
+       /* Are source and destination co-aligned?  */
+       xor     a0, a1, t0      # e0    :
+       unop                    #       :
+       and     t0, 7, t0       # e0    :
+       bne     t0, $unaligned  # .. e1 :
+
+       /* We are co-aligned; take care of a partial first word.  */
+       ldq_u   t1, 0(a1)       # e0    : load first src word
+       and     a0, 7, t0       # .. e1 : take care not to load a word ...
+       addq    a1, 8, a1               # e0    :
+       beq     t0, stxcpy_aligned      # .. e1 : ... if we wont need it
+       ldq_u   t0, 0(a0)       # e0    :
+       br      stxcpy_aligned  # .. e1 :
+
+
+/* The source and destination are not co-aligned.  Align the destination
+   and cope.  We have to be very careful about not reading too much and
+   causing a SEGV.  */
+
+       .align 3
+$u_head:
+       /* We know just enough now to be able to assemble the first
+          full source word.  We can still find a zero at the end of it
+          that prevents us from outputting the whole thing.
+
+          On entry to this basic block:
+          t0 == the first dest word, for masking back in, if needed else 0
+          t1 == the low bits of the first source word
+          t6 == bytemask that is -1 in dest word bytes */
+
+       ldq_u   t2, 8(a1)       # e0    :
+       addq    a1, 8, a1       # .. e1 :
+
+       extql   t1, a1, t1      # e0    :
+       extqh   t2, a1, t4      # e0    :
+       mskql   t0, a0, t0      # e0    :
+       or      t1, t4, t1      # .. e1 :
+       mskqh   t1, a0, t1      # e0    :
+       or      t0, t1, t1      # e1    :
+       
+       or      t1, t6, t6      # e0    :
+       cmpbge  zero, t6, t7    # .. e1 :
+       lda     t6, -1          # e0    : for masking just below
+       bne     t7, $u_final    # .. e1 :
+
+       mskql   t6, a1, t6              # e0    : mask out the bits we have 
+       or      t6, t2, t2              # e1    :   already extracted before
+       cmpbge  zero, t2, t7            # e0    :   testing eos
+       bne     t7, $u_late_head_exit   # .. e1 (zdb)
+
+       /* Finally, we've got all the stupid leading edge cases taken care
+          of and we can set up to enter the main loop.  */
+
+       stq_u   t1, 0(a0)       # e0    : store first output word
+       addq    a0, 8, a0       # .. e1 :
+       extql   t2, a1, t0      # e0    : position ho-bits of lo word
+       ldq_u   t2, 8(a1)       # .. e1 : read next high-order source word
+       addq    a1, 8, a1       # e0    :
+       cmpbge  zero, t2, t7    # .. e1 :
+       nop                     # e0    :
+       bne     t7, $u_eos      # .. e1 :
+
+       /* Unaligned copy main loop.  In order to avoid reading too much,
+          the loop is structured to detect zeros in aligned source words.
+          This has, unfortunately, effectively pulled half of a loop 
+          iteration out into the head and half into the tail, but it does
+          prevent nastiness from accumulating in the very thing we want
+          to run as fast as possible.
+
+          On entry to this basic block:
+          t0 == the shifted high-order bits from the previous source word
+          t2 == the unshifted current source word
+
+          We further know that t2 does not contain a null terminator.  */
+
+       .align 3
+$u_loop:
+       extqh   t2, a1, t1      # e0    : extract high bits for current word
+       addq    a1, 8, a1       # .. e1 :
+       extql   t2, a1, t3      # e0    : extract low bits for next time
+       addq    a0, 8, a0       # .. e1 :
+       or      t0, t1, t1      # e0    : current dst word now complete
+       ldq_u   t2, 0(a1)       # .. e1 : load high word for next time
+       stq_u   t1, -8(a0)      # e0    : save the current word
+       mov     t3, t0          # .. e1 :
+       cmpbge  zero, t2, t7    # e0    : test new word for eos
+       beq     t7, $u_loop     # .. e1 :
+
+       /* We've found a zero somewhere in the source word we just read.
+          If it resides in the lower half, we have one (probably partial)
+          word to write out, and if it resides in the upper half, we 
+          have one full and one partial word left to write out.
+
+          On entry to this basic block:
+          t0 == the shifted high-order bits from the previous source word
+          t2 == the unshifted current source word.  */
+$u_eos:
+       extqh   t2, a1, t1      # e0    :
+       or      t0, t1, t1      # e1    : first (partial) source word complete
+
+       cmpbge  zero, t1, t7    # e0    : is the null in this first bit?
+       bne     t7, $u_final    # .. e1 (zdb)
+
+$u_late_head_exit:
+       stq_u   t1, 0(a0)       # e0    : the null was in the high-order bits
+       addq    a0, 8, a0       # .. e1 :
+       extql   t2, a1, t1      # e0    :
+       cmpbge  zero, t1, t7    # .. e1 :
+
+       /* Take care of a final (probably partial) result word.
+          On entry to this basic block:
+          t1 == assembled source word
+          t7 == cmpbge mask that found the null.  */
+$u_final:
+       negq    t7, t6          # e0    : isolate low bit set
+       and     t6, t7, t8      # e1    :
+
+       and     t8, 0x80, t6    # e0    : avoid dest word load if we can 
+       bne     t6, 1f          # .. e1 (zdb)
+
+       ldq_u   t0, 0(a0)       # e0    :
+       subq    t8, 1, t6       # .. e1 :
+       or      t6, t8, t7      # e0    :
+       zapnot  t1, t6, t1      # .. e1 : kill source bytes >= null
+       zap     t0, t7, t0      # e0    : kill dest bytes <= null
+       or      t0, t1, t1      # e1    :
+
+1:     stq_u   t1, 0(a0)       # e0    :
+       ret     (t9)            # .. e1 :
+
+       /* Unaligned copy entry point.  */
+       .align 3
+$unaligned:
+
+       ldq_u   t1, 0(a1)       # e0    : load first source word
+
+       and     a0, 7, t4       # .. e1 : find dest misalignment
+       and     a1, 7, t5       # e0    : find src misalignment
+
+       /* Conditionally load the first destination word and a bytemask 
+          with 0xff indicating that the destination byte is sacrosanct.  */
+
+       mov     zero, t0        # .. e1 :
+       mov     zero, t6        # e0    :
+       beq     t4, 1f          # .. e1 :
+       ldq_u   t0, 0(a0)       # e0    :
+       lda     t6, -1          # .. e1 :
+       mskql   t6, a0, t6      # e0    :
+1:
+       subq    a1, t4, a1      # .. e1 : sub dest misalignment from src addr
+
+       /* If source misalignment is larger than dest misalignment, we need
+          extra startup checks to avoid SEGV.  */
+
+       cmplt   t4, t5, t8      # e0    :
+       beq     t8, $u_head     # .. e1 (zdb)
+
+       lda     t2, -1          # e1    : mask out leading garbage in source
+       mskqh   t2, t5, t2      # e0    :
+       nop                     # e0    :
+       ornot   t1, t2, t3      # .. e1 :
+       cmpbge  zero, t3, t7    # e0    : is there a zero?
+       beq     t7, $u_head     # .. e1 (zdb)
+
+       /* At this point we've found a zero in the first partial word of
+          the source.  We need to isolate the valid source data and mask
+          it into the original destination data.  (Incidentally, we know
+          that we'll need at least one byte of that original dest word.) */
+
+       ldq_u   t0, 0(a0)       # e0    :
+
+       negq    t7, t6          # .. e1 : build bitmask of bytes <= zero
+       and     t6, t7, t8      # e0    :
+       nop                     # .. e1 :
+       subq    t8, 1, t6       # e0    :
+       or      t6, t8, t7      # e1    :
+
+       zapnot  t2, t7, t2      # e0    : prepare source word; mirror changes
+       and     t1, t2, t1      # e1    : to source validity mask
+       extql   t2, a1, t2      # e0    :
+       extql   t1, a1, t1      # e0    :
+
+       andnot  t0, t2, t0      # e0    : zero place for source to reside
+       or      t0, t1, t1      # e1    : and put it there
+       stq_u   t1, 0(a0)       # e0    :
+       ret     (t9)            # .. e1 :
+
+       .end __stxcpy
diff --git a/sysdeps/alpha/stxncpy.S b/sysdeps/alpha/stxncpy.S
new file mode 100644 (file)
index 0000000..8c5fcf6
--- /dev/null
@@ -0,0 +1,350 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+   Contributed by Richard Henderson (rth@tamu.edu)
+
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA.  */
+
+/* Copy no more than COUNT bytes of the null-terminated string from
+   SRC to DST.
+
+   This is an internal routine used by strncpy, stpncpy, and strncat.
+   As such, it uses special linkage conventions to make implementation
+   of these public functions more efficient.
+
+   On input:
+       t9 = return address
+       a0 = DST
+       a1 = SRC
+       a2 = COUNT
+
+   Furthermore, COUNT may not be zero.
+
+   On output:
+       t0  = last word written
+       t8  = bitmask (with one bit set) indicating the last byte written
+       t10 = bitmask (with one bit set) indicating the byte position of
+             the end of the range specified by COUNT
+       a0  = unaligned address of the last *word* written
+       a2  = the number of full words left in COUNT
+
+   Furthermore, v0, a3-a5, t11, and t12 are untouched.
+*/
+
+
+/* This is generally scheduled for the EV5, but should still be pretty
+   good for the EV4 too.  */
+
+#include <sysdep.h>
+
+       .set noat
+       .set noreorder
+
+       .text
+
+/* There is a problem with either gdb (as of 4.16) or gas (as of 2.7) that
+   doesn't like putting the entry point for a procedure somewhere in the
+   middle of the procedure descriptor.  Work around this by putting the
+   aligned copy in its own procedure descriptor */
+
+       .ent stxncpy_aligned
+       .align 3
+stxncpy_aligned:
+       .frame sp, 0, t9, 0
+       .prologue 0
+
+       /* On entry to this basic block:
+          t0 == the first destination word for masking back in
+          t1 == the first source word.  */
+
+       /* Create the 1st output word and detect 0's in the 1st input word.  */
+       lda     t2, -1          # e1    : build a mask against false zero
+       mskqh   t2, a1, t2      # e0    :   detection in the src word
+       mskqh   t1, a1, t3      # e0    :
+       ornot   t1, t2, t2      # .. e1 :
+       mskql   t0, a1, t0      # e0    : assemble the first output word
+       cmpbge  zero, t2, t7    # .. e1 : bits set iff null found
+       or      t0, t3, t0      # e0    :
+       beq     a2, $a_eoc      # .. e1 :
+       bne     t7, $a_eos      # .. e1 :
+
+       /* On entry to this basic block:
+          t0 == a source word not containing a null.  */
+
+$a_loop:
+       stq_u   t0, 0(a0)       # e0    :
+       addq    a0, 8, a0       # .. e1 :
+       ldq_u   t0, 0(a1)       # e0    :
+       addq    a1, 8, a1       # .. e1 :
+       subq    a2, 1, a2       # e0    :
+       cmpbge  zero, t0, t7    # .. e1 (stall)
+       beq     a2, $a_eoc      # e1    :
+       beq     t7, $a_loop     # e1    :
+
+       /* Take care of the final (partial) word store.  At this point
+          the end-of-count bit is set in t7 iff it applies.
+
+          On entry to this basic block we have:
+          t0 == the source word containing the null
+          t7 == the cmpbge mask that found it.  */
+
+$a_eos:
+       negq    t7, t8          # e0    : find low bit set
+       and     t7, t8, t8      # e1 (stall)
+
+       /* For the sake of the cache, don't read a destination word
+          if we're not going to need it.  */
+       and     t8, 0x80, t6    # e0    :
+       bne     t6, 1f          # .. e1 (zdb)
+
+       /* We're doing a partial word store and so need to combine
+          our source and original destination words.  */
+       ldq_u   t1, 0(a0)       # e0    :
+       subq    t8, 1, t6       # .. e1 :
+       or      t8, t6, t7      # e0    :
+       unop                    #
+       zapnot  t0, t7, t0      # e0    : clear src bytes > null
+       zap     t1, t7, t1      # .. e1 : clear dst bytes <= null
+       or      t0, t1, t0      # e1    :
+
+1:     stq_u   t0, 0(a0)       # e0    :
+       ret     (t9)            # e1    :
+
+       /* Add the end-of-count bit to the eos detection bitmask.  */
+$a_eoc:
+       or      t10, t7, t7
+       br      $a_eos
+
+       .end stxncpy_aligned
+
+       .align 3
+       .ent __stxncpy
+       .globl __stxncpy
+__stxncpy:
+       .frame sp, 0, t9, 0
+       .prologue 0
+
+       /* Are source and destination co-aligned?  */
+       xor     a0, a1, t1      # e0    :
+       and     a0, 7, t0       # .. e1 : find dest misalignment
+       and     t1, 7, t1       # e0    :
+       addq    a2, t0, a2      # .. e1 : bias count by dest misalignment
+       subq    a2, 1, a2       # e0    :
+       and     a2, 7, t2       # e1    :
+       srl     a2, 3, a2       # e0    : a2 = loop counter = (count - 1)/8
+       addq    zero, 1, t10    # .. e1 :
+       sll     t10, t2, t10    # e0    : t10 = bitmask of last count byte
+       bne     t1, $unaligned  # .. e1 :
+
+       /* We are co-aligned; take care of a partial first word.  */
+
+       ldq_u   t1, 0(a1)       # e0    : load first src word
+       addq    a1, 8, a1       # .. e1 :
+
+       beq     t0, stxncpy_aligned     # avoid loading dest word if not needed
+       ldq_u   t0, 0(a0)       # e0    :
+       br      stxncpy_aligned # .. e1 :
+
+
+/* The source and destination are not co-aligned.  Align the destination
+   and cope.  We have to be very careful about not reading too much and
+   causing a SEGV.  */
+
+       .align 3
+$u_head:
+       /* We know just enough now to be able to assemble the first
+          full source word.  We can still find a zero at the end of it
+          that prevents us from outputting the whole thing.
+
+          On entry to this basic block:
+          t0 == the first dest word, unmasked
+          t1 == the shifted low bits of the first source word
+          t6 == bytemask that is -1 in dest word bytes */
+
+       ldq_u   t2, 8(a1)       # e0    : load second src word
+       addq    a1, 8, a1       # .. e1 :
+       mskql   t0, a0, t0      # e0    : mask trailing garbage in dst
+       extqh   t2, a1, t4      # e0    :
+       or      t1, t4, t1      # e1    : first aligned src word complete
+       mskqh   t1, a0, t1      # e0    : mask leading garbage in src
+       or      t0, t1, t0      # e0    : first output word complete
+       or      t0, t6, t6      # e1    : mask original data for zero test
+       cmpbge  zero, t6, t7    # e0    :
+       beq     a2, $u_eocfin   # .. e1 :
+       bne     t7, $u_final    # e1    :
+
+       lda     t6, -1                  # e1    : mask out the bits we have
+       mskql   t6, a1, t6              # e0    :   already seen
+       stq_u   t0, 0(a0)               # e0    : store first output word
+       or      t6, t2, t2              # .. e1 :
+       cmpbge  zero, t2, t7            # e0    : find nulls in second partial
+       addq    a0, 8, a0               # .. e1 :
+       subq    a2, 1, a2               # e0    :
+       bne     t7, $u_late_head_exit   # .. e1 :
+
+       /* Finally, we've got all the stupid leading edge cases taken care
+          of and we can set up to enter the main loop.  */
+
+       extql   t2, a1, t1      # e0    : position hi-bits of lo word
+       ldq_u   t2, 8(a1)       # .. e1 : read next high-order source word
+       addq    a1, 8, a1       # e0    :
+       cmpbge  zero, t2, t7    # e1 (stall)
+       beq     a2, $u_eoc      # e1    :
+       bne     t7, $u_eos      # e1    :
+
+       /* Unaligned copy main loop.  In order to avoid reading too much,
+          the loop is structured to detect zeros in aligned source words.
+          This has, unfortunately, effectively pulled half of a loop
+          iteration out into the head and half into the tail, but it does
+          prevent nastiness from accumulating in the very thing we want
+          to run as fast as possible.
+
+          On entry to this basic block:
+          t1 == the shifted high-order bits from the previous source word
+          t2 == the unshifted current source word
+
+          We further know that t2 does not contain a null terminator.  */
+
+       .align 3
+$u_loop:
+       extqh   t2, a1, t0      # e0    : extract high bits for current word
+       addq    a1, 8, a1       # .. e1 :
+       extql   t2, a1, t3      # e0    : extract low bits for next time
+       addq    a0, 8, a0       # .. e1 :
+       or      t0, t1, t0      # e0    : current dst word now complete
+       ldq_u   t2, 0(a1)       # .. e1 : load high word for next time
+       stq_u   t0, -8(a0)      # e0    : save the current word
+       mov     t3, t1          # .. e1 :
+       subq    a2, 1, a2       # e0    :
+       cmpbge  zero, t2, t7    # .. e1 : test new word for eos
+       beq     a2, $u_eoc      # e1    :
+       beq     t7, $u_loop     # e1    :
+
+       /* We've found a zero somewhere in the source word we just read.
+          If it resides in the lower half, we have one (probably partial)
+          word to write out, and if it resides in the upper half, we
+          have one full and one partial word left to write out.
+
+          On entry to this basic block:
+          t1 == the shifted high-order bits from the previous source word
+          t2 == the unshifted current source word.  */
+$u_eos:
+       extqh   t2, a1, t0      # e0    :
+       or      t0, t1, t0      # e1    : first (partial) source word complete
+
+       cmpbge  zero, t0, t7    # e0    : is the null in this first bit?
+       bne     t7, $u_final    # .. e1 (zdb)
+
+       stq_u   t0, 0(a0)       # e0    : the null was in the high-order bits
+       addq    a0, 8, a0       # .. e1 :
+       subq    a2, 1, a2       # e1    :
+
+$u_late_head_exit:
+       extql   t2, a1, t0      # .. e0 :
+       cmpbge  zero, t0, t7    # e0    :
+       or      t7, t10, t6     # e1    :
+       cmoveq  a2, t6, t7      # e0    :
+       nop                     # .. e1 :
+
+       /* Take care of a final (probably partial) result word.
+          On entry to this basic block:
+          t0 == assembled source word
+          t7 == cmpbge mask that found the null.  */
+$u_final:
+       negq    t7, t6          # e0    : isolate low bit set
+       and     t6, t7, t8      # e1    :
+
+       and     t8, 0x80, t6    # e0    : avoid dest word load if we can
+       bne     t6, 1f          # .. e1 (zdb)
+
+       ldq_u   t1, 0(a0)       # e0    :
+       subq    t8, 1, t6       # .. e1 :
+       or      t6, t8, t7      # e0    :
+       zapnot  t0, t7, t0      # .. e1 : kill source bytes > null
+       zap     t1, t7, t1      # e0    : kill dest bytes <= null
+       or      t0, t1, t0      # e1    :
+
+1:     stq_u   t0, 0(a0)       # e0    :
+       ret     (t9)            # .. e1 :
+
+$u_eoc:                                # end-of-count
+       extqh   t2, a1, t0
+       or      t0, t1, t0
+       cmpbge  zero, t0, t7
+
+$u_eocfin:                     # end-of-count, final word
+       or      t10, t7, t7
+       br      $u_final
+
+       /* Unaligned copy entry point.  */
+       .align 3
+$unaligned:
+
+       ldq_u   t1, 0(a1)       # e0    : load first source word
+
+       and     a0, 7, t4       # .. e1 : find dest misalignment
+       and     a1, 7, t5       # e0    : find src misalignment
+
+       /* Conditionally load the first destination word and a bytemask
+          with 0xff indicating that the destination byte is sacrosanct.  */
+
+       mov     zero, t0        # .. e1 :
+       mov     zero, t6        # e0    :
+       beq     t4, 1f          # .. e1 :
+       ldq_u   t0, 0(a0)       # e0    :
+       lda     t6, -1          # .. e1 :
+       mskql   t6, a0, t6      # e0    :
+1:
+       subq    a1, t4, a1      # .. e1 : sub dest misalignment from src addr
+
+       /* If source misalignment is larger than dest misalignment, we need
+          extra startup checks to avoid SEGV.  */
+
+       cmplt   t4, t5, t8      # e1    :
+       extql   t1, a1, t1      # .. e0 : shift src into place
+       lda     t2, -1          # e0    : for creating masks later
+       beq     t8, $u_head     # e1    :
+
+       mskqh   t2, t5, t2      # e0    : begin src byte validity mask
+       cmpbge  zero, t1, t7    # .. e1 : is there a zero?
+       extql   t2, a1, t2      # e0    :
+       or      t7, t10, t6     # .. e1 : test for end-of-count too
+       cmpbge  zero, t2, t3    # e0    :
+       cmoveq  a2, t6, t7      # .. e1 :
+       andnot  t7, t3, t7      # e0    :
+       beq     t7, $u_head     # .. e1 (zdb)
+
+       /* At this point we've found a zero in the first partial word of
+          the source.  We need to isolate the valid source data and mask
+          it into the original destination data.  (Incidentally, we know
+          that we'll need at least one byte of that original dest word.) */
+
+       ldq_u   t0, 0(a0)       # e0    :
+       negq    t7, t6          # .. e1 : build bitmask of bytes <= zero
+       mskqh   t1, t4, t1      # e0    :
+       and     t6, t7, t8      # .. e1 :
+       subq    t8, 1, t6       # e0    :
+       or      t6, t8, t7      # e1    :
+
+       zapnot  t2, t7, t2      # e0    : prepare source word; mirror changes
+       zapnot  t1, t7, t1      # .. e1 : to source validity mask
+
+       andnot  t0, t2, t0      # e0    : zero place for source to reside
+       or      t0, t1, t0      # e1    : and put it there
+       stq_u   t0, 0(a0)       # e0    :
+       ret     (t9)            # .. e1 :
+
+       .end __stxncpy
diff --git a/sysdeps/generic/crypt-entry.c b/sysdeps/generic/crypt-entry.c
new file mode 100644 (file)
index 0000000..84c6974
--- /dev/null
@@ -0,0 +1,68 @@
+/* crypt - wrapper aroung MD5 sum replacement for crypt function.
+Copyright (C) 1996 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include <crypt.h>
+#include <errno.h>
+#include <string.h>
+
+
+/* Define our magic string to mark salt for MD5 encryption
+   replacement.  This is meant to be the same as for other MD5 based
+   encryption implenentations.  */
+static const char md5_salt_prefix[] = "$1$";
+
+
+/* Prototypes for the MD5 encryption replacement functions.  */
+extern char *md5_crypt_r (const char *key, const char *salt, char *buffer,
+                         int buflen);
+extern char *md5_crpyt (const char *key, const char *salt);
+
+
+/* We recognize an intended call of the MD5 crypt replacement function
+   by the first 3 characters of the salt string.  If they match the
+   MD5 magic string we want MD5 encryption replacement.  */
+char *
+crypt_r (key, salt, data)
+     const char *key;
+     const char *salt;
+     struct crypt_data *data;
+{
+  if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0)
+    return md5_crypt_r (key, salt, (char *) data, sizeof (struct crypt_data));
+
+  /* We don't have DES encryption.  */
+  errno = ENOSYS;
+  return NULL;
+}
+
+
+/* The same here, only we call the non-reentrant version.  */
+char *
+crypt (key, salt)
+     const char *key;
+     const char *salt;
+{
+  if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0)
+    return md5_crypt (key, salt);
+
+  /* We don't have DES encryption.  */
+  errno = ENOSYS;
+  return NULL;
+}
diff --git a/sysdeps/generic/crypt.h b/sysdeps/generic/crypt.h
new file mode 100644 (file)
index 0000000..c035e1e
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * UFC-crypt: ultra fast crypt(3) implementation
+ *
+ * Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * @(#)crypt.h 1.3 16 Sep 1996
+ *
+ */
+
+#ifndef _CRYPT_H
+
+#define _CRYPT_H       1
+#include <features.h>
+
+__BEGIN_DECLS
+
+struct crypt_data
+{
+  char keysched[(16 * 8) / sizeof (char)];
+  char sb0[32768 / sizeof (char)];
+  char sb1[32768 / sizeof (char)];
+  char sb2[32768 / sizeof (char)];
+  char sb3[32768 / sizeof (char)];
+  /* end-of-aligment-critical-data */
+  char crypt_3_buf[14];
+  char current_salt[2];
+  long current_saltbits;
+  int  direction, initialized;
+};
+
+/* Encrypt at most 8 characters from KEY using salt to perturb DES.  */
+extern char *crypt __P ((__const char *__key, __const char *__salt));
+
+
+#ifdef __USE_REENTRANT
+/* Reentrant versions of the functions above.  The additional argument
+   points to a structure where the results are placed in.  */
+extern char *crypt_r __P ((__const char *__key, __const char *__salt,
+                          struct crypt_data *__data));
+#endif /* reentrant */
+
+__END_DECLS
+
+#endif /* crypt.h */
index 4f89efa6f0f25bd2ff2081543b5443410d249473..1e96fec01f6908e565d56e6b72260138b99895cf 100644 (file)
@@ -43,10 +43,7 @@ strtok (s, delim)
   /* Scan leading delimiters.  */
   s += strspn (s, delim);
   if (*s == '\0')
-    {
-      olds = NULL;
-      return NULL;
-    }
+    return NULL;
 
   /* Find the end of the token.  */
   token = s;
index 870fb274ebe3a13e8dc459ac1002bab5674f62c2..fb68ad8c98678c5b42b94012e370599eab22f247 100644 (file)
@@ -44,10 +44,7 @@ strtok_r (s, delim, save_ptr)
   /* Scan leading delimiters.  */
   s += strspn (s, delim);
   if (*s == '\0')
-    {
-      *save_ptr = NULL;
-      return NULL;
-    }
+    return NULL;
 
   /* Find the end of the token.  */
   token = s;
index 77916cdc3862b60135bc82dee8db176f6d3cdcba..fd0220526abeed614d32541d63d275a55f0f9d24 100644 (file)
@@ -1,5 +1,5 @@
 /* longjmp for i386.
-Copyright (C) 1995 Free Software Foundation, Inc.
+Copyright (C) 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -33,3 +33,4 @@ ENTRY (__longjmp)
        /* Jump to saved PC.  */
        movl (JB_PC*4)(%ecx), %ecx
        jmp *%ecx
+PSEUDO_END (__longjmp)
index a606550f2ed08e70860acb42e9fd7d3ed58b313b..b08a74fe531f2bf28460f42c4413fb11e49d9dec 100644 (file)
@@ -1,5 +1,5 @@
 /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.  i386 version.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -30,4 +30,4 @@ ENTRY (_setjmp)
        pushl %ecx              /* Push back first argument.  */
        pushl %eax              /* Push back return PC.  */
        jmp JUMPTARGET (C_SYMBOL_NAME (__sigsetjmp))
-
+PSEUDO_END (_setjmp)
index d9a39b9191b09f4a8f262105d138f9737398851c..5c8dd673b0771848261caf7169afe5046d2be48b 100644 (file)
@@ -1,5 +1,5 @@
 /* BSD `setjmp' entry point to `sigsetjmp (..., 1)'.  i386 version.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -30,3 +30,4 @@ ENTRY (setjmp)
        pushl %ecx              /* Push back first argument.  */
        pushl %eax              /* Push back return PC.  */
        jmp JUMPTARGET (C_SYMBOL_NAME (__sigsetjmp))
+PSEUDO_END (setjmp)
index 081a797933106f44ea5054a50d3a728a9ba94e7a..e82b1c40b22a28eb959264f518d5771f3bfb21ed 100644 (file)
@@ -258,3 +258,4 @@ L8: movl 8(%esp), %eax      /* start address of destination is result */
        popl %edi               /* restore saved register */
 
        ret
+PSEUDO_END (strcat)
index 276563b11ab689e67056c3149d34dcbb7ea924af..1a7ab7a90e9ca2dbc02f8569e69158f46ca5a546 100644 (file)
@@ -1,6 +1,6 @@
 /* strlen(str) -- determine the length of the string STR.
 Optimized for Intel 80x86, x>=4.
-Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>.
 This file is part of the GNU C Library.
 
@@ -130,3 +130,4 @@ L3: testb %cl, %cl          /* is first byte NUL? */
 L2:    subl 4(%esp), %eax      /* compute difference to string start */
 
        ret
+PSEUDO_END (strlen)
index 3a68fa16d1743581c09bdb34f8ac38a0537607cb..0dabad28481d4766468925218b66970f3acc65d8 100644 (file)
@@ -99,3 +99,4 @@ L2:   shrl    $2, %ecx        /* convert byte count to longword count */
        popl    %edi
 
        ret
+PSEUDO_END (memset)
index 100cbbc706341894775292eba214dc44bcaffef4..bc435bfe0a8dedd451f513ce1048eba88c1f70c6 100644 (file)
@@ -325,6 +325,7 @@ L3: xorl %eax, %eax         /* set return value = NULL */
        popl %edi
 
        ret
+PSEUDO_END (strchr)
 
 #undef index
 weak_alias (strchr, index)
index 1e171313896b0c8ab320b4251424b68e99bd08ae..12ea354b227ffcf973ef90d70ff85fd454648789 100644 (file)
@@ -180,3 +180,4 @@ L2: subl 4(%esp), %eax      /* now compute the length as difference
                                   character */
 
        ret
+PSEUDO_END (strlen)
index 9931f97241b4b119126defcc666315ee5d85322c..7d2779b3f2242bbee35eb1a050555bfd9d19cb9c 100644 (file)
@@ -1,7 +1,7 @@
 /* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less
    than N.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -313,3 +313,4 @@ L9: popl %edi               /* pop saved registers */
        popl %esi
 
        ret
+PSEUDO_END (memchr)
index 3917a329d62ad3bb6ccf9d921b80c2cccbc8bd07..4bf9b232e1fe096940a8cb204fddaa618b185da1 100644 (file)
@@ -63,6 +63,7 @@ L1:   popl %esi               /* Restore registers.  */
        movl %edx, %edi
 
        ret
+PSEUDO_END (memcmp)
 
 #undef bcmp
 weak_alias (memcmp, bcmp)
index 498a925b00cc2069557285dddaab14bd8ba3f5d5..e877ae387ef6d7cbb93da7ac07e8d3e5160368b8 100644 (file)
@@ -53,3 +53,4 @@ here: popl %ecx
 #else
        jmp __sigjmp_save
 #endif
+PSEUDO_END (__sigsetjmp)
index f38a9089bc8a41c8ab67c4c57ff79b1c75039460..46f64b59f71f5ea07e3387f5858f419934edad24 100644 (file)
@@ -1,7 +1,7 @@
 /* stpcpy -- copy SRC to DEST returning the address of the terminating '\0'
             in DEST.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper (drepper@gnu.ai.mit.edu).
 This file is part of the GNU C Library.
 
@@ -83,5 +83,6 @@ L4:   incl %eax
 L3:    incl %eax
 L2:
        ret
+PSEUDO_END (__stpcpy)
 
 weak_alias (__stpcpy, stpcpy)
index 59192e66c9c379bf11cd20bc6f9f72e459908fe3..7590e57b0ba36e568208d73781a61b1d9eaa5ab8 100644 (file)
@@ -1,7 +1,7 @@
 /* stpncpy -- copy no more then N bytes from SRC to DEST, returning the
              address of the terminating '\0' in DEST.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
   - original wrote n+1 chars in some cases.
@@ -139,5 +139,6 @@ L3: decl %ecx               /* all bytes written? */
 L9:    popl %esi               /* restore saved register content */
 
        ret
+PSEUDO_END (__stpncpy)
 
 weak_alias (__stpncpy, stpncpy)
index de947cd25208373a3f19e5ffa3dd5515c41e922d..50c3d7bcede00efd4275aa57f05e781e411bdb58 100644 (file)
@@ -1,6 +1,6 @@
 /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -274,5 +274,6 @@ L7: testb %cl, %cl          /* is first byte C? */
 L6:    popl %edi               /* restore saved register content */
 
        ret
+PSEUDO_END (strchr)
 
 weak_alias (strchr, index)
index b0e789b490a9f0e54dae2add0cb99b540b9a695e..1e802251f61a66d7479d5d5393f3d727f75ed4f9 100644 (file)
@@ -1,7 +1,7 @@
 /* strcspn (str, ss) -- Return the length of the initial segement of STR
                        which contains no characters from SS.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -174,3 +174,4 @@ L4: subl %edx, %eax         /* we have to return the number of valid
        addl $256, %esp         /* remove stopset */
 
        ret
+PSEUDO_END (strcspn)
index 245bf1a9350791a12406bb6a66c1585bca019deb..41769b0c69a6fd340134a9f688ca1e96d967687c 100644 (file)
@@ -1,7 +1,7 @@
 /* strcspn (str, ss) -- Return the length of the initial segement of STR
                        which contains no characters from SS.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -175,3 +175,4 @@ L4: addl $256, %esp         /* remove stopset */
        xorl %eax, %eax         /* return NULL */
 
 L7:    ret
+PSEUDO_END (strpbrk)
index 58058e1195e58d208aee5cf36671ed26d6431d24..8cad7e5b5dd60057fe6f1ffd9d843c90939ade1a 100644 (file)
@@ -321,5 +321,6 @@ L2: popl %esi               /* restore saved register content */
        popl %edi
 
        ret
+PSEUDO_END (strrchr)
 
 weak_alias (strrchr, rindex)
index 1a02026285adcd05f9d2c92e76caf24a775f76e6..fbba811c550a041b7c84ed70b10d8d1760ed9052 100644 (file)
@@ -1,7 +1,7 @@
 /* strcspn (str, ss) -- Return the length of the initial segement of STR
                        which contains only characters from SS.
 For Intel 80x86, x>=3.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -174,3 +174,4 @@ L4: subl %edx, %eax         /* we have to return the number of valid
        addl $256, %esp         /* remove stopset */
 
        ret
+PSEUDO_END (strspn)
index c38ebf90a26036f8d85554de49118425f34c795e..a510e189554cb52c087eba3e1d66207de1696bf5 100644 (file)
@@ -282,3 +282,4 @@ LreturnNULL:
 # endif
 #endif
        ret
+PSEUDO_END (FUNCTION)
index 9c312b0d0cbc0f71a0b416bf4360778846f05213..9d2134242300cef1c20de001479670abfed6951a 100644 (file)
@@ -29,6 +29,7 @@ Cambridge, MA 02139, USA.  */
 #define ALIGNARG(log2) 1<<log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
 #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
+#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
 
 /* In ELF C symbols are asm symbols.  */
 #undef NO_UNDERSCORES
@@ -37,7 +38,8 @@ Cambridge, MA 02139, USA.  */
 #else
 
 #define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified.  */
+#define ASM_TYPE_DIRECTIVE(name,type)  /* Nothing is specified.  */
+#define ASM_SIZE_DIRECTIVE(name)       /* Nothing is specified.  */
 
 #endif
 
@@ -76,6 +78,10 @@ lose: SYSCALL_PIC_SETUP                                                            \
   DO_CALL (syscall_name, args);                                                      \
   jb lose
 
+#undef PSEUDO_END
+#define        PSEUDO_END(name)                                                      \
+  ASM_SIZE_DIRECTIVE(name)
+
 #ifdef PIC
 #define JUMPTARGET(name)       name##@PLT
 #define SYSCALL_PIC_SETUP \
index 6ec778536312fd16cc7fc55cf004caa0d5179999..c9fa81006c403631d5f76ff2adfba11cd3b987bb 100644 (file)
@@ -12,9 +12,10 @@ ENTRY(__ieee754_acos)
        fldl    4(%esp)                 /* x */
        fst     %st(1)
        fmul    %st(0)                  /* x^2 */
-       fld1                            
+       fld1
        fsubp                           /* 1 - x^2 */
        fsqrt                           /* sqrt (1 - x^2) */
        fxch    %st(1)
        fpatan
        ret
+PSEUDO_END (__ieee754_acos)
index 3779fa7861e247721be365fca093ebd90f6f8985..4cc56c0bb84cb053ccfbd842ce33aed899a8da7a 100644 (file)
@@ -9,7 +9,7 @@
 
 
 /* acosl = atanl (sqrtl(1 - x^2) / x) */
-ENTRY(__ieee754_acos)
+ENTRY(__ieee754_acosl)
        fldt    4(%esp)                 /* x */
        fst     %st(1)
        fmul    %st(0)                  /* x^2 */
@@ -19,3 +19,4 @@ ENTRY(__ieee754_acos)
        fxch    %st(1)
        fpatan
        ret
+PSEUDO_END (__ieee754_acosl)
index dfcd7bce95cb6a001a4ad580a9b0c24e9ca9e8d7..cba41935d53ecb1f183abe1ebeea95fbe16d353d 100644 (file)
@@ -17,3 +17,4 @@ ENTRY(__ieee754_asin)
        fsqrt                           /* sqrt (1 - x^2) */
        fpatan
        ret
+PSEUDO_END (__ieee754_asin)
index 7a90c3e63ad37fd197b411fe979005184b928952..d4e254874eb612e0cc29f6b0c30e121eba29fd81 100644 (file)
@@ -19,3 +19,4 @@ ENTRY(__ieee754_asinl)
        fsqrt                           /* sqrt (1 - x^2) */
        fpatan
        ret
+PSEUDO_END (__ieee754_asinl)
index da2e11925c6b81423b88243b0de402ba789d4f36..6f7fc74b65b1f635e1c948c409426435f405f408 100644 (file)
@@ -12,3 +12,4 @@ ENTRY(__ieee754_atan2)
        fldl    12(%esp)
        fpatan
        ret
+PSEUDO_END (__ieee754_atan2)
index 21fc0d9a574717d1a226f34f804177c7458ee3f4..bb6d90217291e52a8db2ac1f58d89ae1b1d341c6 100644 (file)
@@ -12,3 +12,4 @@ ENTRY(__ieee754_atan2f)
        flds    8(%esp)
        fpatan
        ret
+PSEUDO_END (__ieee754_atan2f)
index 748571e38ec5bf3c668a34b6ec5f5400b961201e..860885ced1e7b2548832fe2bb75e5719423fbc37 100644 (file)
@@ -14,3 +14,4 @@ ENTRY(__ieee754_atan2l)
        fldt    16(%esp)
        fpatan
        ret
+PSEUDO_END (__ieee754_atan2l)
index 144748e82038144237471d584d176288d8c354d7..dad201fb3fdbeb297c69b2fcaaac6f5cf3cff9ab 100644 (file)
@@ -12,6 +12,7 @@ ENTRY(__ieee754_exp)
        fldl    4(%esp)
 /* I added the following ugly construct because exp(+-Inf) resulted
    in NaN.  The ugliness results from the bright minds at Intel.
+   For the i686 the code can be written better.
    -- drepper@cygnus.com.  */
        fxam                            /* Is NaN or +-Inf?  */
        fstsw   %ax
@@ -36,3 +37,4 @@ ENTRY(__ieee754_exp)
        jz      .LpInf                  /* If positive, jump.  */
        fldz                            /* Set result to 0.  */
 .LpInf:        ret
+PSEUDO_END (__ieee754_exp)
index d14089828dde2883864998a3d13338157f40eeb0..2884efa6ce116e2b8abbd007276f97bced79e702 100644 (file)
@@ -14,6 +14,7 @@ ENTRY(__ieee754_expl)
        fldt    4(%esp)
 /* I added the following ugly construct because expl(+-Inf) resulted
    in NaN.  The ugliness results from the bright minds at Intel.
+   For the i686 the code can be written better.
    -- drepper@cygnus.com.  */
        fxam                            /* Is NaN or +-Inf?  */
        fstsw   %ax
@@ -38,3 +39,4 @@ ENTRY(__ieee754_expl)
        jz      .LpInf                  /* If positive, jump.  */
        fldz                            /* Set result to 0.  */
 .LpInf:        ret
+PSEUDO_END (__ieee754_expl)
index c02df44e18bde8667d5e6be33b0873849412dea2..c4d7535a7cd4caf5930fed9f5ed88a4482132bf8 100644 (file)
@@ -16,3 +16,4 @@ ENTRY(__ieee754_fmod)
        jp      1b
        fstpl   %st(1)
        ret
+PSEUDO_END (__ieee754_fmod)
index 75ed17b9e5385fb9bc81a00cea52fa5652ed0de8..8c2bd06b0a3b0717c7bece913baa53a010029246 100644 (file)
@@ -18,3 +18,4 @@ ENTRY(__ieee754_fmodl)
        jp      1b
        fstpl   %st(1)
        ret
+PSEUDO_END (__ieee754_fmodl)
index 98d569ea43a7fcea78651f987bf6db007e64168f..2a51d7520c2a8f3f6c7e4ba32c8bf284019ddd89 100644 (file)
@@ -12,3 +12,4 @@ ENTRY(__ieee754_log)
        fldl    4(%esp)
        fyl2x
        ret
+PSEUDO_END (__ieee754_log)
index 612344be56a74d5c58a8e37be742c19a5bce319a..17b3067de5518c0a126100a69eeea20a311da1f0 100644 (file)
@@ -12,3 +12,4 @@ ENTRY(__ieee754_log10)
        fldl    4(%esp)
        fyl2x
        ret
+PSEUDO_END (__ieee754_log10)
index 0a19256933dd9824ab95d25683a6233da4ffe5fd..cfddb5ce2a460418220c907564feb2394b81c395 100644 (file)
@@ -14,3 +14,4 @@ ENTRY(__ieee754_log10l)
        fldt    4(%esp)
        fyl2x
        ret
+PSEUDO_END(__ieee754_log10l)
index 2575d6c6e88451da3310a5976c5de259aa55ebae..4c1550e929100bc439dd55b8608ed91f169c82b0 100644 (file)
@@ -14,3 +14,4 @@ ENTRY(__ieee754_logl)
        fldt    4(%esp)
        fyl2x
        ret
+PSEUDO_END(__ieee754_logl)
index d14f2e82bd6d4cd7ded8716d999fdc260abecb9e..287b616ff736c364032e728179bb9a61ab229614 100644 (file)
@@ -16,3 +16,4 @@ ENTRY(__ieee754_remainder)
        jp      1b
        fstpl   %st(1)
        ret
+PSEUDO_END (__ieee754_remainder)
index ed578ea542bce0f6ea50390d85f0bb9654578465..cdc1ac8b6f3b57abb14b07e70659e1a63e8629cb 100644 (file)
@@ -16,3 +16,4 @@ ENTRY(__ieee754_remainderf)
        jp      1b
        fstpl   %st(1)
        ret
+PSEUDO_END (__ieee754_remainderf)
index ce985151678c70487f553451250ce5204934b2a2..2c32550708d128c9c4137cef0ecff9f22dd90b2c 100644 (file)
@@ -17,3 +17,4 @@ ENTRY(__ieee754_remainderl)
        sahf
        jp      1b
        ret
+PSEUDO_END (__ieee754_remainderl)
index 7d95f8e3b30a2b2cea64ebcd0cdb965a86cfd90b..0aed96d1c5e6ed71691268b3d2367bde1fe61254 100644 (file)
@@ -12,3 +12,4 @@ ENTRY(__ieee754_scalb)
        fldl    4(%esp)
        fscale
        ret
+PSEUDO_END(__ieee754_scalb)
index 8d5cd3b429ad6f8e572b40065aba0ab288aeacab..40d6ff028f94706861c94470530c14dee0bae74e 100644 (file)
@@ -14,3 +14,4 @@ ENTRY(__ieee754_scalbl)
        fldt    4(%esp)
        fscale
        ret
+PSEUDO_END(__ieee754_scalbl)
index 34fe9b71362587f92e143248bc59e94d3a93fc0f..170363fa87822563bcc8444e5c411cd633becda1 100644 (file)
@@ -11,3 +11,4 @@ ENTRY(__ieee754_sqrt)
        fldl    4(%esp)
        fsqrt
        ret
+PSEUDO_END (__ieee754_sqrt)
index d20c4c1254a608a61c2ea1619a48ccbc7b308522..f13c129aa0e418751dbf7520f4188b23f01b6d13 100644 (file)
@@ -11,3 +11,4 @@ ENTRY(__ieee754_sqrtf)
        flds    4(%esp)
        fsqrt
        ret
+PSEUDO_END (__ieee754_sqrtf)
index 88e5f82a0cf29acef4c947e02258b11523b349f9..56947e16f881dcad325dc4f7d22dfa6b1ec30d33 100644 (file)
@@ -13,3 +13,4 @@ ENTRY(__ieee754_sqrtl)
        fldt    4(%esp)
        fsqrt
        ret
+PSEUDO_END (__ieee754_sqrtl)
index 4dcd54fdafa63b4271dbbe49abe3c66dc13cd54e..f670031877634e379cd16ff70c0ea9f377e53275 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__atan)
        fld1
        fpatan
        ret
+PSEUDO_END (__atan)
 weak_alias (__atan, atan)
index d00593db7c15654ae4c856dfabfde142c51a41de..803b7f972d9450fc943c4fa87d36dfbf54794b73 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__atanf)
        fld1
        fpatan
        ret
+PSEUDO_END (__atanf)
 weak_alias (__atanf, atanf)
index 867e60b1c22d52766cbfb81fb348a07eb2de8a31..59f139005ae2bedc99b22cc81daddeda41355813 100644 (file)
@@ -14,4 +14,5 @@ ENTRY(__atanl)
        fld1
        fpatan
        ret
+PSEUDO_END (__atanl)
 weak_alias (__atanl, atanl)
index eabe662a6c2a501f863866cb781e1ccbb014a781..a500b07d31b14f7d145d6be58c1028e83b57fd1d 100644 (file)
@@ -13,10 +13,14 @@ ENTRY(__ceil)
        subl    $8,%esp
 
        fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
+
+       /* We use here %edx although only the low 1 bits are defined.
+          But none of the operations should care and they are faster
+          than the 16 bit operations.  */
+       movl    -4(%ebp),%edx
+       orl     $0x0800,%edx            /* round towards +oo */
+       andl    $0xfbff,%edx
+       movl    %edx,-8(%ebp)
        fldcw   -8(%ebp)                /* load modfied control word */
 
        fldl    8(%ebp);                /* round */
@@ -26,4 +30,5 @@ ENTRY(__ceil)
 
        leave
        ret
+PSEUDO_END (__ceil)
 weak_alias (__ceil, ceil)
index c2163abef1dce9dea5c0cd4bc63be533aba8976e..4789b014d8a311ad53414d4c130a38baa9bfc666 100644 (file)
@@ -13,10 +13,14 @@ ENTRY(__ceilf)
        subl    $8,%esp
 
        fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
+
+       /* We use here %edx although only the low 1 bits are defined.
+          But none of the operations should care and they are faster
+          than the 16 bit operations.  */
+       movl    -4(%ebp),%edx
+       orl     $0x0800,%edx            /* round towards +oo */
+       andl    $0xfbff,%edx
+       movl    %edx,-8(%ebp)
        fldcw   -8(%ebp)                /* load modfied control word */
 
        flds    8(%ebp);                /* round */
@@ -26,4 +30,5 @@ ENTRY(__ceilf)
 
        leave
        ret
+PSEUDO_END (__ceilf)
 weak_alias (__ceilf, ceilf)
index fd7bd387529852d3205fc69909469b5409f7883c..a02a54768d1679dc11e2622e527e13cc2f2eb0da 100644 (file)
@@ -14,10 +14,14 @@ ENTRY(__ceill)
        subl    $8,%esp
 
        fstcw   -4(%ebp)                /* store fpu control word */
-       movw    -4(%ebp),%dx
-       orw     $0x0800,%dx             /* round towards +oo */
-       andw    $0xfbff,%dx
-       movw    %dx,-8(%ebp)
+
+       /* We use here %edx although only the low 1 bits are defined.
+          But none of the operations should care and they are faster
+          than the 16 bit operations.  */
+       movl    -4(%ebp),%edx
+       orl     $0x0800,%edx            /* round towards +oo */
+       andl    $0xfbff,%edx
+       movl    %edx,-8(%ebp)
        fldcw   -8(%ebp)                /* load modfied control word */
 
        fldt    8(%ebp);                /* round */
@@ -27,4 +31,5 @@ ENTRY(__ceill)
 
        leave
        ret
+PSEUDO_END (__ceill)
 weak_alias (__ceill, ceill)
index 0de3affa46ca821d0b3658bff591fa220ed8e002..45b86f58c89c272e91d25d456034a62627dca032 100644 (file)
@@ -9,11 +9,12 @@ RCSID("$NetBSD: s_copysign.S,v 1.4 1995/05/08 23:53:02 jtc Exp $")
 
 ENTRY(__copysign)
        movl    16(%esp),%edx
-       andl    $0x80000000,%edx
        movl    8(%esp),%eax
+       andl    $0x80000000,%edx
        andl    $0x7fffffff,%eax
        orl     %edx,%eax
        movl    %eax,8(%esp)
        fldl    4(%esp)
        ret
+PSEUDO_END (__copysign)
 weak_alias (__copysign, copysign)
index a55cd374445c0623de285be31496462067d0acf8..4844a2b879a61ab0e6272880316986594d367175 100644 (file)
@@ -9,11 +9,12 @@ RCSID("$NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $")
 
 ENTRY(__copysignf)
        movl    8(%esp),%edx
-       andl    $0x80000000,%edx
        movl    4(%esp),%eax
+       andl    $0x80000000,%edx
        andl    $0x7fffffff,%eax
        orl     %edx,%eax
        movl    %eax,4(%esp)
        flds    4(%esp)
        ret
+PSEUDO_END (__copysignf)
 weak_alias (__copysignf, copysignf)
index f65f6842ea376b93223afd050d805f05cd3d53d2..37e34fe1b41f2d28558f154119c1e728232fa1dc 100644 (file)
@@ -15,6 +15,7 @@ ENTRY(__copysignl)
        andl    $0x7fff,%eax
        orl     %edx,%eax
        movl    %eax,12(%esp)
-       fldl    4(%esp)
+       fldt    4(%esp)
        ret
+PSEUDO_END (__copysignl)
 weak_alias (__copysignl, copysignl)
index 0ccf8bc6e6fd7c5e8103d1d54dd697130dfa1d56..6b47e80d2e5a59690beae18e67e24f180563723c 100644 (file)
@@ -13,7 +13,7 @@ ENTRY(__cos)
        fnstsw  %ax
        andw    $0x400,%ax
        jnz     1f
-       ret     
+       ret
 1:     fldpi
        fadd    %st(0)
        fxch    %st(1)
@@ -24,4 +24,5 @@ ENTRY(__cos)
        fstp    %st(1)
        fcos
        ret
+PSEUDO_END (__cos)
 weak_alias (__cos, cos)
index a200e04fbe8bcb9bd1866060148ac93be1e39bf4..a2bd0e5fa92765abdc07b1be1ec4efc3f561822e 100644 (file)
@@ -11,5 +11,6 @@ RCSID("$NetBSD: s_cosf.S,v 1.3 1995/05/08 23:55:16 jtc Exp $")
 ENTRY(__cosf)
        flds    4(%esp)
        fcos
-       ret     
+       ret
+PSEUDO_END (__cosf)
 weak_alias (__cosf, cosf)
index e2c22428b271a4a584551272aac84eeaeb6a6669..2ddb549b7701266abc775be214ec6be855afceac 100644 (file)
@@ -26,4 +26,5 @@ ENTRY(__cosl)
        fstp    %st(1)
        fcos
        ret
+PSEUDO_END (__cosl)
 weak_alias (__cosl, cosl)
index 233155e4d63f877512b7f3885a48f5bda98eea37..538fec94e15cbac569246f9cfd0c1adf2d7a55c2 100644 (file)
@@ -14,4 +14,5 @@ ENTRY(__finite)
        setne   %al
        andl    $0x000000ff, %eax
        ret
+PSEUDO_END (__finite)
 weak_alias (__finite, finite)
index 28a0a4030816b4928d1d2df5b350682f380ec3b3..cb0caabf6f639bb20ebf71a4aa8df35a0c860c44 100644 (file)
@@ -14,4 +14,5 @@ ENTRY(__finitef)
        setne   %al
        andl    $0x000000ff, %eax
        ret
+PSEUDO_END (__finitef)
 weak_alias (__finitef, finitef)
index d163965c0d554e37d022977961d65833d371faaa..7af80475ae05053a8096f3a21e1b65fe78df02fd 100644 (file)
@@ -16,4 +16,5 @@ ENTRY(__finitel)
        setne   %al
        andl    $0x000000ff, %eax
        ret
+PSEUDO_END (__finitel)
 weak_alias (__finitel, finitel)
index 66e688f7f78ff48a187fb4db645f6443febe89ae..7599303f3d7f6ea1a29724383ca14c2a0493202e 100644 (file)
@@ -26,4 +26,5 @@ ENTRY(__floor)
 
        leave
        ret
+PSEUDO_END (__floor)
 weak_alias (__floor, floor)
index 4b10f74e4f185157d36ab5c53e83e75faaf00ea1..c45d82e3022dd1c55a012844755ffb5d6f47bf4d 100644 (file)
@@ -26,4 +26,5 @@ ENTRY(__floorf)
 
        leave
        ret
+PSEUDO_END (__floorf)
 weak_alias (__floorf, floorf)
index af52ffcacfad59bb58bfcd558b882702654d04ad..ae4ba2ea4da703dc5f62357e0f8d499d5358845e 100644 (file)
@@ -27,4 +27,5 @@ ENTRY(__floorl)
 
        leave
        ret
+PSEUDO_END (__floorl)
 weak_alias (__floorl, floorl)
index f11ed585c018b0a9dbadd2fefbabf2526513eead..6fb51d913f2cbc5b55492b2b4c0406828a6cdb9e 100644 (file)
@@ -21,4 +21,5 @@ ENTRY(__ilogb)
 
        leave
        ret
+PSEUDO_END (__ilogb)
 weak_alias (__ilogb, ilogb)
index 5a61d286308c87852046cad8ff097882f730b2ad..71e4f42c9aaaed5cc07ad133ec52c3016083c743 100644 (file)
@@ -21,4 +21,5 @@ ENTRY(__ilogbf)
 
        leave
        ret
+PSEUDO_END (__ilogbf)
 weak_alias (__ilogbf, ilogbf)
index 11c81011c68038c091d743986fb808ad9c09643e..2b841463df58784a562befc78e21a263990a129a 100644 (file)
@@ -21,4 +21,5 @@ ENTRY(__ilogbl)
 
        leave
        ret
+PSEUDO_END (__ilogbl)
 weak_alias (__ilogbl, ilogbl)
index c4aee4aa9cb5c89e16649d6dbdca710fa7d936ef..ce8665d3a5c966a42abd0b446a79b1b7f7ad8597 100644 (file)
@@ -10,7 +10,7 @@ RCSID("$NetBSD: s_log1p.S,v 1.7 1995/05/09 00:10:58 jtc Exp $")
 /*
  * Since the fyl2xp1 instruction has such a limited range:
  *     -(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
- * it's not worth trying to use it.  
+ * it's not worth trying to use it.
  */
 
 ENTRY(__log1p)
@@ -20,4 +20,5 @@ ENTRY(__log1p)
        faddp
        fyl2x
        ret
+PSEUDO_END (__log1p)
 weak_alias (__log1p, log1p)
index e268550ae8d5dcb3fee7a6aac62481f649b76f7e..7a161f26f95763efbb4664b560e952d20a8d9cd5 100644 (file)
@@ -10,7 +10,7 @@ RCSID("$NetBSD: s_log1pf.S,v 1.4 1995/05/09 00:13:05 jtc Exp $")
 /*
  * Since the fyl2xp1 instruction has such a limited range:
  *     -(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
- * it's not worth trying to use it.  
+ * it's not worth trying to use it.
  */
 
 ENTRY(__log1pf)
@@ -20,4 +20,5 @@ ENTRY(__log1pf)
        faddp
        fyl2x
        ret
+PSEUDO_END (__log1pf)
 weak_alias (__log1pf, log1pf)
index 4a9faf7ba4ceb9d757e68a753e38f595e7a27981..647e136413734908e481c5d1df5bfaa70e19636b 100644 (file)
@@ -22,4 +22,5 @@ ENTRY(__log1pl)
        faddp
        fyl2x
        ret
+PSEUDO_END (__log1pl)
 weak_alias (__log1pl, log1pl)
index 4f071e05520fcd3ed3aaf85f982b9f4cbbf4f85d..92d8fee85c5f4971d4e797aed13eed555cab648e 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__logb)
        fxtract
        fstpl   %st
        ret
+PSEUDO_END (__logb)
 weak_alias (__logb, logb)
index ecdd0aea6f52ec79f16c0d35e88aab7c68355cb9..b557974a823d6d932abee9c26066286388b99952 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__logbf)
        fxtract
        fstpl   %st
        ret
+PSEUDO_END (__logbf)
 weak_alias (__logbf, logbf)
index e72b1fb941f3cd8949784c9a34d215f643871fd8..91bddb6b3af229550123b95514f01131ae19b382 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__logbl)
        fldt    4(%esp)
        fxtract
        ret
+PSEUDO_END (__logbl)
 weak_alias (__logbl, logbl)
index 2f09a47b00dd08a7f797b3dc0de96ac1604ac567..9231fef32d38001d886dd75bd09036ac8450f200 100644 (file)
@@ -11,4 +11,5 @@ ENTRY(__rint)
        fldl    4(%esp)
        frndint
        ret
+PSEUDO_END (__rint)
 weak_alias (__rint, rint)
index de64d7996a3a82cc1f67935be713481f5587d4f9..3e35f2c822bcf5bddd2e459d0969ff8812367366 100644 (file)
@@ -11,4 +11,5 @@ ENTRY(__rintf)
        flds    4(%esp)
        frndint
        ret
+PSEUDO_END (__rintf)
 weak_alias (__rintf, rintf)
index aec09a6ec4e07d9451378e74d5cd4b87af2dd846..a8198d3d7f27f69192749406954795c6fa31acc1 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__rintl)
        fldt    4(%esp)
        frndint
        ret
+PSEUDO_END (__rintl)
 weak_alias (__rintl, rintl)
index 99ecac63b55ae665d0ccb1664d68ac13496a8620..4a4149500c939e9f209571e9e78eaee75f89bffc 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__scalbn)
        fldl    4(%esp)
        fscale
        ret
+PSEUDO_END (__scalbn)
 weak_alias (__scalbn, scalbn)
index 0203e91c55ed6fd8fb8f59bd0b0bd352b64af865..080304d574a441796e81df7f6a5297d8d8231dda 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__scalbnf)
        flds    4(%esp)
        fscale
        ret
+PSEUDO_END (__scalbnf)
 weak_alias (__scalbnf, scalbnf)
index b5fdf820d39175c0a42efac5f91863a160ccfa6c..adf1dea604335b199a77757e538e3e122d204619 100644 (file)
@@ -13,4 +13,5 @@ ENTRY(__scalbnl)
        fldt    4(%esp)
        fscale
        ret
+PSEUDO_END (__scalbnl)
 weak_alias (__scalbnl, scalbnl)
index 09f3a0a9f463cebff6b22a7e5935ab08fbdbe5b8..ff72b88560f672c4c949321767fcaef6f7b80a9d 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__significand)
        fxtract
        fstpl   %st(1)
        ret
+PSEUDO_END (__significand)
 weak_alias (__significand, significand)
index b678bc524cc0e06187c09a06681634bcfa5e344c..af92886501cae3e866aa603cacac4943b05abfc5 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__significandf)
        fxtract
        fstpl   %st(1)
        ret
+PSEUDO_END (__significandf)
 weak_alias (__significandf, significandf)
index e512f54fb29310ddd565152cbcbe18086e32b1c9..1483a0dec2bb324f3baa0bbd4c1d52ee2150fc28 100644 (file)
@@ -11,6 +11,7 @@ RCSID("$NetBSD: $")
 ENTRY(__significandl)
        fldt    4(%esp)
        fxtract
-       fstpt   %st(1)
+       fincstp
        ret
+PSEUDO_END (__significandl)
 weak_alias (__significandl, significandl)
index 79284959a18309291f0df171b59cc07ec06372c9..f06c9440adcaf42c6b47e140b68ca83382e2a57e 100644 (file)
@@ -24,4 +24,5 @@ ENTRY(__sin)
        fstp    %st(1)
        fsin
        ret
+PSEUDO_END (__sin)
 weak_alias (__sin, sin)
index 03a42cbb26d898f9203a6cc28185702685df9b2b..464ccb2b8ab4b18ee16a47c9703500d88353c3b5 100644 (file)
@@ -12,4 +12,5 @@ ENTRY(__sinf)
        flds    4(%esp)
        fsin
        ret
+PSEUDO_END (__sinf)
 weak_alias (__sinf, sinf)
index 03c9c874b933b227ad02ad0b417fdc6e87efb741..2872334881722674a02c0622d7355701e79101df 100644 (file)
@@ -26,4 +26,5 @@ ENTRY(__sinl)
        fstp    %st(1)
        fsin
        ret
+PSEUDO_END (__sinl)
 weak_alias (__sinl, sinl)
index 9474c8cfc20f2b847274d369e488f6e450db3998..93336718733b1b081fe4f8174fca058d2566b312 100644 (file)
@@ -26,4 +26,5 @@ ENTRY(__tan)
        fptan
        fstp    %st(0)
        ret
+PSEUDO_END (__tan)
 weak_alias (__tan, tan)
index 32964341745fb92899c9f0ab959c048171ac5626..cbf8dd8496f291e7c5016e957bcd0a64c814c11f 100644 (file)
@@ -13,4 +13,5 @@ ENTRY(__tanf)
        fptan
        fstp    %st(0)
        ret
+PSEUDO_END (__tanf)
 weak_alias (__tanf, tanf)
index 6b1532af9e59573dd0d746d316ae38dcda2145b9..c818e96f8861c226081817e1e7fa80fe19da2268 100644 (file)
@@ -28,4 +28,5 @@ ENTRY(__tanl)
        fptan
        fstp    %st(0)
        ret
+PSEUDO_END (__tanl)
 weak_alias (__tanl, tanl)
index d74db481d0d23bdeb3422003f3e668b0a7b041dd..0e6dadd602715a9c6fdea350fce534f13790fc4e 100644 (file)
@@ -40,9 +40,9 @@ static char rcsid[] = "$NetBSD: $";
 #include "math_private.h"
 
 #ifdef __STDC__
-static const long double one = 1.0, huge = 1e16380;
+static const long double one = 1.0, huge = 1e4900L;
 #else
-static long double one = 1.0, huge = 1e16380;
+static long double one = 1.0, huge = 1e4900L;
 #endif
 
 #ifdef __STDC__
@@ -61,7 +61,7 @@ static double long zero = 0.0;
        long double t;
        int32_t ix;
        u_int32_t se,i0,i1;
-       EXTRACT_LDOUBLE_WORDS(se,i0,i1,x);
+       GET_LDOUBLE_WORDS(se,i0,i1,x);
        ix = se&0x7fff;
        if ((ix+((((i0&0x7fffffff)|i1)|(-((i0&0x7fffffff)|i1)))>>31))>0x3fff)
          /* |x|>1 */
diff --git a/sysdeps/libm-ieee754/e_coshl.c b/sysdeps/libm-ieee754/e_coshl.c
new file mode 100644 (file)
index 0000000..6af846c
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#if defined(LIBM_SCCS) && !defined(lint)
+static char rcsid[] = "$NetBSD: e_cosh.c,v 1.7 1995/05/10 20:44:58 jtc Exp $";
+#endif
+
+/* __ieee754_coshl(x)
+ * Method :
+ * mathematically coshl(x) if defined to be (exp(x)+exp(-x))/2
+ *     1. Replace x by |x| (coshl(x) = coshl(-x)).
+ *     2.
+ *                                                     [ exp(x) - 1 ]^2
+ *         0        <= x <= ln2/2  :  coshl(x) := 1 + -------------------
+ *                                                        2*exp(x)
+ *
+ *                                                exp(x) +  1/exp(x)
+ *         ln2/2    <= x <= 22     :  coshl(x) := -------------------
+ *                                                        2
+ *         22       <= x <= lnovft :  coshl(x) := expl(x)/2
+ *         lnovft   <= x <= ln2ovft:  coshl(x) := expl(x/2)/2 * expl(x/2)
+ *         ln2ovft  <  x           :  coshl(x) := huge*huge (overflow)
+ *
+ * Special cases:
+ *     coshl(x) is |x| if x is +INF, -INF, or NaN.
+ *     only coshl(0)=1 is exact for finite x.
+ */
+
+#include "math.h"
+#include "math_private.h"
+
+#ifdef __STDC__
+static const long double one = 1.0, half=0.5, huge = 1.0e4900L;
+#else
+static long double one = 1.0, half=0.5, huge = 1.0e4900L;
+#endif
+
+#ifdef __STDC__
+       long double __ieee754_coshl(long double x)
+#else
+       long double __ieee754_coshl(x)
+       long double x;
+#endif
+{
+       long double t,w;
+       int32_t ex;
+       u_int32_t mx,lx;
+
+    /* High word of |x|. */
+       GET_LDOUBLE_WORDS(ex,mx,lx,x);
+       ex &= 0x7fff;
+
+    /* x is INF or NaN */
+       if(ex==0x7fff) return x*x;
+
+    /* |x| in [0,0.5*ln2], return 1+expm1l(|x|)^2/(2*expl(|x|)) */
+       if(ex < 0x3ffd || (ex == 0x3ffd && mx < 0xb17217f7u)) {
+           t = __expm1l(fabsl(x));
+           w = one+t;
+           if (ex<0x3fbc) return w;    /* cosh(tiny) = 1 */
+           return one+(t*t)/(w+w);
+       }
+
+    /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
+       if (ex < 0x4003 || (ex == 0x4003 && mx < 0xb0000000u)) {
+               t = __ieee754_expl(fabsl(x));
+               return half*t+half/t;
+       }
+
+    /* |x| in [22, ln(maxdouble)] return half*exp(|x|) */
+       if (ex < 0x400c || (ex == 0x400c && mx < 0xb1700000u))
+               return half*__ieee754_expl(fabsl(x));
+
+    /* |x| in [log(maxdouble), overflowthresold] */
+       if (ex < 0x400d
+           || (ex == 0x400d && (mx < 0xb170b513u
+                                 || (mx == 0xb170b513u && lx < 0xa1dfd60cu))))
+       {
+           w = __ieee754_expl(half*fabsl(x));
+           t = half*w;
+           return t*w;
+       }
+
+    /* |x| > overflowthresold, cosh(x) overflow */
+       return huge*huge;
+}
index bb3c495dfcc9577ffec4dba57477f63198adae18..985cfe32e1126054de1830ab940ab930b049ea1d 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -16,7 +16,7 @@ static char rcsid[] = "$NetBSD: s_asinh.c,v 1.9 1995/05/12 04:57:37 jtc Exp $";
 
 /* asinh(x)
  * Method :
- *     Based
+ *     Based on
  *             asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
  *     we have
  *     asinh(x) := x  if  1+x*x=1,
index 823288a1a0c95db66a35feae840d691d839f43e5..865bc31052effe6605f85bcbb53885d823cf6fe3 100644 (file)
@@ -39,7 +39,7 @@ static long double
 #endif
 one =  1.000000000000000000000e+00L, /* 0x3FFF, 0x00000000, 0x00000000 */
 ln2 =  6.931471805599453094287e-01L, /* 0x3FFE, 0xB17217F7, 0xD1CF79AC */
-huge=  1.000000000000000000e+16380L;
+huge=  1.000000000000000000e+4900L;
 
 #ifdef __STDC__
        long double __asinhl(long double x)
index 2f3c545a33b2841c8c27e67a536009ff71d354f4..6657b15cdadc5884a4edf2e6be49b8e510830e6f 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -28,9 +28,9 @@ static char rcsid[] = "$NetBSD: s_atan.c,v 1.8 1995/05/10 20:46:45 jtc Exp $";
  *      [39/16,INF]   atan(x) = atan(INF) + atan( -1/t )
  *
  * Constants:
- * The hexadecimal values are the intended ones for the following 
- * constants. The decimal values may be used, provided that the 
- * compiler will convert from decimal to binary accurately enough 
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
  * to produce the hexadecimal values shown.
  */
 
@@ -78,9 +78,9 @@ static double aT[] = {
 };
 
 #ifdef __STDC__
-       static const double 
+       static const double
 #else
-       static double 
+       static double
 #endif
 one   = 1.0,
 huge   = 1.0e300;
@@ -114,9 +114,9 @@ huge   = 1.0e300;
        x = fabs(x);
        if (ix < 0x3ff30000) {          /* |x| < 1.1875 */
            if (ix < 0x3fe60000) {      /* 7/16 <=|x|<11/16 */
-               id = 0; x = (2.0*x-one)/(2.0+x); 
+               id = 0; x = (2.0*x-one)/(2.0+x);
            } else {                    /* 11/16<=|x|< 19/16 */
-               id = 1; x  = (x-one)/(x+one); 
+               id = 1; x  = (x-one)/(x+one);
            }
        } else {
            if (ix < 0x40038000) {      /* |x| < 2.4375 */
@@ -138,3 +138,7 @@ huge   = 1.0e300;
        }
 }
 weak_alias (__atan, atan)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__atan, __atanl)
+weak_alias (__atan, atanl)
+#endif
index cf72f4c2fa2688ab6a7371c2e6aea2ef7f584f46..24a9c9adbdc4912dfb11350afbd1c623969aa417 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -40,9 +40,9 @@ F =  1.60714285714285720630e+00, /* 45/28     = 0x3FF9B6DB, 0x6DB6DB6E */
 G =  3.57142857142857150787e-01; /* 5/14      = 0x3FD6DB6D, 0xB6DB6DB7 */
 
 #ifdef __STDC__
-       double __cbrt(double x) 
+       double __cbrt(double x)
 #else
-       double __cbrt(x) 
+       double __cbrt(x)
        double x;
 #endif
 {
@@ -56,7 +56,7 @@ G =  3.57142857142857150787e-01; /* 5/14      = 0x3FD6DB6D, 0xB6DB6DB7 */
        hx  ^=sign;
        if(hx>=0x7ff00000) return(x+x); /* cbrt(NaN,INF) is itself */
        GET_LOW_WORD(low,x);
-       if((hx|low)==0) 
+       if((hx|low)==0)
            return(x);          /* cbrt(0) is itself */
 
        SET_HIGH_WORD(x,hx);    /* x <- |x| */
@@ -72,9 +72,9 @@ G =  3.57142857142857150787e-01; /* 5/14      = 0x3FD6DB6D, 0xB6DB6DB7 */
     /* new cbrt to 23 bits, may be implemented in single precision */
        r=t*t/x;
        s=C+r*t;
-       t*=G+F/(s+E+D/s);       
+       t*=G+F/(s+E+D/s);
 
-    /* chopped to 20 bits and make it larger than cbrt(x) */ 
+    /* chopped to 20 bits and make it larger than cbrt(x) */
        GET_HIGH_WORD(high,t);
        INSERT_WORDS(t,high+0x00000001,0);
 
@@ -92,3 +92,7 @@ G =  3.57142857142857150787e-01; /* 5/14      = 0x3FD6DB6D, 0xB6DB6DB7 */
        return(t);
 }
 weak_alias (__cbrt, cbrt)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__cbrt, __cbrtl)
+weak_alias (__cbrt, cbrtl)
+#endif
index 9c878f74bd9ce04881e17de861f24e2f5949cb04..1b352a679e0145806a7931af5f793ecf92c8ce6b 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -46,7 +46,7 @@ static double huge = 1.0e300;
        if(j0<20) {
            if(j0<0) {  /* raise inexact if x != 0 */
                if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
-                   if(i0<0) {i0=0x80000000;i1=0;} 
+                   if(i0<0) {i0=0x80000000;i1=0;}
                    else if((i0|i1)!=0) { i0=0x3ff00000;i1=0;}
                }
            } else {
@@ -65,7 +65,7 @@ static double huge = 1.0e300;
            if((i1&i)==0) return x;     /* x is integral */
            if(huge+x>0.0) {            /* raise inexact flag */
                if(i0>0) {
-                   if(j0==20) i0+=1; 
+                   if(j0==20) i0+=1;
                    else {
                        j = i1 + (1<<(52-j0));
                        if(j<i1) i0+=1; /* got a carry */
@@ -79,3 +79,7 @@ static double huge = 1.0e300;
        return x;
 }
 weak_alias (__ceil, ceil)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__ceil, __ceill)
+weak_alias (__ceil, ceill)
+#endif
index b86ac760130c78a2eb411df0f3dcdb8c4bf2d014..5e35e6943cf38b458b32426ad59c7da79a1bcca6 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -37,3 +37,7 @@ static char rcsid[] = "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $
         return x;
 }
 weak_alias (__copysign, copysign)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__copysign, __copysignl)
+weak_alias (__copysign, copysignl)
+#endif
index 33a7316a02787bb21c39d64dd56c705042175953..7edb5deafec441be787bd5029982903a59a18e15 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $";
  *     __ieee754_rem_pio2      ... argument reduction routine
  *
  * Method.
- *      Let S,C and T denote the sin, cos and tan respectively on 
- *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 
+ *      Let S,C and T denote the sin, cos and tan respectively on
+ *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
  *     in [-pi/4 , +pi/4], and let n = k mod 4.
  *     We have
  *
@@ -42,7 +42,7 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $";
  *      trig(NaN)    is that NaN;
  *
  * Accuracy:
- *     TRIG(x) returns trig(x) nearly rounded 
+ *     TRIG(x) returns trig(x) nearly rounded
  */
 
 #include "math.h"
@@ -81,3 +81,7 @@ static char rcsid[] = "$NetBSD: s_cos.c,v 1.7 1995/05/10 20:47:02 jtc Exp $";
        }
 }
 weak_alias (__cos, cos)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__cos, __cosl)
+weak_alias (__cos, cosl)
+#endif
index d3377a503627b71586745fbbe526ba69a344cdde..022cf11abea2309e43284d2c9f82b8e7535a3a92 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -19,11 +19,11 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
  *                          x
  *                   2      |\
  *     erf(x)  =  ---------  | exp(-t*t)dt
- *                sqrt(pi) \| 
+ *                sqrt(pi) \|
  *                          0
  *
  *     erfc(x) =  1-erf(x)
- *  Note that 
+ *  Note that
  *             erf(-x) = -erf(x)
  *             erfc(-x) = 2 - erfc(x)
  *
@@ -36,7 +36,7 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
  *        Q is an odd poly of degree 10.
  *                                              -57.90
  *                     | R - (erf(x)-x)/x | <= 2
- *     
+ *
  *
  *        Remark. The formula is derived by noting
  *          erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
@@ -59,14 +59,14 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
  *        That is, we use rational approximation to approximate
  *                     erf(1+s) - (c = (single)0.84506291151)
  *        Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
- *        where 
+ *        where
  *             P1(s) = degree 6 poly in s
  *             Q1(s) = degree 6 poly in s
  *
- *      3. For x in [1.25,1/0.35(~2.857143)], 
+ *      3. For x in [1.25,1/0.35(~2.857143)],
  *             erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
  *             erf(x)  = 1 - erfc(x)
- *        where 
+ *        where
  *             R1(z) = degree 7 poly in z, (z=1/x^2)
  *             S1(z) = degree 8 poly in z
  *
@@ -84,7 +84,7 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
  *        To compute exp(-x*x-0.5625+R/S), let s be a single
  *        precision number and s := x; then
  *             -x*x = -s*s + (s-x)*(s+x)
- *             exp(-x*x-0.5626+R/S) = 
+ *             exp(-x*x-0.5626+R/S) =
  *                     exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
  *      Note2:
  *        Here 4 and 5 make use of the asymptotic series
@@ -104,7 +104,7 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $";
  *
  *      7. Special case:
  *             erf(0)  = 0, erf(inf)  = 1, erf(-inf) = -1,
- *             erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2, 
+ *             erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
  *             erfc/erf(NaN) is NaN
  */
 
@@ -139,7 +139,7 @@ qq3  =  5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
 qq4  =  1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
 qq5  = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
 /*
- * Coefficients for approximation to  erf  in [0.84375,1.25] 
+ * Coefficients for approximation to  erf  in [0.84375,1.25]
  */
 pa0  = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
 pa1  =  4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
@@ -209,7 +209,7 @@ sb7  = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
 
        if(ix < 0x3feb0000) {           /* |x|<0.84375 */
            if(ix < 0x3e300000) {       /* |x|<2**-28 */
-               if (ix < 0x00800000) 
+               if (ix < 0x00800000)
                    return 0.125*(8.0*x+efx8*x);  /*avoid underflow */
                return x + efx*x;
            }
@@ -241,7 +241,7 @@ sb7  = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
            S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
                                sb5+s*(sb6+s*sb7))))));
        }
-       z  = x;  
+       z  = x;
        SET_LOW_WORD(z,0);
        r  =  __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
        if(hx>=0) return one-r/x; else return  r/x-one;
@@ -284,7 +284,7 @@ weak_alias (__erf, erf)
            P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
            Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
            if(hx>=0) {
-               z  = one-erx; return z - P/Q; 
+               z  = one-erx; return z - P/Q;
            } else {
                z = erx+P/Q; return one+z;
            }
@@ -314,3 +314,7 @@ weak_alias (__erf, erf)
        }
 }
 weak_alias (__erfc, erfc)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__erfc, __erfcl)
+weak_alias (__erfc, erfcl)
+#endif
index a88ec295d353c3173c4a65528fee4b4596e5bc87..c8354b7262686370a761494dc785bb59fdf45477 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -21,9 +21,9 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
  *   1. Argument reduction:
  *     Given x, find r and integer k such that
  *
- *               x = k*ln2 + r,  |r| <= 0.5*ln2 ~ 0.34658  
+ *               x = k*ln2 + r,  |r| <= 0.5*ln2 ~ 0.34658
  *
- *      Here a correction term c will be computed to compensate 
+ *      Here a correction term c will be computed to compensate
  *     the error in r when rounded to a floating-point number.
  *
  *   2. Approximating expm1(r) by a special rational function on
@@ -36,9 +36,9 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
  *         R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r)
  *                  = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r))
  *                  = 1 - r^2/60 + r^4/2520 - r^6/100800 + ...
- *      We use a special Reme algorithm on [0,0.347] to generate 
- *     a polynomial of degree 5 in r*r to approximate R1. The 
- *     maximum error of this polynomial approximation is bounded 
+ *      We use a special Reme algorithm on [0,0.347] to generate
+ *     a polynomial of degree 5 in r*r to approximate R1. The
+ *     maximum error of this polynomial approximation is bounded
  *     by 2**-61. In other words,
  *         R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5
  *     where   Q1  =  -1.6666666666666567384E-2,
@@ -49,28 +49,28 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
  *     (where z=r*r, and the values of Q1 to Q5 are listed below)
  *     with error bounded by
  *         |                  5           |     -61
- *         | 1.0+Q1*z+...+Q5*z   -  R1(z) | <= 2 
+ *         | 1.0+Q1*z+...+Q5*z   -  R1(z) | <= 2
  *         |                              |
- *     
- *     expm1(r) = exp(r)-1 is then computed by the following 
- *     specific way which minimize the accumulation rounding error: 
+ *
+ *     expm1(r) = exp(r)-1 is then computed by the following
+ *     specific way which minimize the accumulation rounding error:
  *                            2     3
  *                           r     r    [ 3 - (R1 + R1*r/2)  ]
  *           expm1(r) = r + --- + --- * [--------------------]
  *                           2     2    [ 6 - r*(3 - R1*r/2) ]
- *     
+ *
  *     To compensate the error in the argument reduction, we use
- *             expm1(r+c) = expm1(r) + c + expm1(r)*c 
- *                        ~ expm1(r) + c + r*c 
+ *             expm1(r+c) = expm1(r) + c + expm1(r)*c
+ *                        ~ expm1(r) + c + r*c
  *     Thus c+r*c will be added in as the correction terms for
- *     expm1(r+c). Now rearrange the term to avoid optimization 
+ *     expm1(r+c). Now rearrange the term to avoid optimization
  *     screw up:
  *                     (      2                                    2 )
  *                     ({  ( r    [ R1 -  (3 - R1*r/2) ]  )  }    r  )
  *      expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- )
  *                     ({  ( 2    [ 6 - r*(3 - R1*r/2) ]  )  }    2  )
  *                      (                                             )
- *     
+ *
  *                = r - E
  *   3. Scale back to obtain expm1(x):
  *     From step 1, we have
@@ -87,7 +87,7 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
  *                    else          return  1.0+2.0*(r-E);
  *       (v)   if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1)
  *       (vi)  if k <= 20, return 2^k((1-2^-k)-(E-r)), else
- *       (vii) return 2^k(1-((E+2^-k)-r)) 
+ *       (vii) return 2^k(1-((E+2^-k)-r))
  *
  * Special cases:
  *     expm1(INF) is INF, expm1(NaN) is NaN;
@@ -99,12 +99,12 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
  *     1 ulp (unit in the last place).
  *
  * Misc. info.
- *     For IEEE double 
+ *     For IEEE double
  *         if x >  7.09782712893383973096e+02 then expm1(x) overflow
  *
  * Constants:
- * The hexadecimal values are the intended ones for the following 
- * constants. The decimal values may be used, provided that the 
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
  * compiler will convert from decimal to binary accurately enough
  * to produce the hexadecimal values shown.
  */
@@ -153,7 +153,7 @@ Q5  =  -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
                 if(hx>=0x7ff00000) {
                    u_int32_t low;
                    GET_LOW_WORD(low,x);
-                   if(((hx&0xfffff)|low)!=0) 
+                   if(((hx&0xfffff)|low)!=0)
                         return x+x;     /* NaN */
                    else return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */
                }
@@ -166,7 +166,7 @@ Q5  =  -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
        }
 
     /* argument reduction */
-       if(hx > 0x3fd62e42) {           /* if  |x| > 0.5 ln2 */ 
+       if(hx > 0x3fd62e42) {           /* if  |x| > 0.5 ln2 */
            if(hx < 0x3FF0A2B2) {       /* and |x| < 1.5 ln2 */
                if(xsb==0)
                    {hi = x - ln2_hi; lo =  ln2_lo;  k =  1;}
@@ -180,10 +180,10 @@ Q5  =  -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
            }
            x  = hi - lo;
            c  = (hi-x)-lo;
-       } 
+       }
        else if(hx < 0x3c900000) {      /* when |x|<2**-54, return x */
            t = huge+x; /* return x with inexact flags when x!=0 */
-           return x - (t-(huge+x));    
+           return x - (t-(huge+x));
        }
        else k = 0;
 
@@ -198,7 +198,7 @@ Q5  =  -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
            e  = (x*(e-c)-c);
            e -= hxs;
            if(k== -1) return 0.5*(x-e)-0.5;
-           if(k==1) 
+           if(k==1)
                if(x < -0.25) return -2.0*(e-(x+0.5));
                else          return  one+2.0*(x-e);
            if (k <= -2 || k>56) {   /* suffice to return exp(x)-1 */
@@ -227,3 +227,7 @@ Q5  =  -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
        return y;
 }
 weak_alias (__expm1, expm1)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__expm1, __expm1l)
+weak_alias (__expm1, expm1l)
+#endif
index 1b9437c66a83bde62ca175e3127c4afd0e623566..1abe9432a3a8a88b5c7c31d68e0565ecd4df8910 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -34,3 +34,7 @@ static char rcsid[] = "$NetBSD: s_fabs.c,v 1.7 1995/05/10 20:47:13 jtc Exp $";
         return x;
 }
 weak_alias (__fabs, fabs)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__fabs, __fabsl)
+weak_alias (__fabs, fabsl)
+#endif
index c2c428595c088311d740f51194378f7302501634..b12ff423606e626513863ea578e4b0fe63213db4 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -34,3 +34,7 @@ static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $";
        return (int)((u_int32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
 }
 weak_alias (__finite, finite)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__finite, __finitel)
+weak_alias (__finite, finitel)
+#endif
index 4dabc77a7818e20acfed580af7fa16c068367922..77db9ef392c0ac80f910b57503fce14f38f5ddf7 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -46,7 +46,7 @@ static double huge = 1.0e300;
        if(j0<20) {
            if(j0<0) {  /* raise inexact if x != 0 */
                if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
-                   if(i0>=0) {i0=i1=0;} 
+                   if(i0>=0) {i0=i1=0;}
                    else if(((i0&0x7fffffff)|i1)!=0)
                        { i0=0xbff00000;i1=0;}
                }
@@ -66,7 +66,7 @@ static double huge = 1.0e300;
            if((i1&i)==0) return x;     /* x is integral */
            if(huge+x>0.0) {            /* raise inexact flag */
                if(i0<0) {
-                   if(j0==20) i0+=1; 
+                   if(j0==20) i0+=1;
                    else {
                        j = i1+(1<<(52-j0));
                        if(j<i1) i0 +=1 ;       /* got a carry */
@@ -80,3 +80,7 @@ static double huge = 1.0e300;
        return x;
 }
 weak_alias (__floor, floor)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__floor, __floorl)
+weak_alias (__floor, floorl)
+#endif
index 1f3bfcef5ba0e73fd0ba5652db64be8dbdd52fbc..7dbddfde06c9b922f69ffb6861d3749a4b3f00e3 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -15,13 +15,13 @@ static char rcsid[] = "$NetBSD: s_frexp.c,v 1.9 1995/05/10 20:47:24 jtc Exp $";
 #endif
 
 /*
- * for non-zero x 
+ * for non-zero x
  *     x = frexp(arg,&exp);
  * return a double fp quantity x such that 0.5 <= |x| <1.0
  * and the corresponding binary exponent "exp". That is
  *     arg = x*2^exp.
- * If arg is inf, 0.0, or NaN, then frexp(arg,&exp) returns arg 
- * with *exp=0. 
+ * If arg is inf, 0.0, or NaN, then frexp(arg,&exp) returns arg
+ * with *exp=0.
  */
 
 #include "math.h"
@@ -58,3 +58,7 @@ two54 =  1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
        return x;
 }
 weak_alias (__frexp, frexp)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__frexp, __frexpl)
+weak_alias (__frexp, frexpl)
+#endif
index 9cdcdb7c3e442af8db128a4ea173a4cd3dc886fa..0c28b689b99d2c833cdb1e38c54e923f7af8559f 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -36,7 +36,7 @@ static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $";
        hx &= 0x7fffffff;
        if(hx<0x00100000) {
            GET_LOW_WORD(lx,x);
-           if((hx|lx)==0) 
+           if((hx|lx)==0)
                return 0x80000001;      /* ilogb(0) = 0x80000001 */
            else                        /* subnormal x */
                if(hx==0) {
@@ -50,3 +50,7 @@ static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $";
        else return 0x7fffffff;
 }
 weak_alias (__ilogb, ilogb)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__ilogb, __ilogbl)
+weak_alias (__ilogb, ilogbl)
+#endif
index 94a93fc063c2f7b8271bf76882a5a61caf5f8208..12c336fad49d7d94fac1b5037ff7d0ec6bc45462 100644 (file)
@@ -31,3 +31,7 @@ static char rcsid[] = "$NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp $";
        return value;
 }
 weak_alias (__ldexp, ldexp)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__ldexp, __ldexpl)
+weak_alias (__ldexp, ldexpl)
+#endif
index 1e58ccb039a0bb3f054c043fa82b9d6a1e8c3b62..cc380a1091d7ddd0fbe0fc004a20d5e053832d17 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -16,9 +16,9 @@ static char rcsid[] = "$NetBSD: s_log1p.c,v 1.8 1995/05/10 20:47:46 jtc Exp $";
 
 /* double log1p(double x)
  *
- * Method :                  
- *   1. Argument Reduction: find k and f such that 
- *                     1+x = 2^k * (1+f), 
+ * Method :
+ *   1. Argument Reduction: find k and f such that
+ *                     1+x = 2^k * (1+f),
  *        where  sqrt(2)/2 < 1+f < sqrt(2) .
  *
  *      Note. If k=0, then f=x is exact. However, if k!=0, then f
@@ -32,8 +32,8 @@ static char rcsid[] = "$NetBSD: s_log1p.c,v 1.8 1995/05/10 20:47:46 jtc Exp $";
  *     Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
  *              = 2s + 2/3 s**3 + 2/5 s**5 + .....,
  *              = 2s + s*R
- *      We use a special Reme algorithm on [0,0.1716] to generate 
- *     a polynomial of degree 14 to approximate R The maximum error 
+ *      We use a special Reme algorithm on [0,0.1716] to generate
+ *     a polynomial of degree 14 to approximate R The maximum error
  *     of this polynomial approximation is bounded by 2**-58.45. In
  *     other words,
  *                     2      4      6      8      10      12      14
@@ -41,21 +41,21 @@ static char rcsid[] = "$NetBSD: s_log1p.c,v 1.8 1995/05/10 20:47:46 jtc Exp $";
  *     (the values of Lp1 to Lp7 are listed in the program)
  *     and
  *         |      2          14          |     -58.45
- *         | Lp1*s +...+Lp7*s    -  R(z) | <= 2 
+ *         | Lp1*s +...+Lp7*s    -  R(z) | <= 2
  *         |                             |
  *     Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
  *     In order to guarantee error in log below 1ulp, we compute log
  *     by
  *             log1p(f) = f - (hfsq - s*(hfsq+R)).
- *     
- *     3. Finally, log1p(x) = k*ln2 + log1p(f).  
+ *
+ *     3. Finally, log1p(x) = k*ln2 + log1p(f).
  *                          = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
- *        Here ln2 is split into two floating point number: 
+ *        Here ln2 is split into two floating point number:
  *                     ln2_hi + ln2_lo,
  *        where n*ln2_hi is always exact for |n| < 2000.
  *
  * Special cases:
- *     log1p(x) is NaN with signal if x < -1 (including -INF) ; 
+ *     log1p(x) is NaN with signal if x < -1 (including -INF) ;
  *     log1p(+INF) is +INF; log1p(-1) is -INF with signal;
  *     log1p(NaN) is that NaN with no signal.
  *
@@ -64,14 +64,14 @@ static char rcsid[] = "$NetBSD: s_log1p.c,v 1.8 1995/05/10 20:47:46 jtc Exp $";
  *     1 ulp (unit in the last place).
  *
  * Constants:
- * The hexadecimal values are the intended ones for the following 
- * constants. The decimal values may be used, provided that the 
- * compiler will convert from decimal to binary accurately enough 
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
  * to produce the hexadecimal values shown.
  *
  * Note: Assuming log() return accurate answer, the following
  *      algorithm can be used to compute log1p(x) to within a few ULP:
- *     
+ *
  *             u = 1+x;
  *             if(u==1.0) return x ; else
  *                        return log(u)*(x/(u-1.0));
@@ -132,11 +132,11 @@ static double zero = 0.0;
            }
            if(hx>0||hx<=((int32_t)0xbfd2bec3)) {
                k=0;f=x;hu=1;}  /* -0.2929<x<0.41422 */
-       } 
+       }
        if (hx >= 0x7ff00000) return x+x;
        if(k!=0) {
            if(hx<0x43400000) {
-               u  = 1.0+x; 
+               u  = 1.0+x;
                GET_HIGH_WORD(hu,u);
                k  = (hu>>20)-1023;
                c  = (k>0)? 1.0-(u-x):x-(u-1.0);/* correction term */
@@ -151,7 +151,7 @@ static double zero = 0.0;
            if(hu<0x6a09e) {
                SET_HIGH_WORD(u,hu|0x3ff00000); /* normalize u */
            } else {
-               k += 1; 
+               k += 1;
                SET_HIGH_WORD(u,hu|0x3fe00000); /* normalize u/2 */
                hu = (0x00100000-hu)>>2;
            }
@@ -159,16 +159,20 @@ static double zero = 0.0;
        }
        hfsq=0.5*f*f;
        if(hu==0) {     /* |f| < 2**-20 */
-           if(f==zero) if(k==0) return zero;  
+           if(f==zero) if(k==0) return zero;
                        else {c += k*ln2_lo; return k*ln2_hi+c;}
            R = hfsq*(1.0-0.66666666666666666*f);
            if(k==0) return f-R; else
                     return k*ln2_hi-((R-(k*ln2_lo+c))-f);
        }
-       s = f/(2.0+f); 
+       s = f/(2.0+f);
        z = s*s;
        R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7))))));
        if(k==0) return f-(hfsq-s*(hfsq+R)); else
                 return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
 }
 weak_alias (__log1p, log1p)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__log1p, __log1pl)
+weak_alias (__log1p, log1pl)
+#endif
index 4fd43fc5a6e6e59f63c3ebecbe4dc5c090659416..4668cf78f8810340baa67f0327bec002c2c125ff 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -36,8 +36,12 @@ static char rcsid[] = "$NetBSD: s_logb.c,v 1.8 1995/05/10 20:47:50 jtc Exp $";
        if((ix|lx)==0) return -1.0/fabs(x);
        if(ix>=0x7ff00000) return x*x;
        if((ix>>=20)==0)                        /* IEEE 754 logb */
-               return -1022.0; 
+               return -1022.0;
        else
-               return (double) (ix-1023); 
+               return (double) (ix-1023);
 }
 weak_alias (__logb, logb)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__logb, __logbl)
+weak_alias (__logb, logbl)
+#endif
index 8e09128cd76baa2825066be8e469eafaf561b0dd..8075c5f81336d6de383d16da8e7879248af4586d 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -15,7 +15,7 @@ static char rcsid[] = "$NetBSD: s_modf.c,v 1.8 1995/05/10 20:47:55 jtc Exp $";
 #endif
 
 /*
- * modf(double x, double *iptr) 
+ * modf(double x, double *iptr)
  * return fraction part of x, and return x's integral part in *iptr.
  * Method:
  *     Bit twiddling.
@@ -82,3 +82,7 @@ static double one = 1.0;
        }
 }
 weak_alias (__modf, modf)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__modf, __modfl)
+weak_alias (__modf, modfl)
+#endif
index 359ed8cc5351759d827ac862c2a4dc977e499af4..ee973bcee8aeb8555f03928b4eadc12492fbc4cd 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -39,15 +39,15 @@ static char rcsid[] = "$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp
        ix = hx&0x7fffffff;             /* |x| */
        iy = hy&0x7fffffff;             /* |y| */
 
-       if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) ||   /* x is nan */ 
-          ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0))     /* y is nan */ 
-          return x+y;                          
+       if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) ||   /* x is nan */
+          ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0))     /* y is nan */
+          return x+y;
        if(x==y) return x;              /* x=y, return x */
        if((ix|lx)==0) {                        /* x == 0 */
            INSERT_WORDS(x,hy&0x80000000,1);    /* return +-minsubnormal */
            y = x*x;
            if(y==x) return y; else return x;   /* raise underflow flag */
-       } 
+       }
        if(hx>=0) {                             /* x > 0 */
            if(hx>hy||((hx==hy)&&(lx>ly))) {    /* x > y, x -= ulp */
                if(lx==0) hx -= 1;
@@ -78,3 +78,7 @@ static char rcsid[] = "$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp
        return x;
 }
 weak_alias (__nextafter, nextafter)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__nextafter, __nextafterl)
+weak_alias (__nextafter, nextafterl)
+#endif
index e24feaf1acb8f952bd0a3a179bc22717aec3797e..e5f241291cabd40a1086ebf5aa865b2f5d97a8f6 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -30,7 +30,7 @@ static char rcsid[] = "$NetBSD: s_rint.c,v 1.8 1995/05/10 20:48:04 jtc Exp $";
 #ifdef __STDC__
 static const double
 #else
-static double 
+static double
 #endif
 TWO52[2]={
   4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
@@ -51,7 +51,7 @@ TWO52[2]={
        sx = (i0>>31)&1;
        j0 = ((i0>>20)&0x7ff)-0x3ff;
        if(j0<20) {
-           if(j0<0) {  
+           if(j0<0) {
                if(((i0&0x7fffffff)|i1)==0) return x;
                i1 |= (i0&0x0fffff);
                i0 &= 0xfffe0000;
@@ -85,3 +85,7 @@ TWO52[2]={
        return w-TWO52[sx];
 }
 weak_alias (__rint, rint)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__rint, __rintl)
+weak_alias (__rint, rintl)
+#endif
index 6efaec07acd428a1e2b925cd8c9ac411a66d4c50..439b966e69179e46250944611e1335b71b269e66 100644 (file)
@@ -65,3 +65,7 @@ tiny   = 1.0e-300;
         return x*twom54;
 }
 weak_alias (__scalbn, scalbn)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__scalbn, __scalbnl)
+weak_alias (__scalbn, scalbnl)
+#endif
index 72265d397fd44a828486e67110705730b856e95c..4ab078c473f3be475cf435d81493b03f1e281c79 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -33,3 +33,7 @@ static char rcsid[] = "$NetBSD: s_significand.c,v 1.6 1995/05/10 20:48:11 jtc Ex
        return __ieee754_scalb(x,(double) -ilogb(x));
 }
 weak_alias (__significand, significand)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__significand, __significandl)
+weak_alias (__significand, significandl)
+#endif
index efcf774158063d4fa79b3b94609a0249575adbb7..376c69ed00ec9b95d3726a41afbbe73603bdf0cb 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: s_sin.c,v 1.7 1995/05/10 20:48:15 jtc Exp $";
  *     __ieee754_rem_pio2      ... argument reduction routine
  *
  * Method.
- *      Let S,C and T denote the sin, cos and tan respectively on 
- *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 
+ *      Let S,C and T denote the sin, cos and tan respectively on
+ *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
  *     in [-pi/4 , +pi/4], and let n = k mod 4.
  *     We have
  *
@@ -42,7 +42,7 @@ static char rcsid[] = "$NetBSD: s_sin.c,v 1.7 1995/05/10 20:48:15 jtc Exp $";
  *      trig(NaN)    is that NaN;
  *
  * Accuracy:
- *     TRIG(x) returns trig(x) nearly rounded 
+ *     TRIG(x) returns trig(x) nearly rounded
  */
 
 #include "math.h"
@@ -81,3 +81,7 @@ static char rcsid[] = "$NetBSD: s_sin.c,v 1.7 1995/05/10 20:48:15 jtc Exp $";
        }
 }
 weak_alias (__sin, sin)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__sin, __sinl)
+weak_alias (__sin, sinl)
+#endif
index dcd9d506a66054f52233e95fa4e71659c23f268d..714cf27dd2c60458776d3e7ff75c7dc429e4170f 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: s_tan.c,v 1.7 1995/05/10 20:48:18 jtc Exp $";
  *     __ieee754_rem_pio2      ... argument reduction routine
  *
  * Method.
- *      Let S,C and T denote the sin, cos and tan respectively on 
- *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 
+ *      Let S,C and T denote the sin, cos and tan respectively on
+ *     [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
  *     in [-pi/4 , +pi/4], and let n = k mod 4.
  *     We have
  *
@@ -41,7 +41,7 @@ static char rcsid[] = "$NetBSD: s_tan.c,v 1.7 1995/05/10 20:48:18 jtc Exp $";
  *      trig(NaN)    is that NaN;
  *
  * Accuracy:
- *     TRIG(x) returns trig(x) nearly rounded 
+ *     TRIG(x) returns trig(x) nearly rounded
  */
 
 #include "math.h"
@@ -75,3 +75,7 @@ static char rcsid[] = "$NetBSD: s_tan.c,v 1.7 1995/05/10 20:48:18 jtc Exp $";
        }
 }
 weak_alias (__tan, tan)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__tan, __tanl)
+weak_alias (__tan, tanl)
+#endif
index 22d064bc5d526d0bdae8fd18ab936869f1598f84..208b459b356bbdda6b7b65bebe39da7906a3b016 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -62,7 +62,7 @@ static double one=1.0, two=2.0, tiny = 1.0e-300;
        ix = jx&0x7fffffff;
 
     /* x is INF or NaN */
-       if(ix>=0x7ff00000) { 
+       if(ix>=0x7ff00000) {
            if (jx>=0) return one/x+one;    /* tanh(+-inf)=+-1 */
            else       return one/x-one;    /* tanh(NaN) = NaN */
        }
@@ -85,3 +85,7 @@ static double one=1.0, two=2.0, tiny = 1.0e-300;
        return (jx>=0)? z: -z;
 }
 weak_alias (__tanh, tanh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__tanh, __tanhl)
+weak_alias (__tanh, tanhl)
+#endif
index 984f67108b5bea40213f9704f5fdf96285e9d259..9863af62a5bb959856bb17a554ed86f8b1411be9 100644 (file)
@@ -46,9 +46,9 @@ static char rcsid[] = "$NetBSD: $";
 #include "math_private.h"
 
 #ifdef __STDC__
-static const long double one=1.0, two=2.0, tiny = 1.0e-16380L;
+static const long double one=1.0, two=2.0, tiny = 1.0e-4900L;
 #else
-static long double one=1.0, two=2.0, tiny = 1.0e-16380L;
+static long double one=1.0, two=2.0, tiny = 1.0e-4900L;
 #endif
 
 #ifdef __STDC__
@@ -59,7 +59,8 @@ static long double one=1.0, two=2.0, tiny = 1.0e-16380L;
 #endif
 {
        long double t,z;
-       int32_t se,j0,j1,ix;
+       int32_t se;
+       u_int32_t j0,j1,ix;
 
     /* High word of |x|. */
        GET_LDOUBLE_WORDS(se,j0,j1,x);
@@ -72,7 +73,7 @@ static long double one=1.0, two=2.0, tiny = 1.0e-16380L;
        }
 
     /* |x| < 23 */
-       if (ix < 0x4003 || (ix == 0x4003 && j0 < 0xb8000000)) { /* |x|<23 */
+       if (ix < 0x4003 || (ix == 0x4003 && j0 < 0xb8000000u)) {/* |x|<23 */
            if (ix<0x3fc8)              /* |x|<2**-55 */
                return x*(one+x);       /* tanh(small) = small */
            if (ix>=0x3fff) {   /* |x|>=1  */
index d60d1c3202b064f6c65d19aea43da2342c5a93c5..5a1158ea7a8c695fb885b25f28b5f6245695cf70 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -42,3 +42,7 @@ static char rcsid[] = "$NetBSD: w_acos.c,v 1.6 1995/05/10 20:48:26 jtc Exp $";
 #endif
 }
 weak_alias (__acos, acos)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__acos, __acosl)
+weak_alias (__acos, acosl)
+#endif
index 46f9cf92fc0c14487d3ac4338931b5469eb2941e..2b5d60f7ea7771c732b373edbbc8282d13a0af20 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_acosh.c,v 1.6 1995/05/10 20:48:31 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper acosh(x)
  */
 
@@ -41,3 +41,7 @@ static char rcsid[] = "$NetBSD: w_acosh.c,v 1.6 1995/05/10 20:48:31 jtc Exp $";
 #endif
 }
 weak_alias (__acosh, acosh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__acosh, __acoshl)
+weak_alias (__acosh, acoshl)
+#endif
index 529dd59236c4db7724b684829893c1bc9d8f8c19..a7ca4ef9fd44f4e78cad637f3e932d2c78a057d9 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper asin(x)
  */
 
@@ -43,3 +43,7 @@ static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
 #endif
 }
 weak_alias (__asin, asin)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__asin, __asinl)
+weak_alias (__asin, asinl)
+#endif
index abfe64ae6162a4afe59f022d18f1c4fda402c902..ec29d55eb91be847b51aa2a03f0ac934b8de7cff 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper atan2(y,x)
  */
 
@@ -42,3 +42,7 @@ static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
 #endif
 }
 weak_alias (__atan2, atan2)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__atan2, __atan2l)
+weak_alias (__atan2, atan2l)
+#endif
index 43f5ff79fde0e19757728a676db0cf6d8af19307..e7995b183077fd23ce48d9d4807e4e5c73023edf 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_atanh.c,v 1.6 1995/05/10 20:48:43 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper atanh(x)
  */
 
@@ -39,10 +39,14 @@ static char rcsid[] = "$NetBSD: w_atanh.c,v 1.6 1995/05/10 20:48:43 jtc Exp $";
        if(y>=1.0) {
            if(y>1.0)
                return __kernel_standard(x,x,30); /* atanh(|x|>1) */
-           else 
+           else
                return __kernel_standard(x,x,31); /* atanh(|x|==1) */
        } else
            return z;
 #endif
 }
 weak_alias (__atanh, atanh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__atanh, __atanhl)
+weak_alias (__atanh, atanhl)
+#endif
index ccacf67363e12c3dd3c412f8a7b8b05c52e9eec4..6c67436c6a7e5ebd84dee5bee1fffff03152439e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * cabs() wrapper for hypot().
- * 
+ *
  * Written by J.T. Conklin, <jtc@wimsey.com>
  * Placed into the Public Domain, 1994.
  */
@@ -14,3 +14,7 @@ __cabs(z)
        return __hypot(z.x, z.y);
 }
 weak_alias (__cabs, cabs)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__cabs, __cabsl)
+weak_alias (__cabs, cabsl)
+#endif
index 651dee14d5eebdae448c2247f01cbfe2fdf3c096..8db25c868c6a11f1129916397354f585801b0685 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_cosh.c,v 1.6 1995/05/10 20:48:47 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper cosh(x)
  */
 
@@ -34,10 +34,14 @@ static char rcsid[] = "$NetBSD: w_cosh.c,v 1.6 1995/05/10 20:48:47 jtc Exp $";
        double z;
        z = __ieee754_cosh(x);
        if(_LIB_VERSION == _IEEE_ || __isnan(x)) return z;
-       if(fabs(x)>7.10475860073943863426e+02) {        
+       if(fabs(x)>7.10475860073943863426e+02) {
                return __kernel_standard(x,x,5); /* cosh overflow */
        } else
            return z;
 #endif
 }
 weak_alias (__cosh, cosh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__cosh, __coshl)
+weak_alias (__cosh, coshl)
+#endif
index 203a7d1c9f25f323b1046147ee0902475b8f81fa..9e2b1e7472cc565b9106202f8950fd8b3105a060 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * drem() wrapper for remainder().
- * 
+ *
  * Written by J.T. Conklin, <jtc@wimsey.com>
  * Placed into the Public Domain, 1994.
  */
@@ -14,3 +14,7 @@ __drem(x, y)
        return __remainder(x, y);
 }
 weak_alias (__drem, drem)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__drem, __dreml)
+weak_alias (__drem, dreml)
+#endif
index cc39b9086ee6afcc8763d9b9894cb4eaa27276e3..445c5788d29ea330ab61bf01b49bf7182108df01 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_exp.c,v 1.6 1995/05/10 20:48:51 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper exp(x)
  */
 
@@ -47,8 +47,12 @@ u_threshold= -7.45133219101941108420e+02;  /* 0xc0874910, 0xD52D3051 */
                return __kernel_standard(x,x,6); /* exp overflow */
            else if(x<u_threshold)
                return __kernel_standard(x,x,7); /* exp underflow */
-       } 
+       }
        return z;
 #endif
 }
 weak_alias (__exp, exp)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__exp, __expl)
+weak_alias (__exp, expl)
+#endif
index 2102ba215c0b591f0b916b373775d89c16efbf64..0ceeb98c5587edc079e4c0d0d3aae2e71975b15f 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_fmod.c,v 1.6 1995/05/10 20:48:55 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper fmod(x,y)
  */
 
@@ -42,3 +42,7 @@ static char rcsid[] = "$NetBSD: w_fmod.c,v 1.6 1995/05/10 20:48:55 jtc Exp $";
 #endif
 }
 weak_alias (__fmod, fmod)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__fmod, __fmodl)
+weak_alias (__fmod, fmodl)
+#endif
index 8a0a18079aeb09a547ce1b2b8d8fd3ad99d526f6..49e4bcf3c303bdf0d0373bb426e8f34d4edfc3a5 100644 (file)
@@ -48,3 +48,7 @@ extern int signgam;
 #endif
 }
 weak_alias (__gamma, gamma)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__gamma, __gammal)
+weak_alias (__gamma, gammal)
+#endif
index 103dbabf63abca7c995858b7b13532a6bb3efe43..f9efc8cf2eb4974bdcab37c540c85a4f4e3da713 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_gamma_r.c,v 1.7 1995/11/20 22:06:45 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper double gamma_r(double x, int *signgamp)
  */
 
@@ -43,5 +43,9 @@ static char rcsid[] = "$NetBSD: w_gamma_r.c,v 1.7 1995/11/20 22:06:45 jtc Exp $"
         } else
             return y;
 #endif
-}             
+}
 weak_alias (__gamma_r, gamma_r)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__gamma_r, __gammal_r)
+weak_alias (__gamma_r, gammal_r)
+#endif
index 1fd8f12fa6400f64b6b66802f980313994dbc982..e91db1708382f729810ee70409690c63c15685a4 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -42,3 +42,7 @@ static char rcsid[] = "$NetBSD: w_hypot.c,v 1.6 1995/05/10 20:49:07 jtc Exp $";
 #endif
 }
 weak_alias (__hypot, hypot)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__hypot, __hypotl)
+weak_alias (__hypot, hypotl)
+#endif
index 1486c14cfd1549078a249de53303e0e1de502df6..c327e1c98f668ab6612933573f58282f57974f44 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -40,6 +40,11 @@ static char rcsid[] = "$NetBSD: w_j0.c,v 1.6 1995/05/10 20:49:11 jtc Exp $";
 #endif
 }
 weak_alias (__j0, j0)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__j0, __j0l)
+weak_alias (__j0, j0l)
+#endif
+
 
 #ifdef __STDC__
        double __y0(double x)           /* wrapper y0 */
@@ -69,3 +74,7 @@ weak_alias (__j0, j0)
 #endif
 }
 weak_alias (__y0, y0)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__y0, __y0l)
+weak_alias (__y0, y0l)
+#endif
index 9d09f0d080b276776e0ec6498bd39cf9d7ab04d2..ae6e9b5537ca0146c7d613cd3304b1df79f23619 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,8 +14,8 @@
 static char rcsid[] = "$NetBSD: w_j1.c,v 1.6 1995/05/10 20:49:15 jtc Exp $";
 #endif
 
-/* 
- * wrapper of j1,y1 
+/*
+ * wrapper of j1,y1
  */
 
 #include "math.h"
@@ -41,6 +41,11 @@ static char rcsid[] = "$NetBSD: w_j1.c,v 1.6 1995/05/10 20:49:15 jtc Exp $";
 #endif
 }
 weak_alias (__j1, j1)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__j1, __j1l)
+weak_alias (__j1, j1l)
+#endif
+
 
 #ifdef __STDC__
        double __y1(double x)           /* wrapper y1 */
@@ -70,3 +75,7 @@ weak_alias (__j1, j1)
 #endif
 }
 weak_alias (__y1, y1)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__y1, __y1l)
+weak_alias (__y1, y1l)
+#endif
index 9f5506b229ed3a40c1ad83aa077d73d786ce80b4..ecd86c0d8b616f7db5df0dc2794f5ef3743b647e 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -18,7 +18,7 @@ static char rcsid[] = "$NetBSD: w_jn.c,v 1.6 1995/05/10 20:49:19 jtc Exp $";
  * wrapper jn(int n, double x), yn(int n, double x)
  * floating point Bessel's function of the 1st and 2nd kind
  * of order n
- *          
+ *
  * Special cases:
  *     y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
  *     y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
@@ -37,7 +37,7 @@ static char rcsid[] = "$NetBSD: w_jn.c,v 1.6 1995/05/10 20:49:19 jtc Exp $";
  *     yn(n,x) is similar in all respects, except
  *     that forward recursion is used for all
  *     values of n>1.
- *     
+ *
  */
 
 #include "math.h"
@@ -63,6 +63,11 @@ static char rcsid[] = "$NetBSD: w_jn.c,v 1.6 1995/05/10 20:49:19 jtc Exp $";
 #endif
 }
 weak_alias (__jn, jn)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__jn, __jnl)
+weak_alias (__jn, jnl)
+#endif
+
 
 #ifdef __STDC__
        double __yn(int n, double x)    /* wrapper yn */
@@ -92,3 +97,7 @@ weak_alias (__jn, jn)
 #endif
 }
 weak_alias (__yn, yn)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__yn, __ynl)
+weak_alias (__yn, ynl)
+#endif
index 2563d28f8d5971dbde09953fc934c34cb7ae200e..be8a174742ef4fc5ae20ec5b27f4b79111a9b413 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -46,5 +46,9 @@ extern int signgam;
         } else
             return y;
 #endif
-}             
+}
 weak_alias (__lgamma, lgamma)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__lgamma, __lgammal)
+weak_alias (__lgamma, lgammal)
+#endif
index c5c5edc94a2740a337388b4de954693fb4cdb7e5..f3e7d821e251300609f7057401bfb0a03c300750 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_lgamma_r.c,v 1.6 1995/05/10 20:49:27 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper double lgamma_r(double x, int *signgamp)
  */
 
@@ -43,5 +43,9 @@ static char rcsid[] = "$NetBSD: w_lgamma_r.c,v 1.6 1995/05/10 20:49:27 jtc Exp $
         } else
             return y;
 #endif
-}             
+}
 weak_alias (__lgamma_r, lgamma_r)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__lgamma_r, __lgammal_r)
+weak_alias (__lgamma_r, lgammal_r)
+#endif
index d1713eb398e30454c5425733fd976ae805f31a6f..5f0af7973141d55edf32d04109c7ccc83772fb12 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -37,8 +37,12 @@ static char rcsid[] = "$NetBSD: w_log.c,v 1.6 1995/05/10 20:49:33 jtc Exp $";
        if(_LIB_VERSION == _IEEE_ || __isnan(x) || x > 0.0) return z;
        if(x==0.0)
            return __kernel_standard(x,x,16); /* log(0) */
-       else 
+       else
            return __kernel_standard(x,x,17); /* log(x<0) */
 #endif
 }
 weak_alias (__log, log)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__log, __logl)
+weak_alias (__log, logl)
+#endif
index 46334cefb95feea5919e95268d1629e3141cdfc5..fc356076448d3749f13777a2bccbd20acf4ab3cb 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_log10.c,v 1.6 1995/05/10 20:49:35 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper log10(X)
  */
 
@@ -38,10 +38,14 @@ static char rcsid[] = "$NetBSD: w_log10.c,v 1.6 1995/05/10 20:49:35 jtc Exp $";
        if(x<=0.0) {
            if(x==0.0)
                return __kernel_standard(x,x,18); /* log10(0) */
-           else 
+           else
                return __kernel_standard(x,x,19); /* log10(x<0) */
        } else
            return z;
 #endif
 }
 weak_alias (__log10, log10)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__log10, __log10l)
+weak_alias (__log10, log10)
+#endif
index adc1b2b0b7ca4d17b83f7ae78727488f647ac609..ea19e1f55413edfc50abb7f446979de67d70aa9b 100644 (file)
@@ -7,12 +7,12 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
 
-/* 
+/*
  * wrapper pow(x,y) return x**y
  */
 
        z=__ieee754_pow(x,y);
        if(_LIB_VERSION == _IEEE_|| __isnan(y)) return z;
        if(__isnan(x)) {
-           if(y==0.0) 
+           if(y==0.0)
                return __kernel_standard(x,y,42); /* pow(NaN,0.0) */
-           else 
+           else
                return z;
        }
-       if(x==0.0){ 
+       if(x==0.0){
            if(y==0.0)
                return __kernel_standard(x,y,20); /* pow(0.0,0.0) */
            if(__finite(y)&&y<0.0)
            if(__finite(x)&&__finite(y)) {
                if(__isnan(z))
                    return __kernel_standard(x,y,24); /* pow neg**non-int */
-               else 
+               else
                    return __kernel_standard(x,y,21); /* pow overflow */
            }
-       } 
+       }
        if(z==0.0&&__finite(x)&&__finite(y))
            return __kernel_standard(x,y,22); /* pow underflow */
        return z;
 #endif
 }
 weak_alias (__pow, pow)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__pow, __powl)
+weak_alias (__pow, powl)
+#endif
index 9fd2952033835914e480937cd0684f4fa590f256..d85a3febce78c9cb6dad5db128e42a4efd0af525 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_remainder.c,v 1.6 1995/05/10 20:49:44 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper remainder(x,p)
  */
 
@@ -34,10 +34,14 @@ static char rcsid[] = "$NetBSD: w_remainder.c,v 1.6 1995/05/10 20:49:44 jtc Exp
        double z;
        z = __ieee754_remainder(x,y);
        if(_LIB_VERSION == _IEEE_ || __isnan(y)) return z;
-       if(y==0.0) 
+       if(y==0.0)
            return __kernel_standard(x,y,28); /* remainder(x,0) */
        else
            return z;
 #endif
 }
 weak_alias (__remainder, remainder)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__remainder, __remainderl)
+weak_alias (__remainder, remainderl)
+#endif
index 53d41144d67ade884c89cbf6ffd2d86d4eac8dbc..e5c407a435948d7102ab495ea220ba9126e40c52 100644 (file)
@@ -59,3 +59,7 @@ static char rcsid[] = "$NetBSD: w_scalb.c,v 1.6 1995/05/10 20:49:48 jtc Exp $";
 #endif
 }
 weak_alias (__scalb, scalb)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__scalb, __scalbl)
+weak_alias (__scalb, scalbl)
+#endif
index 9ecc4c5ab7e4b562e167b6c7c3755872c4865f23..9b34cd1873af1fb849fb04010c6346b859593144 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_sinh.c,v 1.6 1995/05/10 20:49:51 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper sinh(x)
  */
 
@@ -31,7 +31,7 @@ static char rcsid[] = "$NetBSD: w_sinh.c,v 1.6 1995/05/10 20:49:51 jtc Exp $";
 #ifdef _IEEE_LIBM
        return __ieee754_sinh(x);
 #else
-       double z; 
+       double z;
        z = __ieee754_sinh(x);
        if(_LIB_VERSION == _IEEE_) return z;
        if(!__finite(z)&&__finite(x)) {
@@ -41,3 +41,7 @@ static char rcsid[] = "$NetBSD: w_sinh.c,v 1.6 1995/05/10 20:49:51 jtc Exp $";
 #endif
 }
 weak_alias (__sinh, sinh)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__sinh, __sinhl)
+weak_alias (__sinh, sinhl)
+#endif
index 6351732bf01ad6f007fb33247f29e0b1b5af235a..be15d959ea84978077b2e4994077c360a543a7e8 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Developed at SunPro, a Sun Microsystems, Inc. business.
  * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
+ * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
  */
@@ -14,7 +14,7 @@
 static char rcsid[] = "$NetBSD: w_sqrt.c,v 1.6 1995/05/10 20:49:55 jtc Exp $";
 #endif
 
-/* 
+/*
  * wrapper sqrt(x)
  */
 
@@ -41,3 +41,7 @@ static char rcsid[] = "$NetBSD: w_sqrt.c,v 1.6 1995/05/10 20:49:55 jtc Exp $";
 #endif
 }
 weak_alias (__sqrt, sqrt)
+#ifdef NO_LONG_DOUBLE
+strong_alias (__sqrt, __sqrtl)
+weak_alias (__sqrt, sqrtl)
+#endif
index 2fe535ea1da436d6ddf0520aa9f2d34cf781e281..140442fdee4f490f0bd606bb49205bed9aafd513 100644 (file)
@@ -16,9 +16,11 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
+#include <pwd.h>
 #include <stdio.h>
 #include <string.h>
-#include <pwd.h>
+#include <unistd.h>
+#include <sys/types.h>
 
 /* Return the username of the caller.
    If S is not NULL, it points to a buffer of at least L_cuserid bytes
diff --git a/sysdeps/stub/e_acoshl.c b/sysdeps/stub/e_acoshl.c
new file mode 100644 (file)
index 0000000..6ec9a15
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_acoshl (long double x)
+{
+  fputs ("__ieee754_acoshl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_acoshl)
diff --git a/sysdeps/stub/e_hypotl.c b/sysdeps/stub/e_hypotl.c
new file mode 100644 (file)
index 0000000..a7a6e12
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_hypotl (long double x, long double y)
+{
+  fputs ("__ieee754_hypotl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_hypotl)
diff --git a/sysdeps/stub/e_j0l.c b/sysdeps/stub/e_j0l.c
new file mode 100644 (file)
index 0000000..90fa2c6
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_j0l (long double x)
+{
+  fputs ("__ieee754_j0l not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_j0l)
diff --git a/sysdeps/stub/e_j1l.c b/sysdeps/stub/e_j1l.c
new file mode 100644 (file)
index 0000000..d84e3cd
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_j1l (long double x)
+{
+  fputs ("__ieee754_j1l not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_j1l)
diff --git a/sysdeps/stub/e_jnl.c b/sysdeps/stub/e_jnl.c
new file mode 100644 (file)
index 0000000..b9f5900
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_jnl (long double x)
+{
+  fputs ("__ieee754_jnl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_jnl)
diff --git a/sysdeps/stub/e_lgammal_r.c b/sysdeps/stub/e_lgammal_r.c
new file mode 100644 (file)
index 0000000..0155118
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_lgammal_r (long double x, int *signgamp)
+{
+  fputs ("__ieee754_lgammal_r not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_lgammal_r)
diff --git a/sysdeps/stub/e_powl.c b/sysdeps/stub/e_powl.c
new file mode 100644 (file)
index 0000000..2fa7862
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_powl (long double x, long double y)
+{
+  fputs ("__ieee754_powl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_powl)
diff --git a/sysdeps/stub/e_rem_pio2l.c b/sysdeps/stub/e_rem_pio2l.c
new file mode 100644 (file)
index 0000000..0a9ac79
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_rem_pio2l (long double x, long double *y)
+{
+  fputs ("__ieee754_rem_pio2l not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_rem_pio2l)
diff --git a/sysdeps/stub/e_sinhl.c b/sysdeps/stub/e_sinhl.c
new file mode 100644 (file)
index 0000000..8fe11d4
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__ieee754_sinhl (long double x)
+{
+  fputs ("__ieee754_sinhl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__ieee754_sinhl)
diff --git a/sysdeps/stub/k_cosl.c b/sysdeps/stub/k_cosl.c
new file mode 100644 (file)
index 0000000..3e6c968
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__kernel_cosl (long double x, long double y)
+{
+  fputs ("__kernel_cosl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__kernel_cosl)
diff --git a/sysdeps/stub/k_rem_pio2l.c b/sysdeps/stub/k_rem_pio2l.c
new file mode 100644 (file)
index 0000000..a51c445
--- /dev/null
@@ -0,0 +1,13 @@
+#include <math.h>
+#include <math_private.h>
+#include <stdio.h>
+
+int
+__kernel_rem_pio2l (long double *x, long double *y, int e0, int nx, int prec,
+                   const int *ipio2)
+{
+  fputs ("__kernel_rem_pio2l not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__kernel_rem_pio2l)
diff --git a/sysdeps/stub/k_sinl.c b/sysdeps/stub/k_sinl.c
new file mode 100644 (file)
index 0000000..2057bf8
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__kernel_sinl (long double x, long double y)
+{
+  fputs ("__kernel_sinl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__kernel_sinl)
diff --git a/sysdeps/stub/k_tanl.c b/sysdeps/stub/k_tanl.c
new file mode 100644 (file)
index 0000000..713c8cd
--- /dev/null
@@ -0,0 +1,11 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__kernel_tanl (long double x, long double y, int iy)
+{
+  fputs ("__kernel_tanl not implemented\n", stderr);
+  return 0.0;
+}
+
+stub_warning (__kernel_tanl)
diff --git a/sysdeps/stub/s_erfl.c b/sysdeps/stub/s_erfl.c
new file mode 100644 (file)
index 0000000..e01bad2
--- /dev/null
@@ -0,0 +1,12 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__erfl (long double x)
+{
+  fputs ("__erfl not implemented\n", stderr);
+  return 0.0;
+}
+weak_alias (__erfl, erfl)
+
+stub_warning (erfl)
diff --git a/sysdeps/stub/s_expm1l.c b/sysdeps/stub/s_expm1l.c
new file mode 100644 (file)
index 0000000..fb8bda5
--- /dev/null
@@ -0,0 +1,12 @@
+#include <math.h>
+#include <stdio.h>
+
+long double
+__expm1l (long double x)
+{
+  fputs ("__expm1l not implemented\n", stderr);
+  return 0.0;
+}
+weak_alias (__expm1l, expm1l)
+
+stub_warning (expm1l)
index b60bc8ed92a20ea27912bc8b2f4ff33fdbbae056..0afbf872d9de3fa798968ab6a07309fe11620379 100644 (file)
@@ -65,6 +65,7 @@ ENTRY(__clone)
        jz      thread_start
 
        ret
+       .size   __clone,.-__clone
 
        SYSCALL_ERROR_HANDLER
 
index 638d548e007ec3caf295833c5a5711b370b4dbc4..30b0f76a43328e67ca51c9bd46f8d427c71b5be6 100644 (file)
@@ -42,5 +42,6 @@ ENTRY (__mmap)
 
        /* Successful; return the syscall's value.  */
        ret
+       .size __mmap,.-__mmap
 
 weak_alias (__mmap, mmap)
index 7de3faec0e75de9e71e76e0ee7e966594677c24b..96b38e24c0d1cc36b45be6edfc7cd8bd36ce961a 100644 (file)
@@ -17,10 +17,10 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <asm/sigcontext.h>
+#include <sigcontext.h>
 
 void
-profil_counter (int signo, struct sigcontext_struct sc)
+profil_counter (int signo, struct sigcontext sc)
 {
   profil_count ((void *) sc.eip);
 }
diff --git a/sysdeps/unix/sysv/linux/i386/sigcontext.h b/sysdeps/unix/sysv/linux/i386/sigcontext.h
new file mode 100644 (file)
index 0000000..92733ab
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#ifndef _SIGCONTEXT_H
+#define _SIGCONTEXT_H 1
+
+/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
+   we need sigcontext.  */
+#define sigcontext_struct sigcontext
+
+#include <asm/sigcontext.h>
+
+
+#endif /* sigcontext.h */
index 39db6aa50a86ce0cc6705f26e256c84857c5a622..0cf4bfdf9e9085f57176f5ecfa8ae9c88417dfd1 100644 (file)
@@ -57,5 +57,6 @@ ENTRY (P(__,socket))
 
        /* Successful; return the syscall's value.  */
        ret
+       .size P(__,socket),.-P(__,socket)
 
 weak_alias (P(__,socket), socket)
index b7b44e76dac44b4b3832f8f9c132d130a1a47fcf..e7839cd1c071f378477d5575b95928c90ea65892 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,9 @@ Cambridge, MA 02139, USA.  */
 
 #include <sysdep.h>
 
+/* Please consult the file sysdeps/unix/sysv/linux/i386/sysdep.h for
+   more information about the value -125 used below.*/
+
        .text
        SYSCALL_ERROR_HANDLER   /* Define error handler for PIC.  */
 ENTRY (syscall)
@@ -26,6 +29,7 @@ ENTRY (syscall)
        movl 16(%esp), %eax     /* Load syscall number into %eax.  */
        int $0x80               /* Do the system call.  */
        POPARGS_5               /* Restore register contents.  */
-       testl %eax, %eax        /* Check %eax for error.  */
-       jl syscall_error        /* Jump to error handler if negative.  */
+       cmpl $-125, %eax        /* Check %eax for error.  */
+       jae syscall_error       /* Jump to error handler if error.  */
        ret                     /* Return to caller.  */
+       .size syscall,.-syscall
index 213af51548ea7b99aa5df327527c66263bec39b2..9727f8976f0c9b502a2d5daa79012c3b4e4e63c9 100644 (file)
@@ -67,5 +67,4 @@ ENTRY (__errno_location)
        movl $errno, %eax
 #endif
        ret
-.Lfe1:
-       .size   __errno_location, .Lfe1-__errno_location
+       .size   __errno_location, .-__errno_location
index 1bf20bd71852f304b05da247541432cb21167f6a..b00c976351fe7824e05122e50b83ba718de22df2 100644 (file)
@@ -37,16 +37,25 @@ Cambridge, MA 02139, USA.  */
 
 #ifdef ASSEMBLER
 
-/* Linux uses a negative return value to indicate syscall errors, unlike
-   most Unices, which use the condition codes' carry flag.  */
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in %eax
+   is a real error number.  For now (as of 2.1.1) 122 is the largest
+   defined error number.  Given a bit room for development, Linus
+   chose in <asm/unistd.h> to use the values -125 to -1 for error
+   values.  We follow him here.  */
 #undef PSEUDO
 #define        PSEUDO(name, syscall_name, args)                                      \
   .text;                                                                     \
   SYSCALL_ERROR_HANDLER                                                              \
   ENTRY (name)                                                               \
     DO_CALL (args, syscall_name);                                            \
-    testl %eax, %eax;                                                        \
-    jl syscall_error;
+    cmpl $-125, %eax;                                                        \
+    jae syscall_error;
 
 #ifndef PIC
 #define SYSCALL_ERROR_HANDLER  /* Nothing here; code in sysdep.S is used.  */
@@ -70,9 +79,10 @@ syscall_error:                                                                     \
   popl %ebx;                                                                 \
   movl %ecx, (%eax);                                                         \
   movl $-1, %eax;                                                            \
-  ret;
+  ret;                                                                       \
+  .size syscall_error,.-syscall-error;
 /* A quick note: it is assumed that the call to `__errno_location' does
-   not modify the parameter value!  */
+   not modify the stack!  */
 #else
 #define SYSCALL_ERROR_HANDLER                                                \
   .type syscall_error,@function;                                             \
@@ -85,7 +95,8 @@ syscall_error:                                                                      \
   movl errno@GOT(%ecx), %ecx;                                                \
   movl %edx, (%ecx);                                                         \
   movl $-1, %eax;                                                            \
-  ret;
+  ret;                                                                       \
+  .size syscall_error,.-syscall-error;
 #endif /* _LIBC_REENTRANT */
 #endif /* PIC */