diff -durpN glibc-2.0.3/BUGS glibc-2.0.4/BUGS --- glibc-2.0.3/BUGS Fri Mar 21 22:30:57 1997 +++ glibc-2.0.4/BUGS Wed May 21 14:55:46 1997 @@ -1,7 +1,7 @@ List of known bugs (certainly very incomplete) ---------------------------------------------- -Time-stamp: <1997-03-22T04:30:57+0100 drepper> +Time-stamp: <1997-05-21T20:55:45+0200 drepper> This following list contains those bugs which I'm aware of. Please make sure that bugs you report are not listed here. If you can fix one @@ -10,7 +10,7 @@ of these bugs/limitations I'll certainly Another source of information about bugs is the problem data base of the GNU project. There is an easy to use WWW interface is available at - http://pogo.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl + http://www-gnats.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl I would appreciate it very much if you could verify the problem was not reported before by looking though the database. To make the information @@ -24,19 +24,12 @@ Severity: [ *] to [***] [ **] For GNU libc on Linux, there is still no solution for the UTMP - problem. + problem. Two people are working on a possible solution. [Among others: PR libc/39] [ **] There are problems with signal handling when using LinuxThreads. -[ **] The `cbrtl' function is inaccurate. The algorithm used for `double' - and `float' is not usable for `long double'. - -[ **] Not really a bug, but it could lead to such: - The RPC code is ugly ugly ugly. It's more or less verbatim taken - from Sun's code and therefore mostly lacks complete prototypes and - (more important) the use of `const'. It *definitely* needs to be - cleaned. +[ **] The `cbrtl' function for ix86 does not work in the moment. [ *] The precision of the `sinhl' and/or `asinhl' function do not seem to be the best. @@ -56,6 +49,14 @@ Severity: [ *] to [***] is defined in which must not make the other symbols in available. [PR libc/140] + +[ *] The localedef program should interpret only the required categories + addressed by `copy' statements. This especially means that limited + character sets must not lead to errors if the LC_CTYPE category in + the locale addressed by `copy' is not really used. + +[ *] Statically linking with libpthread leads to strange warnings + from the linker. I don't know why this happen so far. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ulrich Drepper diff -durpN glibc-2.0.3/ChangeLog glibc-2.0.4/ChangeLog --- glibc-2.0.3/ChangeLog Mon Apr 21 10:29:03 1997 +++ glibc-2.0.4/ChangeLog Mon May 26 17:29:35 1997 @@ -1,3 +1,276 @@ +1997-05-26 23:29 Ulrich Drepper + + * Net release 2.0.4. + +1997-05-26 22:51 Ulrich Drepper + + * configure.in: Use AC_PROG_CC_LOCAL instead of AC_PROC_CC. + * aclocal.m4: Add AC_PROG_CC_LOCAL which does not fail for + environments in which linking is not possible at configure time + (since te libc is just build). + Based on patches by Marcus G. Daniels . + +1997-05-26 18:58 Ulrich Drepper + + * stdlib/random_r.c (__initstate_r): Initialize randomizer type in + state array only at right place. + Reported by Sven Verdoolaege . + + * stdlib/erand48_r.c (__erand48_r): Don't generate numbers in + [0.5,1.0) but really in [0.0, 1.0). + Patch by Oliver Gathmann . + +1997-05-25 09:51 H.J. Lu + + * sysdeps/i386/elf/start.S: Change local label "nofini" + to ".Lnofini". + + * sysdeps/i386/i386-mcount.S: Use GOT, instead of GOTOFF. + +1997-05-25 20:19 Ulrich Drepper + + * time/zic.c: Update from tzcode1997e. + + * sysvipc/sys/ipc.h: Print warning if _XOPEN_SOURCE and _SVID_SOURCE + are not defined. + +1997-05-24 17:45 H.J. Lu + + * gmon/gmon.c (_mcleanup): Free tostruct array allocated in + monstartup. + +1997-05-25 00:45 Ulrich Drepper + + * sysdeps/i386/fpu/__math.h (logb): Fix thinko, reverse output + values. + Reported by Andreas Jaeger . + + * sunrpc/svc.c (svc_register): Change type of protocol parameter to + u_long. + +1997-05-22 05:40 Richard Henderson + + * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are + not looking at the new thread-safe .plt, don't be lazy about relocs. + (_dl_runtime_resolve): Fix up arithmetic for new .plt layout. + (elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety. + * elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let + elf_machine_runtime_setup() decide if we can actually be lazy. + * elf/rtld.c (_dl_start): So don't call it. + * elf/dl-reloc.c (_dl_relocate_object): Likewise. + * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy. + * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise. + * sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise. + * sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise. + * sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise. + * sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update + skeleton definition. + +1997-05-22 18:37 Ulrich Drepper + + * sysdeps/i386/fpu/__math.h (logb): Remove second value placed on + stack by fxtract. + +1997-05-22 17:44 Andreas Jaeger + + * sysdeps/unix/sysv/linux/shmat.c (shmat): Add cast to prevent + warning. + + * stdlib/seed48_r.c (seed48_r): Include limits.h to get definition + of USHRT_MAX. + + * locale/localeinfo.h: _nl_current has LC_ALL + 1 elements. + +1997-05-21 17:50 Ulrich Drepper + + * version.h (VERSION): Bump to 2.0.4. + + * db/Makefile (libdb.so): Depend on libc.so for dynamic loading + and for Linux ld.so. + * login/Makefile (libutil.so): Likewise. + * math/Makefile (libm.so): Likewise. + * md5-crypt/Makefile (libcrypt.so): Likewise. + * nis/Makefile (libnss_%.so): Likewise. + * resolv/Makefile (libnss_dns.so): Likewise. + +1997-05-15 16:10 Andreas Schwab + + * sysdeps/m68k/Makefile (CFLAGS-s_copysignl.c): Define for gcc bug + workaround. + +1997-05-21 01:52 Ulrich Drepper + + * locale/Makefile (CPPFLAGS): Add definition for LOCALE_ALIAS_PATH. + + * malloc/obstack.c: Include . Include only + if __GNU_LIBRARY__ or HAVE_STDLIB_H is defined. + Reported by Ian Taylor . + + * manual/errno.texi: Remove ENOMEDIUM and EMEDIUMTYPE errors. + + * po/de.po: Updated. + + * stdlib/seed48_r.c: Also reset `a' and `c' to default values. + + * sysdeps/unix/sysv/linux/shmdt.c: Add cast in call to __ipc. + +1997-05-15 13:14 Miles Bader + + Changes by Thomas Bushnell : + * hurd/hurdauth.c (_S_msg_add_auth): Implement correctly. + +1997-05-12 14:50 Thomas Bushnell, n/BSG + + * hurd/hurdsig.c (_hurdsig_init): Double size of sigthread stack; + msg_add_auth was overflowing it. + +1997-05-12 02:28 Ulrich Drepper + + * time/sys/time.h: Make second argument of setitimer const. + Patch by Michael Deutschmann . + * sysdeps/stub/setitimer.c: Likewise. + * sysdeps/mach/hurd/setitimer.c: Likewise. + +1997-05-12 21:20 Richard Henderson + + * elf/dl-lookup.c (_dl_lookup_symbol_skip): Call _dl_signal_error + when we can't find the symbol. + +1997-05-12 16:54 Ulrich Drepper + + * posix/regex.c: Fix handling of 32-bit Windog environments. + Patch by Arnold Robbins . + +1997-05-10 23:26 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/syscalls.list: Add cacheflush. + +1997-05-08 07:53 H.J. Lu + + * sysdeps/unix/sysv/linux/poll.c: Save errno. + +1997-05-08 16:44 Ulrich Drepper + + * sysdeps/unix/sysv/linux/syscalls.list: Add nfsservctl. + +1997-05-07 20:27 H.J. Lu + + * sys/ttydefaults.h: Removed. + +1997-05-07 14:10 Thomas Bushnell, n/BSG + + * termios/sys/ttydefaults.h: Delete file. + * sysdeps/generic/sys/ttydefaults.h: New file; use OXTABS in + TTYDEF_OFLAG. + * sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h: New file; use + XTABS in TTYDEF_OFLAG. + * sysdeps/unix/sysv/linux/sys/ttydefaults.h: New file; use XTABS + in TTYDEF_OFLAG (which is correct for all existing Linux ports). + +1997-05-07 16:31 Ulrich Drepper + + * posix/TESTS: Add some more tests for character class matching. + * posix/regex.c: Merge with GNU awk version. + (regex_compile): Use ISO C/amend 1 functions for character class + handling. + * posix/regex.h: Merge with GNU awk version. + + * posix/getopt.c: Declare as master copies. + * posix/getopt1.c: Likewise. + * posix/getopt.h: Likewise. + + * sysdeps/unix/sysv/linux/sys/mount.h: Add definitions for option + value to mount functions. + Patch by a sun . + +1997-05-06 13:25 H.J. Lu + + * sunrpc/svc_run.c (svc_exit): New, defined. + (svc_run): Test for svc_stop variable. + * sunrpc/rpc/svc.h (svc_exit): New, declared. + +1997-05-03 22:24 Andreas Schwab + + * sysdeps/libm-ieee754/e_acoshl.c: Fix test for x < 1. + + * sysdeps/libm-ieee754/e_atan2l.c: Ignore integer bit for Inf and + NaN. Fix test for sign of infinite y. + + * sysdeps/libm-ieee754/e_atanhl.c: Fix sign of result. + + * sysdeps/libm-ieee754/e_sinhl.c: Fix test for sign of argument. + +1997-05-05 14:22 Thomas Bushnell, n/BSG + + * hurd/hurdsig.c (_hurdsig_preemptors): Provide initialization. + * hurd/hurdfault.c (_hurdsig_fault_preemptor): Likewise. + +1997-05-01 03:13 Ulrich Drepper + + * sysdeps/unix/sysv/linux/shmat.c (shmat): For Linux-2.0 and up the + kernel can return negative values. Only fail when return value is + in range in range which is never returned as valid address. + Patch by Bruno Haible . + +1997-04-30 17:35 Ulrich Drepper + + * stdlib/random_r.c (__srandom_r): Don't use seed 0. Use 1 in this + case. + + * time/strftime.c (add): Respect `0' padding flag. + Reported by Richard Stallman . + +1997-05-01 20:02 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/brk.S: Don't presume that the kernel + will preserve non-call-saved registers; save and restore a0 across + the system call. + * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise tuck the thread + data onto the new thread's stack. + +1997-04-29 21:06 Ulrich Drepper + + * Makeconfig: Don't set cross-compiling based on $(BUILD_CC) != $(CC). + * config.make.in: Set cross-compiling from configure result. + * configure.in: Emit definition of `cross_compiling'. + Patches by Marcus G. Daniels . + +1997-04-29 19:14 Ulrich Drepper + + * sysdeps/libm-i387/e_powf.S Generate invalid exception correctly. + * sysdeps/libm-i387/e_pow.S: Likewise. + * sysdeps/libm-i387/e_powl.S: Likewise. + +1997-04-27 20:52 Andreas Schwab + + * malloc/obstack.h (obstack_specify_allocation_with_arg, + obstack_chunkfun, obstack_freefun): Fix casts. + +1997-04-26 13:37 Ulrich Drepper + + * sysdeps/unix/sysv/linux/netinet/ip_fw.h: Use + not . + * inet/netinet/tcp.h: Move to... + * sysdeps/generic/netinet/tcp.h: ...here. + Reported by Michael Deutschmann . + +1997-04-25 12:31 Ulrich Drepper + + * csu/Makefile ($(objpfx)initfini.s): Add CPPFLAGS, CFLAGS and -g0 + to command line of compiler. + Patch by Marcus G. Daniels . + + * sysdeps/generic/sigset.h (__sigandset, __sigorset): Fix typos. + Patch by Marcus G. Daniels . + + * signal/signal.h (_sys_siglist, sys_siglist): Use _NSIG, not NSIG + in declaration. + Patch by Michael Widenius . + + * time/strptime.c (strptime_internal): Fix %I format specifier + being off by one. + Patch by Mark Kettenis . + 1997-04-21 16:28 Ulrich Drepper * Net release 2.0.3. @@ -23,6 +296,7 @@ * stdlib/seed48_r.c: Also reset `a' and `c' to default values. * stdlib/srand48_r.c: Likewise. + 1997-04-20 01:28 Richard Henderson * rellns-sh: Handle files in the same directory correctly. @@ -1335,6 +1609,11 @@ * locale/weight.h: Likewise. * shadow/sgetspent_r.c (LINE_PARSER): Add missing ')'. + +1997-02-19 02:58 Ulrich Drepper + + * locale/programs/locale.c: Check whether output of `locale -a' + really is locale directory. Also print locale aliases. 1997-02-19 01:02 Ulrich Drepper diff -durpN glibc-2.0.3/INSTALL glibc-2.0.4/INSTALL --- glibc-2.0.3/INSTALL Sun Oct 20 21:24:52 1996 +++ glibc-2.0.4/INSTALL Mon May 26 08:14:49 1997 @@ -157,17 +157,17 @@ build the GNU C library: recommend you port GNU `make' instead. *Really.* We recommend version GNU `make' version 3.75 or later. - * GCC 2.7.2.1 + * GCC 2.7.2 On most platforms, the GNU C library can only be compiled with the GNU C compiler. We recommend GCC version 2.7.2 or later; earlier versions may have problems. - * `binutils' 2.7 + * `binutils' 2.8 Using the GNU `binutils' (assembler, linker, and related tools) is preferable when possible, and they are required to build an ELF - shared C library. We recommend `binutils' version 2.7 or later; + shared C library. We recommend `binutils' version 2.8 or later; earlier versions are known to have problems or to not support all architectures. @@ -183,8 +183,8 @@ following patterns: iX86-ANYTHING-linux m68k-ANYTHING-linux - Former versions of this library used to support the following -configurations but the current status is unknown: + Former releases of this library (version 1.09.1 and perhaps earlier +versions) used to run on the following configurations: alpha-dec-osf1 iX86-ANYTHING-bsd4.3 @@ -208,7 +208,13 @@ configurations but the current status is sparc-sun-solaris2.N sparc-sun-sunos4.N - Each case of `iX86' can be `i386', `i486', `i586', or `i686'.. All + Since no one has volunteered to test and fix the above +configurations, these are not supported at the moment. It's expected +that these don't work anymore. Porting the library is not hard. If +you are interested in doing a port, please contact the glibc +maintainers by sending electronic mail to . + + Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All of those configurations produce a library that can run on any of these processors. The library will be optimized for the specified processor, but will not use instructions not available on all of them. @@ -258,11 +264,11 @@ and `config.make' which are created by r be in whatever directory was current when you ran `configure'. If you think you have found some way in which the GNU C library does -not conform to the ANSI and POSIX standards (*note Standards and +not conform to the ISO and POSIX standards (*note Standards and Portability::.), that is definitely a bug. Report it! - Send bug reports to the Internet address `bug-glibc@prep.ai.mit.edu' -or the UUCP path `mit-eddie!prep.ai.mit.edu!bug-glibc'. If you have + Send bug reports to the Internet address +or the UUCP path . If you have other problems with installation or use, please report those as well. If you are not sure how a function should behave, and this manual @@ -270,8 +276,8 @@ doesn't tell you, that's a bug in the ma function's behavior disagrees with the manual, then either the library or the manual has a bug, so report the disagreement. If you find any errors or omissions in this manual, please report them to the Internet -address `bug-glibc-manual@prep.ai.mit.edu' or the UUCP path -`mit-eddie!prep.ai.mit.edu!bug-glibc-manual'. +address or the UUCP path +. Adding New Functions ==================== @@ -773,10 +779,9 @@ parts of the library were contributed or platforms was written by Per Bothner and modified by Ulrich Drepper. - * Some of the Internet-related code (most of the `inet' - subdirectory) and several other miscellaneous functions and - header files have been included from 4.4 BSD with little or no - modification. + * The Internet-related code (most of the `inet' subdirectory) and + several other miscellaneous functions and header files have been + included from 4.4 BSD with little or no modification. All code incorporated from 4.4 BSD is under the following copyright: @@ -827,7 +832,7 @@ parts of the library were contributed or `rand' and `srand' functions, were written by Earl T. Cohen for the University of California at Berkeley and are copyrighted by the Regents of the University of California. They have undergone minor - changes to fit into the GNU C library and to fit the ANSI C + changes to fit into the GNU C library and to fit the ISO C standard, but the functional code is Berkeley's. * The Internet resolver code is taken directly from BIND 4.9.5, @@ -914,59 +919,7 @@ parts of the library were contributed or Carnegie Mellon University Pittsburgh PA 15213-3890 - or `Software.Distribution@CS.CMU.EDU' any improvements or + or any improvements or extensions that they make and grant Carnegie Mellon the rights to redistribute these changes. - * The `getaddrinfo' function is written by Craig Metz and it has the - following copyright: - - The Inner Net License, Version 2.00 - =================================== - - The author(s) grant permission for redistribution and use in source and - binary forms, with or without modification, of the software - and documentation provided that the following conditions are met: - - 0. If you receive a version of the software that is - specifically labelled as not being for redistribution - (check the version message and/or README), you are not - permitted to redistribute that version of the software in - any way or form. - 1. All terms of the all other applicable copyrights and - licenses must be followed. - 2. Redistributions of source code must retain the authors' - copyright notice(s), this list of conditions, and the - following disclaimer. - 3. Redistributions in binary form must reproduce the authors' - copyright notice(s), this list of conditions, and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - 4. All advertising materials mentioning features or use of - this software must display the following acknowledgement - with the name(s) of the authors as specified in the - copyright notice(s) substituted where indicated: - - This product includes software developed by , The Inner - Net, and other contributors. - - 5. Neither the name(s) of the author(s) nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS - IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY - OF SUCH DAMAGE. - - If these license terms cause you a real problem, contact the author. diff -durpN glibc-2.0.3/Makeconfig glibc-2.0.4/Makeconfig --- glibc-2.0.3/Makeconfig Thu Apr 17 15:50:01 1997 +++ glibc-2.0.4/Makeconfig Tue Apr 29 15:05:46 1997 @@ -521,12 +521,6 @@ endif ifndef BUILD_CC BUILD_CC = $(CC) endif - -ifneq ($(BUILD_CC),$(CC)) -cross-compiling := yes -else -cross-compiling := no -endif # Figure out the version numbers from version.h. diff -durpN glibc-2.0.3/README glibc-2.0.4/README --- glibc-2.0.3/README Fri Apr 18 11:37:53 1997 +++ glibc-2.0.4/README Mon May 26 15:24:17 1997 @@ -1,11 +1,11 @@ -This directory contains the version 2.0.3 test release of the GNU C Library. +This directory contains the version 2.0.4 test release of the GNU C Library. Many bugs have been fixed since the last release. Some bugs surely remain. As of this release, the GNU C library is known to run on the following configurations: - *-*-gnu GNU Hurd + i[3456]86-*-gnu GNU Hurd i[3456]86-*-linux-gnu Linux-2.0 on Intel m68k-*-linux-gnu Linux-2.0 on Motorola 680x0 alpha-*-linux-gnu Linux-2.0 on DEC Alpha @@ -36,17 +36,18 @@ versions) used to run on the following c sparc-sun-solaris2 sparc-sun-sunos4 -Whether this is still true for this release is unknown. Porting the -library is not hard. If you are interested in doing a port, please -get on the mailing list by sending electronic mail to -. +Since no one has volunteered to test and fix the above configurations, +these are not supported at the moment. It's expected that these don't +work anymore. Porting the library is not hard. If you are interested +in doing a port, please contact the glibc maintainers by sending +electronic mail to . The GNU C library now includes Michael Glad's Ultra Fast Crypt, which provides the Unix `crypt' function, plus some other entry points. Because of the United States export restriction on DES implementations, we are distributing this code separately from the rest of the C library. There is an extra distribution tar file just for crypt; it is -called `glibc-crypt-2.0.3.tar.gz'. You can just unpack the crypt +called `glibc-crypt-2.0.4.tar.gz'. You can just unpack the crypt distribution along with the rest of the C library and build; you can also build the library without getting crypt. Users outside the USA can get the crypt distribution via anonymous FTP from ftp.ifi.uio.no diff -durpN glibc-2.0.3/aclocal.m4 glibc-2.0.4/aclocal.m4 --- glibc-2.0.3/aclocal.m4 Fri May 10 18:06:47 1996 +++ glibc-2.0.4/aclocal.m4 Mon May 26 17:20:56 1997 @@ -31,3 +31,62 @@ changequote([,])dnl fi AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl dnl + +dnl These modifications are to allow for an empty cross compiler tree. +dnl In the situation that cross-linking is impossible, the variable +dnl `cross_linkable' will be substituted with "yes". +AC_DEFUN(AC_PROG_CC_LOCAL, +[AC_BEFORE([$0], [AC_PROG_CPP])dnl +AC_CHECK_PROG(CC, gcc, gcc) +if test -z "$CC"; then + AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) + test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) +fi + +AC_PROG_CC_WORKS_LOCAL +AC_PROG_CC_GNU + +dnl The following differs from the AC_PROG_CC macro in autoconf. Since +dnl we require a recent version of gcc to be used we do not need to go +dnl into lengths and test for bugs in old versions. It must be gcc 2.7 +dnl or above. +if test $ac_cv_prog_gcc = yes; then + GCC=yes + +dnl Check the version + cat > conftest.c < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) + yes; +#endif +EOF + if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then + if test -z "$CFLAGS"; then + CFLAGS="-g -O2" + fi + else + AC_MSG_ERROR([We require GNU CC version 2.7 or newer]) + fi +else + AC_MSG_ERROR([GNU libc must be compiled using GNU CC]) +fi +]) + +AC_DEFUN(AC_PROG_CC_WORKS_LOCAL, +[AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works]) +AC_LANG_SAVE +AC_LANG_C +AC_TRY_COMPILER([main(){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross) +AC_LANG_RESTORE +AC_MSG_RESULT($ac_cv_prog_cc_works) +if test $ac_cv_prog_cc_works = no; then + cross_linkable=no + ac_cv_prog_cc_cross=yes +dnl AC_MSG_ERROR([installation or configuration problem: C compiler cannot create executables.]) +else + cross_linkable=yes +fi +AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler]) +AC_MSG_RESULT($ac_cv_prog_cc_cross) +AC_SUBST(cross_linkable) +cross_compiling=$ac_cv_prog_cc_cross +]) diff -durpN glibc-2.0.3/config.make.in glibc-2.0.4/config.make.in --- glibc-2.0.3/config.make.in Tue Jan 28 22:49:42 1997 +++ glibc-2.0.4/config.make.in Tue May 20 19:36:29 1997 @@ -1,5 +1,5 @@ # @configure_input@ -# From $Id: config.make.in,v 1.32 1997/01/29 03:49:42 drepper Exp $. +# From $Id: config.make.in,v 1.32.2.1 1997/05/20 23:36:29 drepper Exp $. # Don't edit this file. Put configuration parameters in configparms instead. # Installation prefixes. @@ -39,6 +39,7 @@ build-profile = @profile@ build-omitfp = @omitfp@ stdio = @stdio@ add-ons = @subdirs@ +cross-compiling = @cross_compiling@ # Build tools. CC = @CC@ diff -durpN glibc-2.0.3/configure glibc-2.0.4/configure --- glibc-2.0.3/configure Fri Apr 4 17:34:29 1997 +++ glibc-2.0.4/configure Mon May 26 17:21:00 1997 @@ -1,6 +1,10 @@ #! /bin/sh # From configure.in CVSid + + + + # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.12 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. @@ -720,7 +724,7 @@ else { echo "configure: error: can not r fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:724: checking host system type" >&5 +echo "configure:728: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -800,7 +804,7 @@ esac # This can take a while to compute. sysdep_dir=$srcdir/sysdeps echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6 -echo "configure:804: checking sysdep dirs" >&5 +echo "configure:808: checking sysdep dirs" >&5 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1. os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`" @@ -1001,7 +1005,7 @@ echo "$ac_t""sysdeps/generic sysdeps/stu # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1005: checking for a BSD compatible install" >&5 +echo "configure:1009: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1055,7 +1059,7 @@ if test "$INSTALL" = "${srcdir}/install- INSTALL='$(..)./install-sh -c' fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1059: checking whether ln -s works" >&5 +echo "configure:1063: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1080,7 +1084,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1084: checking for $ac_word" >&5 +echo "configure:1088: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1113,7 +1117,7 @@ test -n "$MSGFMT" || MSGFMT=":" # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1117: checking for $ac_word" >&5 +echo "configure:1121: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1142,7 +1146,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1146: checking for $ac_word" >&5 +echo "configure:1150: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1190,7 +1194,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1194: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1198: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1200,11 +1204,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $C cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1221,15 +1225,19 @@ rm -fr conftest* echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } + cross_linkable=no + ac_cv_prog_cc_cross=yes +else + cross_linkable=yes fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1228: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1235: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 + cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1233: checking whether we are using GNU C" >&5 +echo "configure:1241: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1238,7 +1246,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1249,39 +1257,25 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes - ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS= - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1257: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then - CFLAGS="-g -O2" + cat > conftest.c < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) + yes; +#endif +EOF + if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + if test -z "$CFLAGS"; then + CFLAGS="-g -O2" + fi else - CFLAGS="-O2" + { echo "configure: error: We require GNU CC version 2.7 or newer" 1>&2; exit 1; } fi else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + { echo "configure: error: GNU libc must be compiled using GNU CC" 1>&2; exit 1; } fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1285: checking build system type" >&5 +echo "configure:1279: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1304,7 +1298,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1308: checking for $ac_word" >&5 +echo "configure:1302: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1333,8 +1327,9 @@ test -n "$BUILD_CC" && break done fi + echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1338: checking how to run the C preprocessor" >&5 +echo "configure:1333: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1349,13 +1344,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1366,13 +1361,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1403,7 +1398,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1407: checking for $ac_word" >&5 +echo "configure:1402: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1434,7 +1429,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1438: checking for $ac_word" >&5 +echo "configure:1433: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1465,7 +1460,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1469: checking for $ac_word" >&5 +echo "configure:1464: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1500,7 +1495,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1504: checking for $ac_word" >&5 +echo "configure:1499: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1541,7 +1536,7 @@ if test "$BASH" = no; then # Extract the first word of "ksh", so it can be a program name with args. set dummy ksh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1545: checking for $ac_word" >&5 +echo "configure:1540: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1583,7 +1578,7 @@ fi echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6 -echo "configure:1587: checking for signed size_t type" >&5 +echo "configure:1582: checking for signed size_t type" >&5 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1607,12 +1602,12 @@ EOF fi echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6 -echo "configure:1611: checking for libc-friendly stddef.h" >&5 +echo "configure:1606: checking for libc-friendly stddef.h" >&5 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1646,7 +1641,7 @@ override stddef.h = # The installed &6 -echo "configure:1650: checking whether we need to use -P to assemble .S files" >&5 +echo "configure:1645: checking whether we need to use -P to assemble .S files" >&5 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1669,7 +1664,7 @@ asm-CPPFLAGS = -P # The assembler can't fi echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6 -echo "configure:1673: checking for assembler global-symbol directive" >&5 +echo "configure:1668: checking for assembler global-symbol directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1699,7 +1694,7 @@ EOF fi echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6 -echo "configure:1703: checking for .set assembler directive" >&5 +echo "configure:1698: checking for .set assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1734,7 +1729,7 @@ fi if test $elf = yes; then echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -echo "configure:1738: checking for .previous assembler directive" >&5 +echo "configure:1733: checking for .previous assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1742,7 +1737,7 @@ else .section foo_section .previous EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_previous_directive=yes else libc_cv_asm_previous_directive=no @@ -1758,7 +1753,7 @@ EOF else echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -echo "configure:1762: checking for .popsection assembler directive" >&5 +echo "configure:1757: checking for .popsection assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1766,7 +1761,7 @@ else .pushsection foo_section .popsection EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_popsection_directive=yes else libc_cv_asm_popsection_directive=no @@ -1786,12 +1781,12 @@ fi if test $elf != yes; then echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6 -echo "configure:1790: checking for .init and .fini sections" >&5 +echo "configure:1785: checking for .init and .fini sections" >&5 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -1825,19 +1820,19 @@ if test $elf = yes; then libc_cv_asm_underscores=no else echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:1829: checking for _ prefix on C symbol names" >&5 +echo "configure:1824: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -1864,7 +1859,7 @@ if test $elf = yes; then libc_cv_asm_weakext_directive=no else echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6 -echo "configure:1868: checking for assembler .weak directive" >&5 +echo "configure:1863: checking for assembler .weak directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1887,7 +1882,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive if test $libc_cv_asm_weak_directive = no; then echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6 -echo "configure:1891: checking for assembler .weakext directive" >&5 +echo "configure:1886: checking for assembler .weakext directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1924,7 +1919,7 @@ EOF fi echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6 -echo "configure:1928: checking for ld --no-whole-archive" >&5 +echo "configure:1923: checking for ld --no-whole-archive" >&5 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1935,7 +1930,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c'; { (eval echo configure:1939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -1946,7 +1941,7 @@ fi echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6 -echo "configure:1950: checking for gcc -fno-exceptions" >&5 +echo "configure:1945: checking for gcc -fno-exceptions" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1957,7 +1952,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fno-exceptions - -o conftest conftest.c'; { (eval echo configure:1961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_no_exceptions=yes else libc_cv_gcc_no_exceptions=no @@ -2009,7 +2004,7 @@ if test "$uname" = generic; then fi echo $ac_n "checking OS release for uname""... $ac_c" 1>&6 -echo "configure:2013: checking OS release for uname" >&5 +echo "configure:2008: checking OS release for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2031,7 +2026,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>& uname_release="$libc_cv_uname_release" echo $ac_n "checking OS version for uname""... $ac_c" 1>&6 -echo "configure:2035: checking OS version for uname" >&5 +echo "configure:2030: checking OS version for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2053,7 +2048,7 @@ else fi echo $ac_n "checking stdio selection""... $ac_c" 1>&6 -echo "configure:2057: checking stdio selection" >&5 +echo "configure:2052: checking stdio selection" >&5 case $stdio in libio) cat >> confdefs.h <<\EOF @@ -2258,12 +2253,14 @@ s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LN_S@%$LN_S%g s%@MSGFMT@%$MSGFMT%g s%@CC@%$CC%g +s%@cross_linkable@%$cross_linkable%g s%@build@%$build%g s%@build_alias@%$build_alias%g s%@build_cpu@%$build_cpu%g s%@build_vendor@%$build_vendor%g s%@build_os@%$build_os%g s%@BUILD_CC@%$BUILD_CC%g +s%@cross_compiling@%$cross_compiling%g s%@CPP@%$CPP%g s%@AR@%$AR%g s%@RANLIB@%$RANLIB%g diff -durpN glibc-2.0.3/configure.in glibc-2.0.4/configure.in --- glibc-2.0.3/configure.in Fri Apr 4 14:19:32 1997 +++ glibc-2.0.4/configure.in Mon May 26 17:18:36 1997 @@ -356,11 +356,12 @@ fi AC_PROG_LN_S AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :) -AC_PROG_CC +AC_PROG_CC_LOCAL AC_CANONICAL_BUILD if test $host != $build; then AC_CHECK_PROGS(BUILD_CC, gcc cc) fi +AC_SUBST(cross_compiling) AC_PROG_CPP AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) diff -durpN glibc-2.0.3/csu/Makefile glibc-2.0.4/csu/Makefile --- glibc-2.0.3/csu/Makefile Sat Apr 19 10:35:23 1997 +++ glibc-2.0.4/csu/Makefile Thu May 8 10:37:37 1997 @@ -75,7 +75,8 @@ $(objpfx)crt%.o: $(objpfx)crt%.S $(objpf $(CC) -c -fPIC -g0 -I$(..) -I$(common-objpfx) -DASSEMBLER $< -o $@ $(objpfx)initfini.s: initfini.c - $(CC) -S -fPIC -finhibit-size-directive $(no-exceptions) $< -o $@ + $(CC) $(CPPFLAGS) $(CFLAGS) -g0 -S -fPIC -finhibit-size-directive \ + $(no-exceptions) $< -o $@ $(objpfx)crti.S: $(objpfx)initfini.s sed -n -e '1,/@HEADER_ENDS/p' \ diff -durpN glibc-2.0.3/db/Makefile glibc-2.0.4/db/Makefile --- glibc-2.0.3/db/Makefile Wed Sep 11 22:47:45 1996 +++ glibc-2.0.4/db/Makefile Wed May 21 12:04:56 1997 @@ -45,3 +45,8 @@ $(objpfx)makedb: $(objpfx)libdb.so$(libd else $(objpfx)makedb: $(objpfx)libdb.a endif + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libdb.so: $(common-objpfx)libc.so diff -durpN glibc-2.0.3/elf/dl-lookup.c glibc-2.0.4/elf/dl-lookup.c --- glibc-2.0.3/elf/dl-lookup.c Tue Dec 3 20:40:29 1996 +++ glibc-2.0.4/elf/dl-lookup.c Tue May 13 16:13:17 1997 @@ -1,5 +1,5 @@ /* Look up a symbol in the loaded objects. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 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 @@ -162,7 +162,7 @@ _dl_lookup_symbol (const char *undef_nam (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK)) { /* We could find no value for a strong reference. */ - const char msg[] = "undefined symbol: "; + static const char msg[] = "undefined symbol: "; const size_t len = strlen (undef_name); char buf[sizeof msg + len]; memcpy (buf, msg, sizeof msg - 1); @@ -205,6 +205,18 @@ _dl_lookup_symbol_skip (const char *unde (*scope)->l_dupsearchlist, 0, (*scope)->l_ndupsearchlist, reference_name, skip_map, flags)) break; + + if (current_value.s == NULL && + (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK)) + { + /* We could find no value for a strong reference. */ + static const char msg[] = "undefined symbol: "; + const size_t len = strlen (undef_name); + char buf[sizeof msg + len]; + memcpy (buf, msg, sizeof msg - 1); + memcpy (&buf[sizeof msg - 1], undef_name, len + 1); + _dl_signal_error (0, reference_name, buf); + } *ref = current_value.s; return current_value.a; diff -durpN glibc-2.0.3/elf/dl-reloc.c glibc-2.0.4/elf/dl-reloc.c --- glibc-2.0.3/elf/dl-reloc.c Wed Mar 19 22:39:10 1997 +++ glibc-2.0.4/elf/dl-reloc.c Thu May 22 18:35:19 1997 @@ -68,10 +68,6 @@ _dl_relocate_object (struct link_map *l, ELF_DYNAMIC_RELOCATE (l, lazy); } - /* Set up the PLT so its unrelocated entries will jump to - _dl_runtime_resolve (dl-runtime.c), which will relocate them. */ - elf_machine_runtime_setup (l, lazy); - /* Mark the object so we know ths work has been done. */ l->l_relocated = 1; diff -durpN glibc-2.0.3/elf/dynamic-link.h glibc-2.0.4/elf/dynamic-link.h --- glibc-2.0.3/elf/dynamic-link.h Sun Feb 2 22:17:16 1997 +++ glibc-2.0.4/elf/dynamic-link.h Thu May 22 18:36:01 1997 @@ -97,8 +97,11 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn, /* This can't just be an inline function because GCC is too dumb to inline functions containing inlines themselves. */ -#define ELF_DYNAMIC_RELOCATE(map, lazy) \ - do { ELF_DYNAMIC_DO_REL ((map), (lazy)); \ - ELF_DYNAMIC_DO_RELA ((map), (lazy)); } while (0) +#define ELF_DYNAMIC_RELOCATE(map, lazy) \ + do { \ + int edr_lazy = elf_machine_runtime_setup((map), (lazy)); \ + ELF_DYNAMIC_DO_REL ((map), edr_lazy); \ + ELF_DYNAMIC_DO_RELA ((map), edr_lazy); \ + } while (0) #endif diff -durpN glibc-2.0.3/gmon/gmon.c glibc-2.0.4/gmon/gmon.c --- glibc-2.0.3/gmon/gmon.c Sun Mar 23 14:19:10 1997 +++ glibc-2.0.4/gmon/gmon.c Sat May 24 21:24:46 1997 @@ -319,4 +319,7 @@ _mcleanup () write_bb_counts (fd); __close (fd); + + /* free the memory. */ + free (_gmonparam.tos); } diff -durpN glibc-2.0.3/hurd/hurdauth.c glibc-2.0.4/hurd/hurdauth.c --- glibc-2.0.3/hurd/hurdauth.c Thu Apr 10 16:01:27 1997 +++ glibc-2.0.4/hurd/hurdauth.c Tue May 20 07:06:49 1997 @@ -37,16 +37,123 @@ _S_msg_add_auth (mach_port_t me, { error_t err; auth_t newauth; + uid_t *genuids, *gengids, *auxuids, *auxgids; + mach_msg_type_number_t ngenuids, ngengids, nauxuids, nauxgids; + uid_t *newgenuids, *newgengids, *newauxuids, *newauxgids; + mach_msg_type_number_t nnewgenuids, nnewgengids, nnewauxuids, nnewauxgids; - if (err = __USEPORT (AUTH, - __auth_makeauth (port, - &addauth, MACH_MSG_TYPE_MOVE_SEND, 1, - NULL, 0, - NULL, 0, - NULL, 0, - NULL, 0, - &newauth))) + /* Create a list of ids and store it in NEWLISTP, length NEWLISTLEN. + Keep all the ids in EXIST (len NEXIST), adding in those from NEW + (len NNEW) which are not already there. */ + error_t make_list (uid_t **newlistp, mach_msg_type_number_t *newlistlen, + uid_t *exist, mach_msg_type_number_t nexist, + uid_t *new, mach_msg_type_number_t nnew) + { + error_t urp; + int i, j, k; + vm_size_t offset; + + urp = vm_allocate (mach_task_self (), (vm_address_t *) newlistp, + nexist + nnew * sizeof (uid_t), 1); + if (urp) + return urp; + + j = 0; + for (i = 0; i < nexist; i++) + (*newlistp)[j++] = exist[i]; + + for (i = 0; i < nnew; i++) + { + for (k = 0; k < nexist; k++) + if (exist[k] == new[i]) + break; + if (k < nexist) + continue; + + (*newlistp)[j++] = new[i]; + } + + offset = (round_page (nexist + nnew * sizeof (uid_t)) + - round_page (j * sizeof (uid_t))); + if (offset) + vm_deallocate (mach_task_self (), + (vm_address_t) (*newlistp + + (nexist + nnew * sizeof (uid_t))), + offset); + *newlistlen = j; + return 0; + } + + /* Find out what ids ADDAUTH refers to */ + + genuids = gengids = auxuids = auxgids = 0; + ngenuids = ngengids = nauxuids = nauxgids = 0; + err = __auth_getids (addauth, + &genuids, &ngenuids, + &auxuids, &nauxuids, + &gengids, &ngengids, + &auxgids, &nauxgids); + if (err) return err; + + /* OR in these ids to what we already have, creating a new list. */ + + HURD_CRITICAL_BEGIN; + __mutex_lock (&_hurd_id.lock); + _hurd_check_ids (); + +#define MAKE(genaux,uidgid) \ + make_list (&new ## genaux ## uidgid ## s, \ + &nnew ## genaux ## uidgid ## s, \ + _hurd_id.genaux.uidgid ## s, \ + _hurd_id.genaux.n ## uidgid ## s, \ + genaux ## uidgid ## s, \ + n ## genaux ## uidgid ## s) + + err = MAKE (gen, uid); + if (!err) + MAKE (aux, uid); + if (!err) + MAKE (gen, gid); + if (!err) + MAKE (aux, gid); +#undef MAKE + + __mutex_unlock (&_hurd_id.lock); + HURD_CRITICAL_END; + + + /* Create the new auth port */ + + if (!err) + err = __USEPORT (AUTH, + __auth_makeauth (port, + &addauth, MACH_MSG_TYPE_MOVE_SEND, 1, + newgenuids, nnewgenuids, + newauxuids, nnewauxuids, + newgengids, nnewgengids, + newauxgids, nnewauxgids, + &newauth)); + +#define freeup(array, len) \ + if (array) \ + vm_deallocate (mach_task_self (), (vm_address_t) array, \ + len * sizeof (uid_t)); + + freeup (genuids, ngenuids); + freeup (auxuids, nauxuids); + freeup (gengids, ngengids); + freeup (auxgids, nauxgids); + freeup (newgenuids, nnewgenuids); + freeup (newauxuids, nnewauxuids); + freeup (newgengids, nnewgengids); + freeup (newauxgids, nnewauxgids); +#undef freeup + + if (err) + return err; + + /* And install it. */ err = __setauth (newauth); __mach_port_deallocate (__mach_task_self (), newauth); diff -durpN glibc-2.0.3/hurd/hurdfault.c glibc-2.0.4/hurd/hurdfault.c --- glibc-2.0.3/hurd/hurdfault.c Tue Mar 18 20:02:19 1997 +++ glibc-2.0.4/hurd/hurdfault.c Thu May 8 05:59:05 1997 @@ -29,7 +29,7 @@ #include jmp_buf _hurdsig_fault_env; -struct hurd_signal_preemptor _hurdsig_fault_preemptor; +struct hurd_signal_preemptor _hurdsig_fault_preemptor = {0}; /* XXX temporary to deal with spelling fix */ weak_alias (_hurdsig_fault_preemptor, _hurdsig_fault_preempter) diff -durpN glibc-2.0.3/hurd/hurdsig.c glibc-2.0.4/hurd/hurdsig.c --- glibc-2.0.3/hurd/hurdsig.c Tue Mar 18 20:09:17 1997 +++ glibc-2.0.4/hurd/hurdsig.c Tue May 13 16:32:03 1997 @@ -426,7 +426,7 @@ abort_all_rpcs (int signo, struct machin } } -struct hurd_signal_preemptor *_hurdsig_preemptors; +struct hurd_signal_preemptor *_hurdsig_preemptors = 0; sigset_t _hurdsig_preempted_set; /* XXX temporary to deal with spelling fix */ @@ -1194,7 +1194,7 @@ _hurdsig_init (void) err = __thread_create (__mach_task_self (), &_hurd_msgport_thread); assert_perror (err); - stacksize = __vm_page_size * 4; /* Small stack for signal thread. */ + stacksize = __vm_page_size * 8; /* Small stack for signal thread. */ err = __mach_setup_thread (__mach_task_self (), _hurd_msgport_thread, _hurd_msgport_receive, (vm_address_t *) &__hurd_sigthread_stack_base, diff -durpN glibc-2.0.3/inet/netinet/tcp.h glibc-2.0.4/inet/netinet/tcp.h --- glibc-2.0.3/inet/netinet/tcp.h Mon Jan 27 01:01:33 1997 +++ glibc-2.0.4/inet/netinet/tcp.h Wed Dec 31 19:00:00 1969 @@ -1,112 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)tcp.h 8.1 (Berkeley) 6/10/93 - */ - -#ifndef _NETINET_TCP_H - -#define _NETINET_TCP_H 1 -#include - - -__BEGIN_DECLS - -typedef unsigned int tcp_seq; -/* - * TCP header. - * Per RFC 793, September, 1981. - */ -struct tcphdr { - u_short th_sport; /* source port */ - u_short th_dport; /* destination port */ - tcp_seq th_seq; /* sequence number */ - tcp_seq th_ack; /* acknowledgement number */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - u_char th_x2:4, /* (unused) */ - th_off:4; /* data offset */ -#endif -#if __BYTE_ORDER == __BIG_ENDIAN - u_char th_off:4, /* data offset */ - th_x2:4; /* (unused) */ -#endif - u_char th_flags; -#define TH_FIN 0x01 -#define TH_SYN 0x02 -#define TH_RST 0x04 -#define TH_PUSH 0x08 -#define TH_ACK 0x10 -#define TH_URG 0x20 - u_short th_win; /* window */ - u_short th_sum; /* checksum */ - u_short th_urp; /* urgent pointer */ -}; - -#define TCPOPT_EOL 0 -#define TCPOPT_NOP 1 -#define TCPOPT_MAXSEG 2 -#define TCPOLEN_MAXSEG 4 -#define TCPOPT_WINDOW 3 -#define TCPOLEN_WINDOW 3 -#define TCPOPT_SACK_PERMITTED 4 /* Experimental */ -#define TCPOLEN_SACK_PERMITTED 2 -#define TCPOPT_SACK 5 /* Experimental */ -#define TCPOPT_TIMESTAMP 8 -#define TCPOLEN_TIMESTAMP 10 -#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ - -#define TCPOPT_TSTAMP_HDR \ - (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) - -/* - * Default maximum segment size for TCP. - * With an IP MSS of 576, this is 536, - * but 512 is probably more convenient. - * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). - */ -#define TCP_MSS 512 - -#define TCP_MAXWIN 65535 /* largest value for (unscaled) window */ - -#define TCP_MAX_WINSHIFT 14 /* maximum window shift */ - -/* - * User-settable options (used with setsockopt). - */ -#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ -#define TCP_MAXSEG 0x02 /* set maximum segment size */ - -#define SOL_TCP 6 /* TCP level */ - -__END_DECLS - -#endif /* netinet/tcp.h */ diff -durpN glibc-2.0.3/locale/Makefile glibc-2.0.4/locale/Makefile --- glibc-2.0.3/locale/Makefile Tue Dec 10 20:39:47 1996 +++ glibc-2.0.4/locale/Makefile Mon Apr 28 13:52:32 1997 @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 1992, 1995, 1996 Free Software Foundation, Inc. +# Copyright (C) 1991, 1992, 1995, 1996, 1997 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 @@ -73,6 +73,7 @@ localepath = "$(localedir):$(i18ndir)" CPPFLAGS := -DLOCALE_PATH='$(localepath)' \ -DLOCALEDIR='"$(localedir)"' \ + -DLOCALE_ALIAS_PATH='"$(localedir):$(i18ndir)"' \ -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \ -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \ -Iprograms $(CPPFLAGS) diff -durpN glibc-2.0.3/locale/localeinfo.h glibc-2.0.4/locale/localeinfo.h --- glibc-2.0.3/locale/localeinfo.h Sat Jan 18 23:52:48 1997 +++ glibc-2.0.4/locale/localeinfo.h Thu May 22 11:40:47 1997 @@ -96,7 +96,7 @@ extern const struct locale_data *_nl_cur extern const char *const _nl_category_names[LC_ALL + 1]; extern const size_t _nl_category_name_sizes[LC_ALL + 1]; -extern const struct locale_data * *const _nl_current[LC_ALL]; +extern const struct locale_data * *const _nl_current[LC_ALL + 1]; /* Name of the standard locale. */ extern const char _nl_C_name[]; diff -durpN glibc-2.0.3/locale/programs/locale.c glibc-2.0.4/locale/programs/locale.c --- glibc-2.0.3/locale/programs/locale.c Wed Jan 22 00:25:22 1997 +++ glibc-2.0.4/locale/programs/locale.c Mon Apr 28 14:17:41 1997 @@ -22,6 +22,8 @@ # include #endif +#include +#include #include #include #include @@ -29,11 +31,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include "localeinfo.h" @@ -201,6 +205,7 @@ warranty; not even for MERCHANTABILITY o /* `-a' requests the names of all available locales. */ if (do_all != 0) { + setlocale (LC_ALL, ""); write_locales (); exit (EXIT_SUCCESS); } @@ -263,31 +268,165 @@ Report bugs using the `glibcbug' script } -/* Write the names of all available locales to stdout. */ +/* Simple action function which prints arguments as strings. */ +static void +print_names (const void *nodep, VISIT value, int level) +{ + if (value == postorder || value == leaf) + puts (*(char **) nodep); +} + + +/* Write the names of all available locales to stdout. We have some + sources of the information: the contents of the locale directory + and the locale.alias file. To avoid duplicates and print the + result is a reasonable order we put all entries is a search tree + and print them afterwards. */ static void write_locales (void) { + void *all_data = NULL; DIR *dir; struct dirent *dirent; + char *alias_path; + size_t alias_path_len; + char *entry; - /* `POSIX' locale is always available (POSIX.2 4.34.3). */ - puts ("POSIX"); +#define PUT(name) tsearch ((name), &all_data, \ + (int (*) (const void *, const void *)) strcoll) - dir = opendir (LOCALE_PATH); + dir = opendir (LOCALEDIR); if (dir == NULL) { error (1, errno, gettext ("cannot read locale directory `%s'"), - LOCALE_PATH); + LOCALEDIR); return; } + /* `POSIX' locale is always available (POSIX.2 4.34.3). */ + PUT ("POSIX"); + /* And so is the "C" locale. */ + PUT ("C"); + /* Now we can look for all files in the directory. */ while ((dirent = readdir (dir)) != NULL) if (strcmp (dirent->d_name, ".") != 0 && strcmp (dirent->d_name, "..") != 0) - puts (dirent->d_name); + { + mode_t mode; +#ifdef _DIRENT_HAVE_D_TYPE + if (dirent->d_type != DT_UNKNOWN) + mode = DTTOIF (dirent->d_type); + else +#endif + { + struct stat st; + char buf[sizeof (LOCALEDIR) + strlen (dirent->d_name) + 1]; + + stpcpy (stpcpy (stpcpy (buf, LOCALEDIR), "/"), dirent->d_name); + + if (stat (buf, &st) < 0) + continue; + mode = st.st_mode; + } + + if (S_ISDIR (mode)) + PUT (strdup (dirent->d_name)); + } closedir (dir); + + /* Now read the locale.alias files. */ + if (argz_create_sep (LOCALE_ALIAS_PATH, ':', &alias_path, &alias_path_len)) + error (1, errno, gettext ("while preparing output")); + + entry = NULL; + while ((entry = argz_next (alias_path, alias_path_len, entry))) + { + static const char aliasfile[] = "/locale.alias"; + FILE *fp; + char full_name[strlen (entry) + sizeof aliasfile]; + + stpcpy (stpcpy (full_name, entry), aliasfile); + fp = fopen (full_name, "r"); + if (fp == NULL) + /* Ignore non-existing files. */ + continue; + + while (! feof (fp)) + { + /* It is a reasonable approach to use a fix buffer here + because + a) we are only interested in the first two fields + b) these fields must be usable as file names and so must + not be that long */ + char buf[BUFSIZ]; + char *alias; + char *value; + char *cp; + + if (fgets (buf, BUFSIZ, fp) == NULL) + /* EOF reached. */ + break; + + cp = buf; + /* Ignore leading white space. */ + while (isspace (cp[0])) + ++cp; + + /* A leading '#' signals a comment line. */ + if (cp[0] != '\0' && cp[0] != '#') + { + alias = cp++; + while (cp[0] != '\0' && !isspace (cp[0])) + ++cp; + /* Terminate alias name. */ + if (cp[0] != '\0') + *cp++ = '\0'; + + /* Now look for the beginning of the value. */ + while (isspace (cp[0])) + ++cp; + + if (cp[0] != '\0') + { + value = cp++; + while (cp[0] != '\0' && !isspace (cp[0])) + ++cp; + /* Terminate value. */ + if (cp[0] == '\n') + { + /* This has to be done to make the following + test for the end of line possible. We are + looking for the terminating '\n' which do not + overwrite here. */ + *cp++ = '\0'; + *cp = '\n'; + } + else if (cp[0] != '\0') + *cp++ = '\0'; + + /* Add the alias. */ + PUT (strdup (alias)); + } + } + + /* Possibly not the whole line fits into the buffer. + Ignore the rest of the line. */ + while (strchr (cp, '\n') == NULL) + { + cp = buf; + if (fgets (buf, BUFSIZ, fp) == NULL) + /* Make sure the inner loop will be left. The outer + loop will exit at the `feof' test. */ + *cp = '\n'; + } + } + + fclose (fp); + } + + twalk (all_data, print_names); } @@ -295,6 +434,7 @@ write_locales (void) static void write_charmaps (void) { + void *all_data = NULL; DIR *dir; struct dirent *dirent; @@ -310,9 +450,31 @@ write_charmaps (void) while ((dirent = readdir (dir)) != NULL) if (strcmp (dirent->d_name, ".") != 0 && strcmp (dirent->d_name, "..") != 0) - puts (dirent->d_name); + { + mode_t mode; +#ifdef _DIRENT_HAVE_D_TYPE + if (dirent->d_type != DT_UNKNOWN) + mode = DTTOIF (dirent->d_type); + else +#endif + { + struct stat st; + char buf[sizeof (CHARMAP_PATH) + strlen (dirent->d_name) + 1]; + + stpcpy (stpcpy (stpcpy (buf, CHARMAP_PATH), "/"), dirent->d_name); + + if (stat (buf, &st) < 0) + continue; + mode = st.st_mode; + } + + if (S_ISREG (mode)) + PUT (strdup (dirent->d_name)); + } closedir (dir); + + twalk (all_data, print_names); } diff -durpN glibc-2.0.3/login/Makefile glibc-2.0.4/login/Makefile --- glibc-2.0.3/login/Makefile Sun Dec 1 22:59:20 1996 +++ glibc-2.0.4/login/Makefile Wed May 21 12:05:35 1997 @@ -1,4 +1,4 @@ -# Copyright (C) 1996 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997 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 @@ -35,5 +35,9 @@ extra-libs-others := $(extra-libs) libutil-routines:= login login_tty logout logwtmp pty - include ../Rules + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libutil.so: $(common-objpfx)libc.so diff -durpN glibc-2.0.3/malloc/obstack.c glibc-2.0.4/malloc/obstack.c --- glibc-2.0.3/malloc/obstack.c Sat Dec 21 19:32:06 1996 +++ glibc-2.0.4/malloc/obstack.c Tue May 20 15:50:24 1997 @@ -1,5 +1,5 @@ /* obstack.c - subroutines used implicitly by object stack macros - Copyright (C) 1988,89,90,91,92,93,94,96 Free Software Foundation, Inc. + Copyright (C) 1988,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -19,6 +19,10 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include "obstack.h" /* NOTE BEFORE MODIFYING THIS FILE: This version number must be @@ -85,7 +89,7 @@ void (*obstack_alloc_failed_handler) () #endif /* Exit value used when `print_and_abort' is used. */ -#if defined (__STDC__) && __STDC__ +#if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H #include #endif #ifndef EXIT_FAILURE diff -durpN glibc-2.0.3/malloc/obstack.h glibc-2.0.4/malloc/obstack.h --- glibc-2.0.3/malloc/obstack.h Mon Feb 17 23:07:42 1997 +++ glibc-2.0.4/malloc/obstack.h Tue May 20 15:50:10 1997 @@ -307,13 +307,14 @@ extern int obstack_exit_failure; #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), (void (*) (void *)) (freefun), (arg)) + (void *(*) (void *, long)) (chunkfun), \ + (void (*) (void *, void *)) (freefun), (arg)) #define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun = (struct _obstack_chunk *(*)(long)) (newchunkfun)) + ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) #define obstack_freefun(h, newfreefun) \ - ((h) -> freefun = (void (*)(void *)) (newfreefun)) + ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) #else @@ -583,7 +584,7 @@ __extension__ \ #endif /* not __GNUC__ or not __STDC__ */ #ifdef __cplusplus -} +} /* C++ */ #endif #endif /* not __OBSTACK_H__ */ diff -durpN glibc-2.0.3/manual/errno.texi glibc-2.0.4/manual/errno.texi --- glibc-2.0.3/manual/errno.texi Fri Apr 4 14:24:16 1997 +++ glibc-2.0.4/manual/errno.texi Sat May 10 20:47:43 1997 @@ -1186,18 +1186,6 @@ They are not yet documented.} @comment errno ???/121 @end deftypevr -@comment errno.h -@comment Linux???: No medium found -@deftypevr Macro int ENOMEDIUM -@comment errno ???/??? -@end deftypevr - -@comment errno.h -@comment Linux???: Wrong medium type -@deftypevr Macro int EMEDIUMTYPE -@comment errno ???/??? -@end deftypevr - @node Error Messages, , Error Codes, Error Reporting @section Error Messages diff -durpN glibc-2.0.3/manual/libc.vr glibc-2.0.4/manual/libc.vr --- glibc-2.0.3/manual/libc.vr Sun Apr 20 18:26:20 1997 +++ glibc-2.0.4/manual/libc.vr Sat May 24 20:03:53 1997 @@ -144,8 +144,6 @@ \entry{ENAVAIL}{27}{\code {ENAVAIL}} \entry{EISNAM}{27}{\code {EISNAM}} \entry{EREMOTEIO}{27}{\code {EREMOTEIO}} -\entry{ENOMEDIUM}{27}{\code {ENOMEDIUM}} -\entry{EMEDIUMTYPE}{27}{\code {EMEDIUMTYPE}} \entry{program{\_}invocation{\_}name}{28}{\code {program_invocation_name}} \entry{program{\_}invocation{\_}short{\_}name}{28}{\code {program_invocation_short_name}} \entry{{\_}{\_}malloc{\_}hook}{40}{\code {__malloc_hook}} diff -durpN glibc-2.0.3/manual/libc.vrs glibc-2.0.4/manual/libc.vrs --- glibc-2.0.3/manual/libc.vrs Sun Apr 20 18:25:21 1997 +++ glibc-2.0.4/manual/libc.vrs Sat May 24 20:02:57 1997 @@ -146,7 +146,6 @@ \entry {\code {ELIBSCN}}{27} \entry {\code {ELNRNG}}{26} \entry {\code {ELOOP}}{23} -\entry {\code {EMEDIUMTYPE}}{27} \entry {\code {EMFILE}}{19} \entry {\code {EMLINK}}{19} \entry {\code {EMSGSIZE}}{21} @@ -167,7 +166,6 @@ \entry {\code {ENOEXEC}}{17} \entry {\code {ENOLCK}}{24} \entry {\code {ENOLINK}}{25} -\entry {\code {ENOMEDIUM}}{27} \entry {\code {ENOMEM}}{18} \entry {\code {ENOMSG}}{25} \entry {\code {ENONET}}{26} diff -durpN glibc-2.0.3/manual/maint.texi glibc-2.0.4/manual/maint.texi --- glibc-2.0.3/manual/maint.texi Sun Dec 8 02:59:41 1996 +++ glibc-2.0.4/manual/maint.texi Mon May 26 08:14:42 1997 @@ -206,11 +206,11 @@ compiler. We recommend GCC version 2.7. have problems. @item -@code{binutils} 2.7 +@code{binutils} 2.8 Using the GNU @code{binutils} (assembler, linker, and related tools) is preferable when possible, and they are required to build an ELF shared C -library. We recommend @code{binutils} version 2.7 or later; earlier +library. We recommend @code{binutils} version 2.8 or later; earlier versions are known to have problems or to not support all architectures. @end itemize @@ -222,14 +222,21 @@ The GNU C Library currently supports con following patterns: @smallexample -alpha-dec-osf1 alpha-@var{anything}-linux alpha-@var{anything}-linuxecoff -i@var{x}86-@var{anything}-bsd4.3 i@var{x}86-@var{anything}-gnu +i@var{x}86-@var{anything}-linux +m68k-@var{anything}-linux +@end smallexample + +Former releases of this library (version 1.09.1 and perhaps earlier +versions) used to run on the following configurations: + +@smallexample +alpha-dec-osf1 +i@var{x}86-@var{anything}-bsd4.3 i@var{x}86-@var{anything}-isc2.2 i@var{x}86-@var{anything}-isc3.@var{n} -i@var{x}86-@var{anything}-linux i@var{x}86-@var{anything}-sco3.2 i@var{x}86-@var{anything}-sco3.2v4 i@var{x}86-@var{anything}-sysv @@ -249,8 +256,14 @@ sparc-sun-solaris2.@var{n} sparc-sun-sunos4.@var{n} @end smallexample +Since no one has volunteered to test and fix the above configurations, +these are not supported at the moment. It's expected that these don't +work anymore. Porting the library is not hard. If you are interested +in doing a port, please contact the glibc maintainers by sending +electronic mail to @email{bug-glibc@@prep.ai.mit.edu}. + Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486}, -@samp{i586}, or @samp{i686}.. All of those configurations produce a +@samp{i586}, or @samp{i686}. All of those configurations produce a library that can run on any of these processors. The library will be optimized for the specified processor, but will not use instructions not available on all of them. @@ -309,8 +322,8 @@ conform to the ISO and POSIX standards ( Portability}), that is definitely a bug. Report it!@refill Send bug reports to the Internet address -@samp{bug-glibc@@prep.ai.mit.edu} or the UUCP path -@samp{mit-eddie!prep.ai.mit.edu!bug-glibc}. If you have other problems +@email{bug-glibc@@prep.ai.mit.edu} or the UUCP path +@email{mit-eddie!prep.ai.mit.edu!bug-glibc}. If you have other problems with installation or use, please report those as well.@refill If you are not sure how a function should behave, and this manual @@ -318,8 +331,8 @@ doesn't tell you, that's a bug in the ma function's behavior disagrees with the manual, then either the library or the manual has a bug, so report the disagreement. If you find any errors or omissions in this manual, please report them to the Internet -address @samp{bug-glibc-manual@@prep.ai.mit.edu} or the UUCP path -@samp{mit-eddie!prep.ai.mit.edu!bug-glibc-manual}. +address @email{bug-glibc-manual@@prep.ai.mit.edu} or the UUCP path +@email{mit-eddie!prep.ai.mit.edu!bug-glibc-manual}. @node Source Layout @appendixsec Adding New Functions @@ -1060,7 +1073,7 @@ Carnegie Mellon requests users of this s @end display @noindent -or @samp{Software.Distribution@@CS.CMU.EDU} any improvements or +or @email{Software.Distribution@@CS.CMU.EDU} any improvements or extensions that they make and grant Carnegie Mellon the rights to redistribute these changes. @end quotation diff -durpN glibc-2.0.3/manual/stamp-summary glibc-2.0.4/manual/stamp-summary --- glibc-2.0.3/manual/stamp-summary Fri Apr 18 11:50:35 1997 +++ glibc-2.0.4/manual/stamp-summary Sat May 24 20:01:47 1997 @@ -1 +1 @@ -Fri Apr 18 17:50:35 CEST 1997 +Sun May 25 02:01:47 CEST 1997 diff -durpN glibc-2.0.3/manual/summary.texi glibc-2.0.4/manual/summary.texi --- glibc-2.0.3/manual/summary.texi Fri Apr 18 11:50:35 1997 +++ glibc-2.0.4/manual/summary.texi Sat May 24 20:01:47 1997 @@ -989,11 +989,6 @@ @file{errno.h} (BSD: Too many levels of symbolic links): @ref{Error Codes,}. -@comment EMEDIUMTYPE -@item int EMEDIUMTYPE - -@file{errno.h} (Linux???: Wrong medium type): @ref{Error Codes,}. - @comment EMFILE @item int EMFILE @@ -1128,11 +1123,6 @@ @item int ENOLINK @file{errno.h} (XOPEN: Link has been severed): @ref{Error Codes,}. - -@comment ENOMEDIUM -@item int ENOMEDIUM - -@file{errno.h} (Linux???: No medium found): @ref{Error Codes,}. @comment ENOMEM @item int ENOMEM diff -durpN glibc-2.0.3/manual/texinfo.tex glibc-2.0.4/manual/texinfo.tex --- glibc-2.0.3/manual/texinfo.tex Sat Jan 4 14:24:13 1997 +++ glibc-2.0.4/manual/texinfo.tex Sat May 24 21:19:04 1997 @@ -1,5 +1,5 @@ %% TeX macros to handle Texinfo files. -%% $Id: texinfo.tex,v 2.196 1997/01/04 19:24:13 karl Exp $ +%% $Id: texinfo.tex,v 2.199 1997/05/19 21:34:38 karl Exp $ % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, % 94, 95, 96, 97 Free Software Foundation, Inc. @@ -36,7 +36,7 @@ % This automatically updates the version number based on RCS. \def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}} -\deftexinfoversion$Revision: 2.196 $ +\deftexinfoversion$Revision: 2.199 $ \message{Loading texinfo package [Version \texinfoversion]:} % If in a .fmt file, print the version number @@ -118,33 +118,37 @@ \showboxbreadth\maxdimen\showboxdepth\maxdimen }% -%---------------------Begin change----------------------- +% For @cropmarks command. +% Do @cropmarks to get crop marks. +% +\newif\ifcropmarks +\let\cropmarks = \cropmarkstrue % -%%%% For @cropmarks command. -% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986 +% Dimensions to add cropmarks at corners. +% Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\cornerlong \newdimen\cornerthick -\newdimen \topandbottommargin -\newdimen \outerhsize \newdimen \outervsize +\newdimen\topandbottommargin +\newdimen\outerhsize \newdimen\outervsize \cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks \outerhsize=7in %\outervsize=9.5in % Alternative @smallbook page size is 9.25in \outervsize=9.25in \topandbottommargin=.75in -% -%---------------------End change----------------------- % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} -\newbox\headlinebox \newbox\footlinebox +\newbox\headlinebox +\newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% - \hoffset=\normaloffset + \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi + % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % @@ -163,53 +167,46 @@ \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. \shipout\vbox{% + \ifcropmarks \vbox to \outervsize\bgroup + \hsize = \outerhsize + \line{\ewtop\hfil\ewtop}% + \nointerlineskip + \line{% + \vbox{\moveleft\cornerthick\nstop}% + \hfill + \vbox{\moveright\cornerthick\nstop}% + }% + \vskip\topandbottommargin + \line\bgroup + \hfil % center the page within the outer (page) hsize. + \ifodd\pageno\hskip\bindingoffset\fi + \vbox\bgroup + \fi + % \unvbox\headlinebox \pagebody{#1}% \unvbox\footlinebox - }% - }% + % + \ifcropmarks + \egroup % end of \vbox\bgroup + \hfil\egroup % end of (centering) \line\bgroup + \vskip\topandbottommargin plus1fill minus1fill + \boxmaxdepth = \cornerthick + \line{% + \vbox{\moveleft\cornerthick\nsbot}% + \hfill + \vbox{\moveright\cornerthick\nsbot}% + }% + \nointerlineskip + \line{\ewbot\hfil\ewbot}% + \egroup % \vbox from first cropmarks clause + \fi + }% end of \shipout\vbox + }% end of group with \turnoffactive \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } -%%%% For @cropmarks command %%%% - -% Here is a modification of the main output routine for Near East Publications -% This provides right-angle cropmarks at all four corners. -% The contents of the page are centerlined into the cropmarks, -% and any desired binding offset is added as an \hskip on either -% site of the centerlined box. (P. A. MacKay, 12 November, 1986) -% -\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up -{\escapechar=`\\\relax % makes sure backslash is used in output files. - \shipout - \vbox to \outervsize{\hsize=\outerhsize - \vbox{\line{\ewtop\hfill\ewtop}} - \nointerlineskip - \line{\vbox{\moveleft\cornerthick\nstop} - \hfill - \vbox{\moveright\cornerthick\nstop}} - \vskip \topandbottommargin - \centerline{\ifodd\pageno\hskip\bindingoffset\fi - \vbox{ - {\let\hsize=\pagewidth \makeheadline} - \pagebody{#1} - {\let\hsize=\pagewidth \makefootline}} - \ifodd\pageno\else\hskip\bindingoffset\fi} - \vskip \topandbottommargin plus1fill minus1fill - \boxmaxdepth\cornerthick - \line{\vbox{\moveleft\cornerthick\nsbot} - \hfill - \vbox{\moveright\cornerthick\nsbot}} - \nointerlineskip - \vbox{\line{\ewbot\hfill\ewbot}} - }} - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi} -% -% Do @cropmarks to get crop marks -\def\cropmarks{\let\onepageout=\croppageout } - \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} @@ -223,7 +220,6 @@ \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } -% % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) @@ -1275,8 +1271,6 @@ where each line of input produces a line \def\ctrl #1{{\tt \rawbackslash \hat}#1} \let\file=\samp -\let\url=\samp % perhaps include a hypertex \special eventually -\def\email#1{$\langle${\tt #1}$\rangle$} % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. @@ -1329,7 +1323,7 @@ where each line of input produces a line \def\realdash{-} \def\codedash{-\discretionary{}{}{}} -\def\codeunder{\normalunderscore\discretionary{}{}{}} +\def\codeunder{\ifusingtt{\normalunderscore\discretionary{}{}{}}{\_}} \def\codex #1{\tclose{#1}\endgroup} %\let\exp=\tclose %Was temporary @@ -1343,6 +1337,12 @@ where each line of input produces a line \else{\tclose{\ttsl\look}}\fi \else{\tclose{\ttsl\look}}\fi} +% @url, @email. Quotes do not seem necessary. +\let\url=\code % perhaps include a hypertex \special eventually +% rms does not like the angle brackets --karl, 17may97. +%\def\email#1{$\langle${\tt #1}$\rangle$} +\let\email=\code + % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have @@ -2240,6 +2240,7 @@ width0pt\relax} \fi \def\r##1{\realbackslash r {##1}}% \def\i##1{\realbackslash i {##1}}% \def\b##1{\realbackslash b {##1}}% +\def\sc##1{\realbackslash sc {##1}}% \def\cite##1{\realbackslash cite {##1}}% \def\key##1{\realbackslash key {##1}}% \def\file##1{\realbackslash file {##1}}% @@ -2411,27 +2412,16 @@ width0pt\relax} \fi % Define the macros used in formatting output of the sorted index material. -% This is what you call to cause a particular index to get printed. -% Write -% @unnumbered Function Index -% @printindex fn - +% @printindex causes a particular index (the ??s file) to get printed. +% It does not print any chapter heading (usually an @unnumbered). +% \def\printindex{\parsearg\doprintindex} - \def\doprintindex#1{\begingroup \dobreak \chapheadingskip{10000}% % \indexfonts \rm \tolerance = 9500 \indexbreaks - \def\indexbackslash{\rawbackslashxx}% - % Index files are almost Texinfo source, but we use \ as the escape - % character. It would be better to use @, but that's too big a change - % to make right now. - \catcode`\\ = 0 - \catcode`\@ = 11 - \escapechar = `\\ - \begindoublecolumns % % See if the index file exists and is nonempty. \openin 1 \jobname.#1s @@ -2450,11 +2440,19 @@ width0pt\relax} \fi \ifeof 1 (Index is empty) \else + % Index files are almost Texinfo source, but we use \ as the escape + % character. It would be better to use @, but that's too big a change + % to make right now. + \def\indexbackslash{\rawbackslashxx}% + \catcode`\\ = 0 + \catcode`\@ = 11 + \escapechar = `\\ + \begindoublecolumns \input \jobname.#1s + \enddoublecolumns \fi \fi \closein 1 - \enddoublecolumns \endgroup} % These macros are used by the sorted index file itself. @@ -2556,24 +2554,39 @@ width0pt\relax} \fi \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. - \output = {\global\setbox\partialpage - =\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}% + \output = {\global\setbox\partialpage = \vbox{% + % + % Here is a possibility not foreseen in manmac: if we accumulate a + % whole lot of material, we might end up calling this \output + % routine twice in a row (see the doublecol-lose test, which is + % essentially a couple of indexes with @setchapternewpage off). In + % that case, we must prevent the second \partialpage from + % simply overwriting the first, causing us to lose the page. + % This will preserve it until a real output routine can ship it + % out. Generally, \partialpage will be empty when this runs and + % this will be a no-op. + \unvbox\partialpage + % + % Unvbox the main output page. + \unvbox255 + \kern-\topskip \kern\baselineskip + }}% \eject % - % Now switch to the double-column output routine. - \output={\doublecolumnout}% + % Use the double-column output routine for subsequent pages. + \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the - % execution time, so we may as well do it once. + % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant - % below is chosen so that the gutter has the same value (well, +- < - % 1pt) as it did when we hard-coded it. + % below is chosen so that the gutter has the same value (well, +-<1pt) + % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) @@ -2594,100 +2607,103 @@ width0pt\relax} \fi % (undoubled) page height minus any material left over from the % previous page. \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage - % box0 will be the left-hand column, box1 the right. + % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar - \unvbox255 \penalty\outputpenalty + \unvbox255 + \penalty\outputpenalty } \def\pagesofar{% - % The contents of the output page -- any previous material, + % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split. \unvbox\partialpage \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } \def\enddoublecolumns{% - \output={\balancecolumns}\eject % split what we have - \endgroup + \output = {\balancecolumns}\eject % split what we have + \endgroup % started in \begindoublecolumns + % % Back to normal single-column typesetting, but take account of the % fact that we just accumulated some stuff on the output page. - \pagegoal=\vsize + \pagegoal = \vsize } \def\balancecolumns{% - % Called on the last page of the double column material. - \setbox0=\vbox{\unvbox255}% + % Called at the end of the double column material. + \setbox0 = \vbox{\unvbox255}% \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 \splittopskip = \topskip % Loop until we get a decent breakpoint. - {\vbadness=10000 \loop \global\setbox3=\copy0 + {\vbadness=10000 \loop + \global\setbox3=\copy0 \global\setbox1=\vsplit3 to\dimen@ - \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}% + \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt + \repeat}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% \pagesofar } -\catcode `\@=\other +\catcode`\@ = \other \message{sectioning,} % Define chapters, sections, etc. -\newcount \chapno -\newcount \secno \secno=0 -\newcount \subsecno \subsecno=0 -\newcount \subsubsecno \subsubsecno=0 +\newcount\chapno +\newcount\secno \secno=0 +\newcount\subsecno \subsecno=0 +\newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... -\newcount \appendixno \appendixno = `\@ +\newcount\appendixno \appendixno = `\@ \def\appendixletter{\char\the\appendixno} -\newwrite \contentsfile +\newwrite\contentsfile % This is called from \setfilename. -\def\opencontents{\openout \contentsfile = \jobname.toc} +\def\opencontents{\openout\contentsfile = \jobname.toc } % Each @chapter defines this as the name of the chapter. % page headings and footings can use it. @section does likewise \def\thischapter{} \def\thissection{} -\def\seccheck#1{\if \pageno<0 % -\errmessage{@#1 not allowed after generating table of contents}\fi -% -} +\def\seccheck#1{\ifnum \pageno<0 + \errmessage{@#1 not allowed after generating table of contents}% +\fi} \def\chapternofonts{% -\let\rawbackslash=\relax% -\let\frenchspacing=\relax% -\def\result{\realbackslash result} -\def\equiv{\realbackslash equiv} -\def\expansion{\realbackslash expansion} -\def\print{\realbackslash print} -\def\TeX{\realbackslash TeX} -\def\dots{\realbackslash dots} -\def\copyright{\realbackslash copyright} -\def\tt{\realbackslash tt} -\def\bf{\realbackslash bf } -\def\w{\realbackslash w} -\def\less{\realbackslash less} -\def\gtr{\realbackslash gtr} -\def\hat{\realbackslash hat} -\def\char{\realbackslash char} -\def\tclose##1{\realbackslash tclose {##1}} -\def\code##1{\realbackslash code {##1}} -\def\samp##1{\realbackslash samp {##1}} -\def\r##1{\realbackslash r {##1}} -\def\b##1{\realbackslash b {##1}} -\def\key##1{\realbackslash key {##1}} -\def\file##1{\realbackslash file {##1}} -\def\kbd##1{\realbackslash kbd {##1}} -% These are redefined because @smartitalic wouldn't work inside xdef. -\def\i##1{\realbackslash i {##1}} -\def\cite##1{\realbackslash cite {##1}} -\def\var##1{\realbackslash var {##1}} -\def\emph##1{\realbackslash emph {##1}} -\def\dfn##1{\realbackslash dfn {##1}} + \let\rawbackslash=\relax + \let\frenchspacing=\relax + \def\result{\realbackslash result}% + \def\equiv{\realbackslash equiv}% + \def\expansion{\realbackslash expansion}% + \def\print{\realbackslash print}% + \def\TeX{\realbackslash TeX}% + \def\dots{\realbackslash dots}% + \def\copyright{\realbackslash copyright}% + \def\tt{\realbackslash tt}% + \def\bf{\realbackslash bf}% + \def\w{\realbackslash w}% + \def\less{\realbackslash less}% + \def\gtr{\realbackslash gtr}% + \def\hat{\realbackslash hat}% + \def\char{\realbackslash char}% + \def\tclose##1{\realbackslash tclose{##1}}% + \def\code##1{\realbackslash code{##1}}% + \def\samp##1{\realbackslash samp{##1}}% + \def\r##1{\realbackslash r{##1}}% + \def\b##1{\realbackslash b{##1}}% + \def\key##1{\realbackslash key{##1}}% + \def\file##1{\realbackslash file{##1}}% + \def\kbd##1{\realbackslash kbd{##1}}% + % These are redefined because @smartitalic wouldn't work inside xdef. + \def\i##1{\realbackslash i{##1}}% + \def\cite##1{\realbackslash cite{##1}}% + \def\var##1{\realbackslash var{##1}}% + \def\emph##1{\realbackslash emph{##1}}% + \def\dfn##1{\realbackslash dfn{##1}}% } \newcount\absseclevel % used to calculate proper heading level @@ -2774,7 +2790,8 @@ width0pt\relax} \fi % because we don't want its macros evaluated now. \xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}% {\chapternofonts% -\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash chapentry{\the\toks0}{\the\chapno}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \donoderef % @@ -2793,8 +2810,9 @@ width0pt\relax} \fi \gdef\thischaptername{#1}% \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}% {\chapternofonts% -\edef\temp{{\realbackslash chapentry - {#1}{\putwordAppendix{} \appendixletter}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash chapentry{\the\toks0}% + {\putwordAppendix{} \appendixletter}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \appendixnoderef % @@ -2828,7 +2846,8 @@ width0pt\relax} \fi \unnumbchapmacro {#1}% \gdef\thischapter{#1}\gdef\thissection{#1}% {\chapternofonts% -\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash unnumbchapentry{\the\toks0}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \unnumbnoderef % @@ -2843,8 +2862,9 @@ width0pt\relax} \fi \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}% {\chapternofonts% +\toks0 = {#1}% \edef\temp{{\realbackslash secentry % -{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}% +{\the\toks0}{\the\chapno}{\the\secno}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \donoderef % @@ -2858,8 +2878,9 @@ width0pt\relax} \fi \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}% {\chapternofonts% +\toks0 = {#1}% \edef\temp{{\realbackslash secentry % -{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}% +{\the\toks0}{\appendixletter}{\the\secno}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \appendixnoderef % @@ -2871,7 +2892,8 @@ width0pt\relax} \fi \def\unnumberedseczzz #1{\seccheck{unnumberedsec}% \plainsecheading {#1}\gdef\thissection{#1}% {\chapternofonts% -\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash unnumbsecentry{\the\toks0}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \unnumbnoderef % @@ -2884,8 +2906,9 @@ width0pt\relax} \fi \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}% {\chapternofonts% +\toks0 = {#1}% \edef\temp{{\realbackslash subsecentry % -{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% +{\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \donoderef % @@ -2898,8 +2921,9 @@ width0pt\relax} \fi \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}% {\chapternofonts% +\toks0 = {#1}% \edef\temp{{\realbackslash subsecentry % -{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% +{\the\toks0}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \appendixnoderef % @@ -2911,7 +2935,8 @@ width0pt\relax} \fi \def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}% \plainsubsecheading {#1}\gdef\thissection{#1}% {\chapternofonts% -\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash unnumbsubsecentry{\the\toks0}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \unnumbnoderef % @@ -2925,8 +2950,8 @@ width0pt\relax} \fi \subsubsecheading {#1} {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}% {\chapternofonts% -\edef\temp{{\realbackslash subsubsecentry % - {#1} +\toks0 = {#1}% +\edef\temp{{\realbackslash subsubsecentry{\the\toks0} {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno} {\noexpand\folio}}}% \escapechar=`\\% @@ -2942,7 +2967,8 @@ width0pt\relax} \fi \subsubsecheading {#1} {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}% {\chapternofonts% -\edef\temp{{\realbackslash subsubsecentry{#1}% +\toks0 = {#1}% +\edef\temp{{\realbackslash subsubsecentry{\the\toks0}% {\appendixletter} {\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}% \escapechar=`\\% @@ -2956,7 +2982,8 @@ width0pt\relax} \fi \def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}% \plainsubsubsecheading {#1}\gdef\thissection{#1}% {\chapternofonts% -\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}% +\toks0 = {#1}% +\edef\temp{{\realbackslash unnumbsubsubsecentry{\the\toks0}{\noexpand\folio}}}% \escapechar=`\\% \write \contentsfile \temp % \unnumbnoderef % @@ -3394,8 +3421,8 @@ width0pt\relax} \fi \let\.=\ptexdot \let\*=\ptexstar \let\dots=\ptexdots -\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}} -\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi} +\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% +\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% \let\bullet=\ptexbullet \let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext diff -durpN glibc-2.0.3/math/Makefile glibc-2.0.4/math/Makefile --- glibc-2.0.3/math/Makefile Sun Jan 19 21:48:40 1997 +++ glibc-2.0.4/math/Makefile Wed May 21 12:06:08 1997 @@ -98,3 +98,8 @@ override CFLAGS += -Wno-uninitialized -W $(objpfx)libieee.a: $(objpfx)ieee-math.o rm -f $@ ln $< $@ + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libm.so: $(common-objpfx)libc.so diff -durpN glibc-2.0.3/md5-crypt/Makefile glibc-2.0.4/md5-crypt/Makefile --- glibc-2.0.3/md5-crypt/Makefile Sun Jan 26 00:25:10 1997 +++ glibc-2.0.4/md5-crypt/Makefile Wed May 21 12:06:41 1997 @@ -64,3 +64,8 @@ $(objpfx)$(patsubst %,$(libtype$o),md5cr endef object-suffixes-left = $(object-suffixes) include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes)) + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libcrypt.so: $(common-objpfx)libc.so diff -durpN glibc-2.0.3/nis/Makefile glibc-2.0.4/nis/Makefile --- glibc-2.0.3/nis/Makefile Wed Jan 22 00:25:27 1997 +++ glibc-2.0.4/nis/Makefile Wed May 21 12:07:18 1997 @@ -81,7 +81,7 @@ $(objpfx)libnss_nis.so: $(objpfx)libnsl. # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so +$(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(common-objpfx)libc.so ifeq ($(build-shared),yes) Binary files glibc-2.0.3/po/de.mo and glibc-2.0.4/po/de.mo differ diff -durpN glibc-2.0.3/po/de.po glibc-2.0.4/po/de.po --- glibc-2.0.3/po/de.po Mon Jan 6 17:05:30 1997 +++ glibc-2.0.4/po/de.po Mon Apr 28 15:06:10 1997 @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU libc 1.98\n" -"POT-Creation-Date: 1996-12-03 13:50+0100\n" -"PO-Revision-Date: 1997-01-01 17:42 MET\n" +"Project-Id-Version: GNU libc 2.0.3\n" +"POT-Creation-Date: 1997-03-30 19:08+0200\n" +"PO-Revision-Date: 1997-04-27 21:16 MET DST\n" "Last-Translator: Jochen Hein \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -27,37 +27,39 @@ msgstr " rpcinfo -p [ Rechner ]\n" #: sunrpc/rpcinfo.c:610 msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" -msgstr " rpcinfo [ -n Port-Nummer ] -t Rechner Programm-Nummer [Versions-Nummer]\n" +msgstr "" +" rpcinfo [ -n Port-Nummer ] -t Rechner Programm-Nummer " +"[Versions-Nummer]\n" #: sunrpc/rpcinfo.c:517 msgid " program vers proto port\n" -msgstr " program vers proto port\n" +msgstr " Program Vers Proto Port\n" -#: time/zic.c:424 +#: time/zic.c:419 #, c-format msgid " (rule from \"%s\", line %d)" msgstr " (Regel aus Datei »%s«, Zeile %d)" -#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1234 +#: locale/programs/ld-collate.c:363 locale/programs/ld-ctype.c:1242 msgid " done\n" -msgstr " Fertig\n" +msgstr " fertig\n" -#: time/zic.c:421 +#: time/zic.c:416 #, c-format msgid "\"%s\", line %d: %s" msgstr "»%s«, Zeile %d: %s" -#: time/zic.c:945 +#: time/zic.c:943 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" -msgstr "»Zone %s«-Zeile und die Option -l schliessen sich aus" +msgstr "»Zone %s«-Zeile und die Option »-l« schliessen sich aus" -#: time/zic.c:953 +#: time/zic.c:951 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" -msgstr "»Zone %s«-Zeile und die Option -p schliessen sich aus" +msgstr "»Zone %s«-Zeile und die Option »-p« schliessen sich aus" -#: time/zic.c:758 +#: time/zic.c:754 #, c-format msgid "%s in ruleless zone" msgstr "%s in einer regellosen Zone" @@ -77,7 +79,8 @@ msgstr "%s%s%s:%u: %s%sNicht erwarteter msgid "%s%sUnknown signal %d\n" msgstr "%s%sUnbekanntes Signal %d\n" -#: time/zic.c:2139 +# Ob diese Übersetzung so korrekt ist? - jh +#: time/zic.c:2172 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "%s: %d Das Vorzeichen der extended-Zahl ist nicht korrekt\n" @@ -87,169 +90,176 @@ msgstr "%s: %d Das Vorzeichen der extend msgid "%s: must be greater than \n" msgstr "%s: »« muß größer als »« sein\n" -#: time/zic.c:1430 +#: time/zic.c:1443 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "%s: Kann »%s« nicht erzeugen: %s\n" -#: time/zic.c:2118 +#: time/zic.c:2150 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "%s: Kann das Verzeichnis »%s« nicht erzeugen: %s\n" -#: time/zic.c:612 +#: time/zic.c:608 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "%s: Kann nicht von »%s« nach »%s« linken: %s\n" -#: time/zic.c:783 +#: time/zic.c:780 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "%s: Kann die Datei »%s« nicht öffnen: %s\n" -#: time/zic.c:851 +#: time/zic.c:1433 +#, c-format +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: Kann »%s« nicht löschen: %s\n" + +#: time/zic.c:849 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "%s: Fehler beim Schliessen der Datei »%s«: %s\n" -#: time/zic.c:845 +#: time/zic.c:842 #, c-format msgid "%s: Error reading %s\n" msgstr "%s: Fehler beim Lesen der Datei »%s«\n" -#: time/zic.c:1494 +#: time/zic.c:1507 #, c-format msgid "%s: Error writing %s\n" msgstr "%s: Fehler beim Schreiben der Datei »%s«\n" -#: time/zdump.c:258 +#: time/zdump.c:266 #, c-format msgid "%s: Error writing standard output " msgstr "%s: Fehler beim Schreiben auf die Standardausgabe " -#: time/zic.c:830 +#: time/zic.c:827 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "%s: Schalt-Zeile in einer nicht-Schalt-Sekunden-Datei »%s«\n" -#: time/zic.c:362 +#: time/zic.c:357 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "%s: Kein Hauptspeicher mehr verfügbar: %s\n" -#: time/zic.c:527 +#: time/zic.c:522 #, c-format msgid "%s: More than one -L option specified\n" -msgstr "%s: Mehr als eine -L Option angegeben\n" +msgstr "%s: Mehr als eine »-L« Option angegeben\n" -#: time/zic.c:487 +#: time/zic.c:482 #, c-format msgid "%s: More than one -d option specified\n" -msgstr "%s: Mehr als eine -d Option angegeben\n" +msgstr "%s: Mehr als eine »-d« Option angegeben\n" -#: time/zic.c:497 +#: time/zic.c:492 #, c-format msgid "%s: More than one -l option specified\n" -msgstr "%s: Mehr als eine -l Option angegeben\n" +msgstr "%s: Mehr als eine »-l« Option angegeben\n" -#: time/zic.c:507 +#: time/zic.c:502 #, c-format msgid "%s: More than one -p option specified\n" -msgstr "%s: Mehr als eine -p Option angegeben\n" +msgstr "%s: Mehr als eine »-p« Option angegeben\n" -#: time/zic.c:517 +#: time/zic.c:512 #, c-format msgid "%s: More than one -y option specified\n" -msgstr "%s: Mehr als eine -y Option angegeben\n" +msgstr "%s: Mehr als eine »-y« Option angegeben\n" -#: time/zic.c:1845 +#: time/zic.c:1872 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "%s: Das Kommando war »%s«, das Ergebnis war %d\n" -#: locale/programs/charmap.c:593 locale/programs/locfile.c:878 +#: locale/programs/charmap.c:593 locale/programs/locfile.c:900 #, c-format msgid "%s: error in state machine" msgstr "%s: Fehler im (intern verwendeten) endlichen Automaten" -#: posix/getopt.c:687 +#: posix/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: Die Option ist nicht erlaubt -- »%c«\n" -#: posix/getopt.c:690 +#: posix/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: Ungültige option -- »%c«\n" -#: posix/getopt.c:611 +#: posix/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: Die Option »%c%s« erlaubt keine Argumente\n" +msgstr "%s: Die Option »%c%s« erlaubt kein Argument\n" -#: posix/getopt.c:582 +#: posix/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: Die Option »%s« ist nicht eindeutig\n" -#: posix/getopt.c:628 posix/getopt.c:801 +#: posix/getopt.c:724 posix/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: Die Option »%s« erfordert ein Argument\n" -#: posix/getopt.c:606 +#: posix/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: Die Option »--%s« erlaubt kein Argument\n" -#: posix/getopt.c:786 +#: posix/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: Die Option »-W %s« erlaubt keine Argumente\n" +msgstr "%s: Die Option »-W %s« erlaubt kein Argument\n" -#: posix/getopt.c:767 +#: posix/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: Die Option »-W %s« ist nicht eindeutig\n" -#: posix/getopt.c:721 posix/getopt.c:850 +#: posix/getopt.c:816 posix/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Diese Option benötigt ein Argument -- »%c«\n" -#: time/zic.c:837 time/zic.c:1248 time/zic.c:1268 +#: time/zic.c:834 time/zic.c:1246 time/zic.c:1266 #, c-format msgid "%s: panic: Invalid l_value %d\n" -msgstr "%s: Panik: ungültiger l_value %d\n" +msgstr "%s: Panik: ungültiger »l_value« %d\n" #: locale/programs/charmap.c:600 #, c-format msgid "%s: premature end of file" msgstr "%s: Unerwartetes Ende der Datei" -#: posix/getopt.c:661 +#: posix/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: Unbekannte Option »%c%s«\n" -#: posix/getopt.c:657 +#: posix/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: Unbekannte Option »--%s«\n" -#: time/zic.c:446 +#: time/zic.c:441 #, 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: Syntax ist %s [ -s ] [ -v ] [ -l Lokale-Zeit ] [ -p Posix-Regeln ] [ -d Verzeichnis ]\n" +"%s: Syntax ist %s [ -s ] [ -v ] [ -l Lokale-Zeit ] [ -p Posix-Regeln ] [ -d " +"Verzeichnis ]\n" "\t[ -L Schaltsekunden ] [ -y Jahrestyp ] [ Dateiname ... ]\n" -#: time/zdump.c:165 +#: time/zdump.c:174 #, c-format msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" -msgstr "%s: Syntax %s [ -v ] [ -c cutoff ] Zonen-Name ...\n" +msgstr "%s: Syntax: %s [ -v ] [ -c cutoff ] Zonen-Name ...\n" #: sunrpc/clnt_perr.c:125 #, c-format @@ -260,29 +270,30 @@ msgstr "(unbekannter Fehler bei der Auth msgid "(unknown)" msgstr "Unbekanntes Signal" -#: catgets/gencat.c:253 +#: catgets/gencat.c:254 msgid "*standard input*" msgstr "*Standard-Eingabe*" #: stdio-common/../sysdeps/gnu/errlist.c:766 msgid ".lib section in a.out corrupted" -msgstr "».lib«-Sektion in der a.out-Datei ist beschädigt" +msgstr "».lib«-Sektion in der »a.out«-Datei ist beschädigt" -#: inet/rcmd.c:358 +#: inet/rcmd.c:363 msgid ".rhosts fstat failed" msgstr "Fehler beim Holen des Status der Datei ».rhosts«" -#: inet/rcmd.c:354 +#: inet/rcmd.c:359 msgid ".rhosts lstat failed" msgstr "Fehler beim Holen des Link-Status von ».rhosts«" -#: inet/rcmd.c:356 +#: inet/rcmd.c:361 msgid ".rhosts not regular file" msgstr "».rhosts« ist keine reguläre Datei" -#: inet/rcmd.c:362 +#: inet/rcmd.c:367 msgid ".rhosts writeable by other than owner" -msgstr "».rhosts« ist auch für andere Benutzer als den Dateieigentümer beschreibbar" +msgstr "" +"».rhosts« ist auch für andere Benutzer als den Dateieigentümer beschreibbar" #: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133 #, c-format @@ -293,12 +304,12 @@ msgstr "; untere Version = %lu, obere Ve msgid "; why = " msgstr "; Ursache = " -#: locale/programs/ld-ctype.c:326 +#: locale/programs/ld-ctype.c:331 #, c-format msgid " character must not be in class `%s'" msgstr "Das Zeichen »« darf nicht in der Klasse »%s« enthalten sein" -#: locale/programs/ld-ctype.c:317 +#: locale/programs/ld-ctype.c:321 #, c-format msgid " character not in class `%s'" msgstr "Das Zeichen »« ist nicht in der Klasse »%s« enthalten" @@ -310,6 +321,10 @@ msgstr "Das Zeichen »« ist nicht in msgid "?" msgstr "?" +#: sysdeps/unix/sysv/linux/siglist.h:27 +msgid "Aborted" +msgstr "Abgebrochen" + #: stdio-common/../sysdeps/gnu/errlist.c:762 msgid "Accessing a corrupted shared library" msgstr "Zugriff auf eine fehlerhafte oder defekte Shared-Library" @@ -325,10 +340,13 @@ msgstr "Die Adresse wird bereits verwend msgid "Address family not supported by protocol" msgstr "Die Adress-Familie wird von der Protokoll-Familie nicht unterstützt" +# Diese Übersetzung macht eigentlich keinen Sinn - jh #: stdio-common/../sysdeps/gnu/errlist.c:730 msgid "Advertise error" msgstr "Fehler bei der Werbung" +#: stdio-common/../sysdeps/unix/siglist.c:43 +#: sysdeps/unix/sysv/linux/siglist.h:33 msgid "Alarm clock" msgstr "Der Wecker klingelt" @@ -374,6 +392,11 @@ msgstr "Ungültiges Font-Datei-Format" msgid "Bad message" msgstr "Ungültige Nachricht" +#: stdio-common/../sysdeps/unix/siglist.c:41 +#: sysdeps/unix/sysv/linux/siglist.h:56 +msgid "Bad system call" +msgstr "Ungültiger Betriebssystemaufruf" + #. 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. @@ -381,7 +404,7 @@ msgstr "Ungültige Nachricht" msgid "Block device required" msgstr "Es ist ein Block-Device notwendig" -#: sunrpc/pmap_rmt.c:337 +#: sunrpc/pmap_rmt.c:338 msgid "Broadcast select problem" msgstr "Select-Problem beim Broadcast" @@ -391,12 +414,18 @@ msgstr "Select-Problem beim Broadcast" #. 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 +#: stdio-common/../sysdeps/unix/siglist.c:42 +#: sysdeps/unix/sysv/linux/siglist.h:32 msgid "Broken pipe" msgstr "Datenübergabe unterbrochen (broken pipe)" +# Ungültige Adressierung? - jh +#: stdio-common/../sysdeps/unix/siglist.c:39 +#: sysdeps/unix/sysv/linux/siglist.h:30 msgid "Bus error" msgstr "Bus-Zugriffsfehler" +#: sysdeps/unix/sysv/linux/siglist.h:43 msgid "CPU time limit exceeded" msgstr "Rechenzeitbegrenzung überschritten" @@ -404,19 +433,19 @@ msgstr "Rechenzeitbegrenzung überschritt msgid "Can not access a needed shared library" msgstr "Auf eine benötigte Shared-Library kann nicht zugegriffen werden" -#: nis/ypclnt.c:637 +#: nis/ypclnt.c:695 msgid "Can't bind to server which serves this domain" msgstr "Kein Server für diese NIS-Domain gefunden" -#: nis/ypclnt.c:649 +#: nis/ypclnt.c:707 msgid "Can't communicate with portmapper" msgstr "Keine Kommunikation mit dem Portmapper möglich" -#: nis/ypclnt.c:651 +#: nis/ypclnt.c:709 msgid "Can't communicate with ypbind" msgstr "Keine Kommunikation mit »ypbind« möglich" -#: nis/ypclnt.c:653 +#: nis/ypclnt.c:711 msgid "Can't communicate with ypserv" msgstr "Keine Kommunikation mit »ypserv« möglich" @@ -441,7 +470,7 @@ msgstr "Kann den Socket für den Broadcas msgid "Cannot exec a shared library directly" msgstr "Eine Shared-Library kann nicht direkt ausgeführt werden" -#: sunrpc/pmap_rmt.c:349 +#: sunrpc/pmap_rmt.c:350 msgid "Cannot receive reply to broadcast" msgstr "Kann die Antwort auf den Broadcast nicht empfangen" @@ -466,6 +495,8 @@ msgstr "Kann die Option »SO_BROADCAST« n msgid "Channel number out of range" msgstr "Das numerische Ergebnis ist außerhalb des gültigen Bereiches" +#: stdio-common/../sysdeps/unix/siglist.c:49 +#: sysdeps/unix/sysv/linux/siglist.h:39 msgid "Child exited" msgstr "Der Kind-Prozeß ist beendet" @@ -475,20 +506,24 @@ msgstr "Die Bestätigung des Clients ist #: stdio-common/../sysdeps/gnu/errlist.c:738 msgid "Communication error on send" -msgstr "Fehler bei der Authentifizierung" +msgstr "Kommunikationsfehler beim Senden" #. 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 "Der Computer hat den Bauernhof erworben" -#: locale/programs/ld-ctype.c:1197 +#: locale/programs/ld-ctype.c:1204 msgid "Computing table size for character classes might take a while..." -msgstr "Berechnung der Größe der Zeichentabelle: Dies kann einige Zeit dauern" +msgstr "" +"Berechnung der Größe der Tabelle der Zeichenklassen: Dies kann einige Zeit " +"dauern..." -#: locale/programs/ld-collate.c:327 +#: locale/programs/ld-collate.c:329 msgid "Computing table size for collation information might take a while..." -msgstr "Berechnung der Größe der Zeichentabelle: Dies kann einige Zeit dauern" +msgstr "" +"Berechnung der Größe der Tabelle der Sortierinformationen: Dies kann einige " +"Zeit dauern..." #. TRANS A remote host refused to allow the network connection (typically because #. TRANS it is not running the requested service). @@ -507,13 +542,15 @@ msgstr "Die Verbindung wurde vom Kommuni #. TRANS the timeout period. #: stdio-common/../sysdeps/gnu/errlist.c:433 msgid "Connection timed out" -msgstr "Die Wartezeit beim Verbindungsaufbau ist abgelaufen" +msgstr "Die Wartezeit für die Verbindung ist abgelaufen" +#: stdio-common/../sysdeps/unix/siglist.c:48 +#: sysdeps/unix/sysv/linux/siglist.h:38 msgid "Continued" msgstr "Fortgesetzt" #: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187 -#: locale/programs/localedef.c:177 +#: locale/programs/localedef.c:180 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -521,11 +558,16 @@ msgid "" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" "Copyright © %s Free Software Foundation, Inc.\n" -"Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.\n" +"Dies ist freie Software; in den Quellen befinden sich die " +"Lizenzbedingungen.\n" "Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder\n" "VERWENDBARKEIT FÜR EINEN ANGEGEBENEN ZWECK.\n" -#: nis/ypclnt.c:663 +#: stdio-common/../sysdeps/unix/siglist.c:53 +msgid "Cputime limit exceeded" +msgstr "Rechenzeitbegrenzung überschritten" + +#: nis/ypclnt.c:721 msgid "Database is busy" msgstr "Die Databank ist belegt" @@ -538,7 +580,7 @@ msgstr "Es ist eine Zieladresse notwendi #: stdio-common/../sysdeps/gnu/errlist.c:638 msgid "Device not a stream" -msgstr "Das Gerät ist nicht konfiguriert" +msgstr "Das Gerät ist kein 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. @@ -554,7 +596,7 @@ msgstr "Das Gerät ist nicht konfiguriert #. TRANS mounted filesystem, you get this error. #: stdio-common/../sysdeps/gnu/errlist.c:116 msgid "Device or resource busy" -msgstr "Das Gerät ist bereits belegt" +msgstr "Das Gerät oder die Resource ist belegt" #. TRANS Directory not empty, where an empty directory was expected. Typically, #. TRANS this error occurs when you are trying to delete a directory. @@ -567,9 +609,14 @@ msgstr "Das Verzeichnis ist nicht leer" msgid "Disc quota exceeded" msgstr "Der zugewiesene Plattenplatz (Quota) ist überschritten" -#: nis/ypclnt.c:709 +#: nis/ypclnt.c:767 msgid "Domain not bound" -msgstr "Die Domain wurde nicht gefunden" +msgstr "Die Domain wurde nicht zugewiesen" + +#: stdio-common/../sysdeps/unix/siglist.c:36 +#: sysdeps/unix/sysv/linux/siglist.h:53 +msgid "EMT trap" +msgstr "EMT-Trap" #: sunrpc/clnt_perr.c:254 #, c-format @@ -594,9 +641,10 @@ msgstr "Umsteigebahnhof ist überfüllt" msgid "Exec format error" msgstr "Fehler im Format der Programmdatei" -#: locale/programs/localedef.c:213 +#: locale/programs/localedef.c:216 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" -msgstr "Fataler Fehler: Das System definiert das Symbol »_POSIX2_LOCALEDEF« nicht" +msgstr "" +"Fataler Fehler: Das System definiert das Symbol »_POSIX2_LOCALEDEF« nicht" #: sunrpc/clnt_perr.c:290 msgid "Failed (unspecified error)" @@ -623,14 +671,21 @@ msgstr "Verklemmung beim Datei-Locking" msgid "File name too long" msgstr "Der Dateiname ist zu lang" +#: sysdeps/unix/sysv/linux/siglist.h:44 msgid "File size limit exceeded" -msgstr "Die maximale Länge eines Dateinamens ist überschritten" +msgstr "Die maximale Dateigröße ist überschritten" #. 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 "Die Datei ist zu groß" +#: stdio-common/../sysdeps/unix/siglist.c:54 +msgid "Filesize limit exceeded" +msgstr "Die maximale Dateigröße ist überschritten" + +#: stdio-common/../sysdeps/unix/siglist.c:37 +#: sysdeps/unix/sysv/linux/siglist.h:28 msgid "Floating point exception" msgstr "Gleitkomma-Ausnahme" @@ -646,6 +701,8 @@ msgstr "Die angeforderte Funktion ist ni msgid "Gratuitous error" msgstr "Irgendein Fehler" +#: stdio-common/../sysdeps/unix/siglist.c:30 +#: sysdeps/unix/sysv/linux/siglist.h:22 msgid "Hangup" msgstr "Aufgelegt" @@ -658,9 +715,12 @@ msgstr "Der Rechner ist nicht aktiv" msgid "Host name lookup failure" msgstr "Fehler beim Auflösen des Hostnamens" +#: stdio-common/../sysdeps/unix/siglist.c:52 +#: sysdeps/unix/sysv/linux/siglist.h:42 msgid "I/O possible" msgstr "Ein-/Ausgabe ist möglich" +#: stdio-common/../sysdeps/unix/siglist.c:35 msgid "IOT trap" msgstr "Ein-/Ausgabe-Trap (IOT)" @@ -668,9 +728,14 @@ msgstr "Ein-/Ausgabe-Trap (IOT)" msgid "Identifier removed" msgstr "Bezeichner wurde entfernt" +#: sysdeps/unix/sysv/linux/siglist.h:25 msgid "Illegal Instruction" msgstr "Ungültiger Maschinenbefehl" +#: stdio-common/../sysdeps/unix/siglist.c:33 +msgid "Illegal instruction" +msgstr "Ungültiger Maschinenbefehl" + #. TRANS Invalid seek operation (such as on a pipe). #: stdio-common/../sysdeps/gnu/errlist.c:201 msgid "Illegal seek" @@ -701,23 +766,29 @@ msgstr "Unpassender IOCTL (I/O-Control) msgid "Inappropriate operation for background process" msgstr "Unpassende Operation für den Hintergrundprozeß" +#: sysdeps/unix/sysv/linux/siglist.h:62 +msgid "Information request" +msgstr "Informationsanfrage" + #. TRANS Input/output error; usually used for physical read or write errors. #: stdio-common/../sysdeps/gnu/errlist.c:40 msgid "Input/output error" msgstr "Eingabe-/Ausgabe-Fehler" -#: nis/ypclnt.c:643 +#: nis/ypclnt.c:701 msgid "Internal NIS error" msgstr "Interner NIS-Fehler" -#: nis/ypclnt.c:707 +#: nis/ypclnt.c:765 msgid "Internal ypbind error" msgstr "Interner Fehler in »ypbind«" +#: stdio-common/../sysdeps/unix/siglist.c:31 +#: sysdeps/unix/sysv/linux/siglist.h:23 msgid "Interrupt" msgstr "Unterbrechung" -#. TRANS Interrupted function call; an asynchronous signal occured and prevented +#. TRANS Interrupted function call; an asynchronous signal occurred and prevented #. TRANS completion of the call. When this happens, you should try the call #. TRANS again. #. TRANS @@ -726,11 +797,11 @@ msgstr "Unterbrechung" #. TRANS Primitives}. #: stdio-common/../sysdeps/gnu/errlist.c:35 msgid "Interrupted system call" -msgstr "Unterbrechung während Betriebssystemaufruf" +msgstr "Unterbrechung während des Betriebssystemaufrufs" #: stdio-common/../sysdeps/gnu/errlist.c:654 msgid "Interrupted system call should be restarted" -msgstr "Unterbrechung während Betriebssystemaufruf" +msgstr "Der unterbrochene Betriebssystemaufruf sollte neu gestartet werden" #. TRANS Invalid argument. This is used to indicate various kinds of problems #. TRANS with passing the wrong argument to a library function. @@ -738,11 +809,11 @@ msgstr "Unterbrechung während Betriebssy msgid "Invalid argument" msgstr "Das Argument ist ungültig" -#: posix/regex.c:946 +#: posix/regex.c:960 msgid "Invalid back reference" msgstr "Ungültiger Verweis zurück" -#: posix/regex.c:944 +#: posix/regex.c:958 msgid "Invalid character class name" msgstr "Ungültiger Name für eine Zeichenklasse" @@ -754,11 +825,11 @@ msgstr "Die Bestätigung des Clients ist msgid "Invalid client verifier" msgstr "Ungültige Überprüfung des Clients" -#: posix/regex.c:943 +#: posix/regex.c:957 msgid "Invalid collation character" msgstr "Ungültiges Sortierzeichen" -#: posix/regex.c:950 +#: posix/regex.c:964 msgid "Invalid content of \\{\\}" msgstr "Ungültiger Inhalt von »\\{\\}«" @@ -771,33 +842,33 @@ msgstr "Ungültiger Link über Gerätegrenz #: stdio-common/../sysdeps/gnu/errlist.c:690 msgid "Invalid exchange" -msgstr "Das Ende des angegebenen Intervalls ist nicht gültig" +msgstr "Ungültiger Austausch" #. 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 "Ungültiges Sortierzeichen" +msgstr "Ungültiges oder unvollständiges Multi-Byte oder Wide-Zeichen" -#: posix/regex.c:953 +#: posix/regex.c:967 msgid "Invalid preceding regular expression" msgstr "Der vorherige reguläre Ausdruck ist nicht korrekt." -#: posix/regex.c:951 +#: posix/regex.c:965 msgid "Invalid range end" msgstr "Das Ende des angegebenen Intervalls ist nicht gültig" -#: posix/regex.c:942 +#: posix/regex.c:956 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" #: stdio-common/../sysdeps/gnu/errlist.c:706 msgid "Invalid request code" -msgstr "Das Argument ist ungültig" +msgstr "Ungültiger Aufruf-Code" #: stdio-common/../sysdeps/gnu/errlist.c:694 msgid "Invalid request descriptor" -msgstr "Ungültiger Datei-Deskriptor" +msgstr "Ungültiger Aufruf-Deskriptor" #: sunrpc/clnt_perr.c:288 msgid "Invalid server verifier" @@ -805,7 +876,7 @@ msgstr "Ungültige Überprüfung des Server #: stdio-common/../sysdeps/gnu/errlist.c:710 msgid "Invalid slot" -msgstr "Das Argument ist ungültig" +msgstr "Ungültiger Slot" #. TRANS File is a directory; you cannot open a directory for writing, #. TRANS or create or remove hard links to it. @@ -815,8 +886,10 @@ msgstr "Ist ein Verzeichnis" #: stdio-common/../sysdeps/gnu/errlist.c:794 msgid "Is a named type file" -msgstr "Ist eine 'named type file'" +msgstr "Ist eine »named type file«" +#: stdio-common/../sysdeps/unix/siglist.c:38 +#: sysdeps/unix/sysv/linux/siglist.h:29 msgid "Killed" msgstr "Getötet" @@ -826,7 +899,7 @@ msgstr "Level 2 angehalten" #: stdio-common/../sysdeps/gnu/errlist.c:662 msgid "Level 2 not synchronized" -msgstr "Das Gerät ist nicht konfiguriert" +msgstr "Level 2 ist nicht synchronisiert" #: stdio-common/../sysdeps/gnu/errlist.c:666 msgid "Level 3 halted" @@ -842,13 +915,13 @@ msgstr "Der Link wurde beschädigt" #: stdio-common/../sysdeps/gnu/errlist.c:674 msgid "Link number out of range" -msgstr "Das numerische Ergebnis ist außerhalb des gültigen Bereiches" +msgstr "Die Link-Nummer ist außerhalb des gültigen Bereiches" -#: nis/ypclnt.c:655 +#: nis/ypclnt.c:713 msgid "Local domain name not set" msgstr "Der lokale Domain-Name ist nicht eingetragen" -#: nis/ypclnt.c:645 +#: nis/ypclnt.c:703 msgid "Local resource allocation failure" msgstr "Lokaler Fehler bei der Resourcen-Beschaffung" @@ -856,7 +929,7 @@ msgstr "Lokaler Fehler bei der Resourcen msgid "Machine is not on the network" msgstr "Die Maschine ist nicht an das Netzwerk angeschlossen" -#: posix/regex.c:952 +#: posix/regex.c:966 msgid "Memory exhausted" msgstr "Kein Hauptspeicher mehr verfügbar" @@ -868,13 +941,14 @@ msgstr "Die Nachricht ist zu lang" #: stdio-common/../sysdeps/gnu/errlist.c:618 msgid "Multihop attempted" -msgstr "Ein 'Multihop' wurde versucht" +msgstr "Ein »Multihop« wurde versucht" -#: nis/ypclnt.c:659 +#: nis/ypclnt.c:717 msgid "NIS client/server version mismatch - can't supply service" -msgstr "NIS Client/Server Versionen passen nicht zusammen - kein Service möglich" +msgstr "" +"NIS Client/Server Versionen passen nicht zusammen - kein Service möglich" -#: nis/ypclnt.c:657 +#: nis/ypclnt.c:715 msgid "NIS map data base is bad" msgstr "Die Datenbank mit der NIS-Map ist ungültig" @@ -931,11 +1005,11 @@ msgstr "Kein Hauptspeicher für den Puffe #. TRANS to manipulate. #: stdio-common/../sysdeps/gnu/errlist.c:77 msgid "No child processes" -msgstr "Kein Kind-Prozeß" +msgstr "Keine Kind-Prozesse" #: stdio-common/../sysdeps/gnu/errlist.c:622 msgid "No data available" -msgstr "Keine Sperren verfügbar" +msgstr "Keine Daten verfügbar" #. 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 @@ -945,7 +1019,7 @@ msgstr "Keine Sperren verfügbar" msgid "No locks available" msgstr "Keine Sperren verfügbar" -#: posix/regex.c:941 +#: posix/regex.c:955 msgid "No match" msgstr "Keine Übereinstimmung gefunden" @@ -953,11 +1027,11 @@ msgstr "Keine Übereinstimmung gefunden" msgid "No message of desired type" msgstr "Keine Nachricht des gewünschten Typs" -#: nis/ypclnt.c:647 +#: nis/ypclnt.c:705 msgid "No more records in map database" msgstr "Keine weiteren Sätze in der Map-Datenbank" -#: posix/regex.c:5204 +#: posix/regex.c:5324 msgid "No previous regular expression" msgstr "Es wurde bisher noch kein regulärer Ausdruck definiert" @@ -983,11 +1057,11 @@ msgstr "Auf dem Gerät ist kein Speicherp msgid "No such file or directory" msgstr "Datei oder Verzeichnis nicht gefunden" -#: nis/ypclnt.c:641 +#: nis/ypclnt.c:699 msgid "No such key in map" msgstr "Kein passender Schlüssel in der Map" -#: nis/ypclnt.c:639 +#: nis/ypclnt.c:697 msgid "No such map in server's domain" msgstr "Keine passende Map in der Domain des Servers" @@ -998,7 +1072,7 @@ msgstr "Kein passender Prozeß gefunden" #: stdio-common/../sysdeps/gnu/errlist.c:786 msgid "Not a XENIX named type file" -msgstr "Keine XENIX 'named type' Datei" +msgstr "Keine XENIX »named type« Datei" #. TRANS A file that isn't a directory was specified when a directory is required. #: stdio-common/../sysdeps/gnu/errlist.c:140 @@ -1025,7 +1099,7 @@ msgstr "Das numerische Ergebnis ist auße msgid "Object is remote" msgstr "Das Objekt ist remote" -#: time/zic.c:1939 +#: time/zic.c:1966 msgid "Odd number of quotation marks" msgstr "Ungerade Anzahl von Anführungszeichen" @@ -1055,7 +1129,7 @@ msgstr "Die Operation wird nicht unterst #. TRANS particular sort of device. #: stdio-common/../sysdeps/gnu/errlist.c:135 msgid "Operation not supported by device" -msgstr "Die Operation wird von dem Gerät nicht unterstützt" +msgstr "Die Operation wird von diesem Gerät nicht unterstützt" #. TRANS An operation that cannot complete immediately was initiated on an object #. TRANS that has non-blocking mode selected. Some functions that must always @@ -1087,17 +1161,20 @@ msgid "Package not installed" msgstr "Das Zusatzpacket ist nicht installiert" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: nis/ypclnt.c:661 stdio-common/../sysdeps/gnu/errlist.c:96 +#: nis/ypclnt.c:719 stdio-common/../sysdeps/gnu/errlist.c:96 msgid "Permission denied" msgstr "Keine Berechtigung" +#: sysdeps/unix/sysv/linux/siglist.h:64 msgid "Power failure" msgstr "Fehler in der Stromversorgung" -#: posix/regex.c:954 +#: posix/regex.c:968 msgid "Premature end of regular expression" msgstr "Unerwartetes Ende des regulären Ausdruckes" +#: stdio-common/../sysdeps/unix/siglist.c:56 +#: sysdeps/unix/sysv/linux/siglist.h:46 msgid "Profiling timer expired" msgstr "Zeitnehmer zur Laufzeitbestimmung ist abgelaufen" @@ -1107,7 +1184,7 @@ msgstr "Das Protokoll ist nicht verfügba #: stdio-common/../sysdeps/gnu/errlist.c:646 msgid "Protocol error" -msgstr "Fehler des Präprozessors" +msgstr "Protokoll-Fehler" #. TRANS The socket communications protocol family you requested is not supported. #: stdio-common/../sysdeps/gnu/errlist.c:343 @@ -1132,6 +1209,8 @@ msgstr "Das Protokoll wird nicht unterst msgid "Protocol wrong type for socket" msgstr "Das Protokoll paßt nicht zu dem Socket" +#: stdio-common/../sysdeps/unix/siglist.c:32 +#: sysdeps/unix/sysv/linux/siglist.h:24 msgid "Quit" msgstr "Verlassen" @@ -1144,9 +1223,9 @@ msgstr "RFS-spezifischer Fehler" msgid "RPC bad procedure for program" msgstr "RPC: ungültige Prozedur für das Programm" -#: nis/ypclnt.c:635 +#: nis/ypclnt.c:693 msgid "RPC failure on NIS operation" -msgstr "RPC Fehler bei einer NIS-Operation" +msgstr "RPC: Fehler bei einer NIS-Operation" #. TRANS ??? #: stdio-common/../sysdeps/gnu/errlist.c:517 @@ -1156,7 +1235,7 @@ msgstr "RPC: Programm nicht verfügbar" #. TRANS ??? #: stdio-common/../sysdeps/gnu/errlist.c:522 msgid "RPC program version wrong" -msgstr "RPC: Programm-Version nicht passend" +msgstr "RPC: Die Programm-Version ist falsch" #. TRANS ??? #: stdio-common/../sysdeps/gnu/errlist.c:507 @@ -1253,13 +1332,13 @@ msgstr "»RTLD_NEXT« wird in Code verwend msgid "Read-only file system" msgstr "Das Dateisystem ist nur lesbar" -#: posix/regex.c:955 +#: posix/regex.c:969 msgid "Regular expression too big" msgstr "Der reguläre Ausdruck ist zu groß" #: stdio-common/../sysdeps/gnu/errlist.c:798 msgid "Remote I/O error" -msgstr "RPC: Ein-/Ausgabe-Fehler des entfernten Systems" +msgstr "Ein-/Ausgabe-Fehler des entfernten Systems" #: stdio-common/../sysdeps/gnu/errlist.c:754 msgid "Remote address changed" @@ -1270,17 +1349,17 @@ msgid "Remove password or make file unre msgstr "Das Paßwort löschen oder die Datei für andere nicht lesbar anlegen." #: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257 -#: locale/programs/localedef.c:408 -msgid "Report bugs to .\n" -msgstr "Fehler bitte an melden.\n" +#: locale/programs/localedef.c:412 +msgid "Report bugs using the `glibcbug' script to .\n" +msgstr "Fehler bitte mit dem »glibcbug«-Skript an melden.\n" -#: nis/ypclnt.c:633 +#: nis/ypclnt.c:691 msgid "Request arguments bad" msgstr "Die Request-Argumente sind ungültig" #: resolv/herror.c:73 msgid "Resolver Error 0 (no error)" -msgstr "Fehler des Resolvers 0 (Kein Fehler)" +msgstr "Fehler 0 des Resolvers (Kein Fehler)" #: resolv/herror.c:117 msgid "Resolver internal error" @@ -1294,6 +1373,10 @@ msgstr "Interner Fehler des Resolvers" msgid "Resource deadlock avoided" msgstr "Verklemmung beim Zugriff auf eine Resource vermieden" +#: stdio-common/../sysdeps/unix/siglist.c:58 +msgid "Resource lost" +msgstr "Die Resource ist verlorengegangen" + #. 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. @@ -1325,8 +1408,10 @@ msgstr "Verklemmung beim Zugriff auf ein #. TRANS @end itemize #: stdio-common/../sysdeps/gnu/errlist.c:267 msgid "Resource temporarily unavailable" -msgstr "Das Programm ist zur Zeit nicht verfügbar" +msgstr "Die Resource ist zur Zeit nicht verfügbar" +#: stdio-common/../sysdeps/unix/siglist.c:40 +#: sysdeps/unix/sysv/linux/siglist.h:31 msgid "Segmentation fault" msgstr "Speicherzugriffsfehler" @@ -1338,6 +1423,10 @@ msgstr "Der Server hat die Bestätigung z msgid "Server rejected verifier" msgstr "Der Server hat die Überprüfung zurückgewiesen" +#: stdio-common/../sysdeps/unix/siglist.c:29 +msgid "Signal 0" +msgstr "Signal 0" + #. 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" @@ -1357,43 +1446,57 @@ msgstr "Das Programm verursachte den Abb msgid "Srmount error" msgstr "»Srmount«-Fehler" +#: sysdeps/unix/sysv/linux/siglist.h:59 +msgid "Stack fault" +msgstr "Stack-Fehler" + #. 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 "Ungültige NFS-Dateizugriffsnummer" +msgstr "Veraltete NFS-Dateizugriffsnummer" +#: stdio-common/../sysdeps/unix/siglist.c:47 +#: sysdeps/unix/sysv/linux/siglist.h:37 msgid "Stopped" msgstr "Angehalten" +#: stdio-common/../sysdeps/unix/siglist.c:46 +#: sysdeps/unix/sysv/linux/siglist.h:36 msgid "Stopped (signal)" msgstr "Angehalten (Signal)" +#: stdio-common/../sysdeps/unix/siglist.c:50 +#: sysdeps/unix/sysv/linux/siglist.h:40 msgid "Stopped (tty input)" msgstr "Angehalten (tty-Eingabe)" +#: stdio-common/../sysdeps/unix/siglist.c:51 +#: sysdeps/unix/sysv/linux/siglist.h:41 msgid "Stopped (tty output)" msgstr "Angehalten (tty-Ausgabe)" #: stdio-common/../sysdeps/gnu/errlist.c:778 msgid "Streams pipe error" -msgstr "Fehler in Stream-Pipes" +msgstr "Fehler in Stream-Pipe" #: stdio-common/../sysdeps/gnu/errlist.c:782 msgid "Structure needs cleaning" msgstr "Die Struktur muß bereinigt werden" -#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940 +#: nis/ypclnt.c:689 nis/ypclnt.c:763 posix/regex.c:954 #: stdio-common/../sysdeps/gnu/errlist.c:7 msgid "Success" msgstr "Erfolg" -#: nis/ypclnt.c:711 +#: nis/ypclnt.c:769 msgid "System resource allocation failure" msgstr "Fehler bei der Beschaffung einer System-Resource" +#: stdio-common/../sysdeps/unix/siglist.c:44 +#: sysdeps/unix/sysv/linux/siglist.h:34 msgid "Terminated" msgstr "Beendet" @@ -1459,10 +1562,15 @@ msgstr "Zu viele Referenzen: can't splic msgid "Too many users" msgstr "Zu viele Benutzer" +#: stdio-common/../sysdeps/unix/siglist.c:34 +msgid "Trace/BPT trap" +msgstr "Trace/BPT ausgelöst" + +#: sysdeps/unix/sysv/linux/siglist.h:26 msgid "Trace/breakpoint trap" msgstr "Trace/Breakpoint ausgelöst" -#: posix/regex.c:945 +#: posix/regex.c:959 msgid "Trailing backslash" msgstr "Angehängter Backslash (»\\«)" @@ -1488,12 +1596,12 @@ msgid "Transport endpoint is not connect msgstr "Der Socket ist nicht verbunden" #: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241 -#: locale/programs/localedef.c:389 +#: locale/programs/localedef.c:393 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "»%s --help« gibt weitere Informationen.\n" -#: inet/rcmd.c:136 +#: inet/rcmd.c:137 #, c-format msgid "Trying %s...\n" msgstr "Versuche »%s«...\n" @@ -1503,7 +1611,7 @@ msgstr "Versuche »%s«...\n" msgid "Unknown .netrc keyword %s" msgstr "Unbekanntes Schlüsselwort »%s« in der Datei ».netrc«" -#: nis/ypclnt.c:665 +#: nis/ypclnt.c:723 msgid "Unknown NIS error code" msgstr "Unbekannter NIS-Fehlercode" @@ -1529,27 +1637,27 @@ msgstr "Unbekannter Fehler des Servers" msgid "Unknown signal %d" msgstr "Unbekanntes Signal %d" -#: misc/error.c:95 +#: misc/error.c:100 msgid "Unknown system error" msgstr "Unbekannter Systemfehler" -#: nis/ypclnt.c:713 +#: nis/ypclnt.c:771 msgid "Unknown ypbind error" msgstr "Unbekannter Fehler im »ypbind«" -#: posix/regex.c:948 +#: posix/regex.c:962 msgid "Unmatched ( or \\(" msgstr "»(« oder »\\(« ohne schließende Klammer" -#: posix/regex.c:956 +#: posix/regex.c:970 msgid "Unmatched ) or \\)" msgstr "»)« oder »\\)« ohne öffnende Klammer" -#: posix/regex.c:947 +#: posix/regex.c:961 msgid "Unmatched [ or [^" msgstr "»[« oder »[^« ohne schließende Klammer" -#: posix/regex.c:949 +#: posix/regex.c:963 msgid "Unmatched \\{" msgstr "»\\{« ohne schließende Klammer" @@ -1558,6 +1666,8 @@ msgstr "»\\{« ohne schließende Klammer" msgid "Unrecognized variable `%s'" msgstr "Unbekannte Variable »%s«" +#: stdio-common/../sysdeps/unix/siglist.c:45 +#: sysdeps/unix/sysv/linux/siglist.h:35 msgid "Urgent I/O condition" msgstr "Dringende Ein-/Ausgabe-Bedingung" @@ -1623,12 +1733,13 @@ msgstr "" "Wenn als Name der Eingabe-Datei ein '-' angegeben ist, dann wird\n" "von der Standard-Eingabe gelesen.\n" -#: locale/programs/localedef.c:393 +#: locale/programs/localedef.c:397 #, 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" +" -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" @@ -1686,7 +1797,7 @@ msgstr "" " beschreibungen aus\n" "\n" " -c, --category-name Gibt die Namen der gewünschten Kategorien aus\n" -" -k, --keyword-name Gibt die Namen der geswünschten Schlüsselworte aus\n" +" -k, --keyword-name Gibt die Namen der gewünschten Schlüsselworte aus\n" #: posix/getconf.c:200 #, c-format @@ -1695,11 +1806,17 @@ msgstr "Syntax: %s Variablen-Name [Pfadn #: sunrpc/rpcinfo.c:609 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" -msgstr "Syntax: rpcinfo [ -n Portnummer ] -u Rechner Programm-Nummer [Versions-Nummer]\n" +msgstr "" +"Syntax: rpcinfo [ -n Portnummer ] -u Rechner Programm-Nummer " +"[Versions-Nummer]\n" +#: stdio-common/../sysdeps/unix/siglist.c:59 +#: sysdeps/unix/sysv/linux/siglist.h:48 msgid "User defined signal 1" msgstr "Benutzerdefiniertes Signal 1" +#: stdio-common/../sysdeps/unix/siglist.c:60 +#: sysdeps/unix/sysv/linux/siglist.h:49 msgid "User defined signal 2" msgstr "Benutzerdefiniertes Signal 2" @@ -1707,36 +1824,40 @@ msgstr "Benutzerdefiniertes Signal 2" msgid "Value too large for defined data type" msgstr "Der Wert ist zu groß für den definierten Datentyp" +#: stdio-common/../sysdeps/unix/siglist.c:55 +#: sysdeps/unix/sysv/linux/siglist.h:45 msgid "Virtual timer expired" msgstr "Der virtuelle Zeitnehmer ist abgelaufen" -#: time/zic.c:1844 +#: time/zic.c:1871 msgid "Wild result from command execution" msgstr "Wildes Ergebnis aus der Kommando-Ausführung" +#: stdio-common/../sysdeps/unix/siglist.c:57 +#: sysdeps/unix/sysv/linux/siglist.h:47 msgid "Window changed" msgstr "Die Fenstergröße wurde verändert" #: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192 -#: locale/programs/localedef.c:182 +#: locale/programs/localedef.c:185 #, c-format msgid "Written by %s.\n" msgstr "Implementiert von %s.\n" -#: nis/ypclnt.c:146 +#: nis/ypclnt.c:142 msgid "YPBINDPROC_DOMAIN: Internal error\n" msgstr "YPBINDPROC_DOMAIN: Interner Fehler\n" -#: nis/ypclnt.c:150 +#: nis/ypclnt.c:146 #, c-format msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" msgstr "YPBINDPROC_DOMAIN: Kein Server für die NIS-Domain »%s«\n" -#: nis/ypclnt.c:154 +#: nis/ypclnt.c:150 msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" msgstr "YPBINDPROC_DOMAIN: Fehler bei der Resourcen-Beschaffung\n" -#: nis/ypclnt.c:158 +#: nis/ypclnt.c:154 msgid "YPBINDPROC_DOMAIN: Unknown error\n" msgstr "YPBINDPROC_DOMAIN: Unbekannter Fehler\n" @@ -1745,67 +1866,72 @@ msgstr "YPBINDPROC_DOMAIN: Unbekannter F msgid "You really blew it this time" msgstr "Diesmal hast Du es wirklich kaputtgemacht" -#: time/zic.c:1050 +#: time/zic.c:1048 msgid "Zone continuation line end time is not after end time of previous line" -msgstr "Die Ende-Zeit der Fortsetzungszeile ist nicht später als die Ende-Zeit der vorangegangenen Zeile" +msgstr "" +"Die Ende-Zeit der Fortsetzungszeile ist nicht später als die Ende-Zeit der " +"vorangegangenen Zeile" -#: locale/programs/charmap.c:397 locale/programs/locfile.c:341 +#: locale/programs/charmap.c:397 locale/programs/locfile.c:363 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "Die Definition von »%1$s« ist nicht durch »END %1$s« abgeschlossen" -#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190 +#: locale/programs/ld-monetary.c:359 locale/programs/ld-numeric.c:190 #, c-format msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "»-1« muß der letzte Eintrag im »%s«-Feld in der »%s«-Kategorie sein" -#: locale/programs/ld-collate.c:1652 +#: locale/programs/ld-collate.c:1655 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "»...« darf nur in »...« und »UNDEFINED« Einträgen verwendet werden" -#: locale/programs/locfile.c:538 +#: locale/programs/locfile.c:560 msgid "`from' expected after first argument to `collating-element'" msgstr "»from« erwartet nach dem ersten Argument von »collating-element«" -#: locale/programs/ld-collate.c:1109 -msgid "`from' string in collation element declaration contains unknown character" -msgstr "Der »from«-String in der Deklaration des »collation element« enthält unbekannte Zeichen" +#: locale/programs/ld-collate.c:1112 +msgid "" +"`from' string in collation element declaration contains unknown character" +msgstr "" +"Der »from«-String in der Deklaration des »collation element« enthält " +"unbekannte Zeichen" #: locale/programs/charmap.c:267 #, c-format msgid "argument to <%s> must be a single character" msgstr "Das Argument für »<%s>« muß ein einzelnes Zeichen sein" -#: locale/programs/locfile.c:215 +#: locale/programs/locfile.c:237 #, c-format msgid "argument to `%s' must be a single character" -msgstr "Das Argument zu »%s« muß ein eizelnes Zeichen sein" +msgstr "Das Argument zu »%s« muß ein einzelnes Zeichen sein" -#: sunrpc/auth_unix.c:322 +#: sunrpc/auth_unix.c:323 msgid "auth_none.c - Fatal marshalling problem" msgstr "auth_none.c - Fatales »marshalling«-Problem" -#: inet/rcmd.c:360 +#: inet/rcmd.c:365 msgid "bad .rhosts owner" msgstr "Ungültiger Eigentümer der Datei ».rhosts«" -#: locale/programs/charmap.c:212 locale/programs/locfile.c:209 +#: locale/programs/charmap.c:212 locale/programs/locfile.c:231 msgid "bad argument" msgstr "Das Argument ist ungültig" -#: time/zic.c:1172 +#: time/zic.c:1170 msgid "blank FROM field on Link line" msgstr "Leeres FROM-Feld in der Link-Zeile" -#: time/zic.c:1176 +#: time/zic.c:1174 msgid "blank TO field on Link line" msgstr "Leeres TO-Feld in der Link-Zeile" -#: malloc/mcheck.c:189 +#: malloc/mcheck.c:191 msgid "block freed twice" msgstr "Speicherblock zum zweiten Mal freigegeben" -#: malloc/mcheck.c:192 +#: malloc/mcheck.c:194 msgid "bogus mcheck_status, library is buggy" msgstr "Eigenartiger »mcheck_status«, die Bibliothek enthält Fehler" @@ -1821,117 +1947,125 @@ msgstr "Broadcast: ioctl (Holen der Para msgid "cache_set: victim not found" msgstr "cache_set: Das Opfer wurde nicht gefunden" -#: time/zic.c:1685 -msgid "can't determine time zone abbrevation to use just after until time" -msgstr "Kann die Abkürzung der Zeitzone zur Verwendung direkt nach der Zeit nicht bestimmen" +#: time/zic.c:1698 +msgid "can't determine time zone abbreviation to use just after until time" +msgstr "Kann die Abkürzung der Zeitzone zur Verwendung direkt nach der Ende-Zeit nicht bestimmen" #: sunrpc/svc_simple.c:64 #, c-format msgid "can't reassign procedure number %d\n" msgstr "Kann die Prozedurnummer %d nicht erneut zuweisen\n" -#: locale/programs/localedef.c:287 +#: locale/programs/localedef.c:291 #, c-format msgid "cannot `stat' locale file `%s'" msgstr "Kann den Status der Lokale-Datei »%s« nicht bestimmen" -#: locale/programs/ld-collate.c:1314 +#: locale/programs/ld-collate.c:1317 #, c-format msgid "cannot insert collation element `%.*s'" -msgstr "Kann das »Collation«-Element »%.*s« nicht einfügen" +msgstr "Kann das Sortierelement »%.*s« nicht einfügen" -#: locale/programs/ld-collate.c:1493 locale/programs/ld-collate.c:1498 +#: locale/programs/ld-collate.c:1496 locale/programs/ld-collate.c:1501 msgid "cannot insert into result table" msgstr "Kann nicht in die Ergebnis-Tabelle einfügen" -#: locale/programs/ld-collate.c:1166 locale/programs/ld-collate.c:1208 +#: locale/programs/ld-collate.c:1169 locale/programs/ld-collate.c:1211 #, c-format msgid "cannot insert new collating symbol definition: %s" -msgstr "Kann die neue »Collating-Symbol«-Definition nicht einfügen: %s" +msgstr "Kann die neue Sortiersymbol-Definition nicht einfügen: %s" #: db/makedb.c:161 #, c-format msgid "cannot open database file `%s': %s" msgstr "Kann die Ausgabedatei »%s« nicht öffnen: %s" -#: catgets/gencat.c:259 db/makedb.c:180 +#: catgets/gencat.c:260 db/makedb.c:180 #, c-format msgid "cannot open input file `%s'" msgstr "Kann die Eingabedatei »%s« nicht öffnen" -#: locale/programs/localedef.c:221 +#: locale/programs/localedef.c:224 #, c-format msgid "cannot open locale definition file `%s'" msgstr "Kann die Lokale-Definitionsdatei »%s« nicht öffnen" -#: catgets/gencat.c:764 catgets/gencat.c:805 db/makedb.c:189 +#: catgets/gencat.c:765 catgets/gencat.c:806 db/makedb.c:189 #, c-format msgid "cannot open output file `%s'" msgstr "Kann die Ausgabedatei »%s« nicht öffnen" -#: locale/programs/locfile.c:986 +#: locale/programs/locfile.c:1008 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "Kann die Ausgabedatei »%s« für die Kategorie »%s« nicht öffnen" -#: locale/programs/ld-collate.c:1360 +#: locale/programs/ld-collate.c:1363 msgid "cannot process order specification" msgstr "Kann die Spezifikation der Sortierreihenfolge nicht verarbeiten" -#: locale/programs/locale.c:303 +#: locale/programs/locale.c:304 #, c-format msgid "cannot read character map directory `%s'" -msgstr "Das Verzeichnis »%s« der Zeichensatz-Definitionen kann nicht gelesen werden" +msgstr "" +"Das Verzeichnis »%s« der Zeichensatz-Definitionen kann nicht gelesen werden" -#: locale/programs/locale.c:278 +#: locale/programs/locale.c:279 #, c-format msgid "cannot read locale directory `%s'" msgstr "Kann das Lokale-Verzeichnis »%s« nicht lesen" -#: locale/programs/localedef.c:309 +#: locale/programs/localedef.c:313 #, c-format msgid "cannot read locale file `%s'" msgstr "Kann die Lokale-Datei »%s« nicht lesen" -#: locale/programs/localedef.c:334 +#: locale/programs/localedef.c:338 #, c-format msgid "cannot write output files to `%s'" msgstr "Kann die Ausgabedatei »%s« nicht schreiben" -#: locale/programs/localedef.c:377 +#: locale/programs/localedef.c:381 msgid "category data requested more than once: should not happen" -msgstr "Die Daten einer Kategorie sind mehrfach angefordert worden, das sollte nicht passieren" +msgstr "" +"Die Daten einer Kategorie sind mehrfach angefordert worden, das sollte nicht " +"passieren" -#: locale/programs/ld-ctype.c:265 +#: locale/programs/ld-ctype.c:266 #, c-format msgid "character %s'%s' in class `%s' must be in class `%s'" -msgstr "Das Zeichen %s»%s«, das in der Zeichenklasse »%s« enthalten ist, muß auch in der Zeichenklasse »%s« enthalten sein" +msgstr "" +"Das Zeichen %s»%s«, das in der Zeichenklasse »%s« enthalten ist, muß auch in " +"der Zeichenklasse »%s« enthalten sein" -#: locale/programs/ld-ctype.c:289 +#: locale/programs/ld-ctype.c:291 #, c-format msgid "character %s'%s' in class `%s' must not be in class `%s'" -msgstr "Das Zeichen %s»%s« in der Zeichenklasse »%s« darf nicht in der Zeichenklasse »%s« enthalten sein" +msgstr "" +"Das Zeichen %s»%s« in der Zeichenklasse »%s« darf nicht in der Zeichenklasse " +"»%s« enthalten sein" -#: locale/programs/ld-ctype.c:310 +#: locale/programs/ld-ctype.c:313 msgid "character not defined in character map" msgstr "Das Zeichen »« ist in der Zeichen-Definition nicht enthalten" -#: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002 -#: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018 -#: locale/programs/ld-ctype.c:1026 locale/programs/ld-ctype.c:1034 -#: locale/programs/ld-ctype.c:1042 locale/programs/ld-ctype.c:1068 -#: locale/programs/ld-ctype.c:1076 locale/programs/ld-ctype.c:1114 -#: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152 +#: locale/programs/ld-ctype.c:944 locale/programs/ld-ctype.c:1007 +#: locale/programs/ld-ctype.c:1015 locale/programs/ld-ctype.c:1023 +#: locale/programs/ld-ctype.c:1031 locale/programs/ld-ctype.c:1039 +#: locale/programs/ld-ctype.c:1047 locale/programs/ld-ctype.c:1073 +#: locale/programs/ld-ctype.c:1081 locale/programs/ld-ctype.c:1119 +#: locale/programs/ld-ctype.c:1146 locale/programs/ld-ctype.c:1157 #, c-format msgid "character `%s' not defined while needed as default value" -msgstr "Das Zeichen »%s« ist nicht definiert, wird aber als Vorgabewert benötigt" +msgstr "" +"Das Zeichen »%s« ist nicht definiert, wird aber als Vorgabewert benötigt" -#: locale/programs/ld-ctype.c:801 +#: locale/programs/ld-ctype.c:806 #, c-format msgid "character class `%s' already defined" msgstr "Die Zeichenklasse »%s« ist bereits definiert" -#: locale/programs/ld-ctype.c:833 +#: locale/programs/ld-ctype.c:838 #, c-format msgid "character map `%s' already defined" msgstr "Die Zeichensatzbeschreibung »%s« ist bereits definiert" @@ -1945,22 +2079,26 @@ msgstr "Die Zeichensatzbeschreibungs-Dat msgid "clnt_raw.c - Fatal header serialization error." msgstr "clnt_raw.c - Fataler Fehler bei der Header-Serialisierung." -#: locale/programs/ld-collate.c:1329 +#: locale/programs/ld-collate.c:1332 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" -msgstr "Das 'collation'-Element »%.*s« ist mehr als einmal angegeben: Die Zeile wird ignoriert" +msgstr "" +"Das Sortierungselement »%.*s« ist mehr als einmal angegeben: Die Zeile wird " +"ignoriert" -#: locale/programs/ld-collate.c:1347 +#: locale/programs/ld-collate.c:1350 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" -msgstr "Das 'Collation'-Symbol »%.*s« ist mehr als einmal angegeben; die Zeile wird ignoriert" +msgstr "" +"Das Sortierungssymbol »%.*s« ist mehr als einmal angegeben; die Zeile wird " +"ignoriert" -#: locale/programs/locfile.c:522 +#: locale/programs/locfile.c:544 #, c-format msgid "collation symbol expected after `%s'" -msgstr "Nach »%s« wird ein 'collation'-Symbol erwartet" +msgstr "Nach »%s« wird ein Sortierungssymbol erwartet" -#: inet/rcmd.c:129 +#: inet/rcmd.c:130 #, c-format msgid "connect to address %s: " msgstr "Verbindungsaufbau zur Adresse %s: " @@ -1972,61 +2110,70 @@ msgstr "Kann keinen RPC-Server erzeugen\ #: sunrpc/svc_simple.c:77 #, c-format msgid "couldn't register prog %d vers %d\n" -msgstr "Kann das Programm %d Version %d nicht registrieren\n" +msgstr "Kann das Programm »%d« Version »%d« nicht registrieren\n" #: locale/programs/charmap.c:86 #, c-format msgid "default character map file `%s' not found" -msgstr "Die Default-Zeichensatzbeschreibung in der Datei »%s« wurde nicht gefunden" +msgstr "" +"Die Default-Zeichensatzbeschreibung in der Datei »%s« wurde nicht gefunden" #: locale/programs/ld-time.c:154 #, c-format -msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'" -msgstr "Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist weder »+« noch »-«" +msgid "" +"direction flag in string %d in `era' field in category `%s' is not '+' nor " +"'-'" +msgstr "" +"Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie " +"»%s« ist weder »+« noch »-«" #: locale/programs/ld-time.c:164 #, c-format -msgid "direction flag in string %d in `era' field in category `%s' is not a single character" -msgstr "Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist kein einzelnes Zeichen" +msgid "" +"direction flag in string %d in `era' field in category `%s' is not a single " +"character" +msgstr "" +"Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie " +"»%s« ist kein einzelnes Zeichen" #: locale/programs/charset.c:87 locale/programs/charset.c:132 #, c-format msgid "duplicate character name `%s'" msgstr "Der Name des Zeichens »%s« ist mehrfach angegeben" -#: locale/programs/ld-collate.c:1141 +#: locale/programs/ld-collate.c:1144 msgid "duplicate collating element definition" -msgstr "Mehrfache Definition des 'collating'-Elementes" +msgstr "Mehrfache Definition des Sortierungselementes" -#: locale/programs/ld-collate.c:1287 +#: locale/programs/ld-collate.c:1290 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "Mehrfache Definition des Eintrages »%.*s«" -#: db/makedb.c:310 +#: db/makedb.c:311 msgid "duplicate key" -msgstr "Doppelter Eintrag" +msgstr "Doppelter Schlüssel" -#: catgets/gencat.c:378 +#: catgets/gencat.c:379 msgid "duplicate set definition" msgstr "Doppelte »set«-Definition" -#: time/zic.c:965 +#: time/zic.c:963 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "Doppelter Zonen-Name »%s« (Datei »%s«, Zeile %d)" -#: catgets/gencat.c:541 +#: catgets/gencat.c:542 msgid "duplicated message identifier" msgstr "Der Nachrichten-Bezeichner ist mehrfach vorhanden" -#: catgets/gencat.c:514 +#: catgets/gencat.c:515 msgid "duplicated message number" msgstr "Die Nachrichten-Nummer ist mehrfach vorhanden" -#: locale/programs/ld-collate.c:1696 +#: locale/programs/ld-collate.c:1699 msgid "empty weight name: line ignored" -msgstr "Leerer »weight«-Name: Die Zeile wird ignoriert" +msgstr "Leerer Name des Sortiergewichtes: Die Zeile wird ignoriert" #: sunrpc/svc_udp.c:348 msgid "enablecache: cache already enabled" @@ -2044,91 +2191,104 @@ msgstr "enablecache: Kann die Cache-Date msgid "enablecache: could not allocate cache fifo" msgstr "enablecache: Kann keinen FIFO-Cache anlegen" -#: locale/programs/ld-collate.c:1419 +#: locale/programs/ld-collate.c:1422 msgid "end point of ellipsis range is bigger then start" msgstr "Das Ende eines Auslassungs-Intervalls ist gößer als der Start" -#: locale/programs/ld-collate.c:1149 +#: locale/programs/ld-collate.c:1152 msgid "error while inserting collation element into hash table" msgstr "Fehler beim Einfügen des Collation-Elementes in die Hash-Tabelle" -#: locale/programs/ld-collate.c:1161 +#: locale/programs/ld-collate.c:1164 msgid "error while inserting to hash table" msgstr "Fehler beim Einfügen in die Hash-Tabelle" -#: locale/programs/locfile.c:465 +#: locale/programs/locfile.c:487 msgid "expect string argument for `copy'" msgstr "Für »copy« wird ein String-Argument erwartet" -#: time/zic.c:856 +#: time/zic.c:854 msgid "expected continuation line not found" msgstr "Die erwartete Fortsetzungszeile ist nicht vorhanden" -#: locale/programs/locfile.c:1010 +#: locale/programs/locfile.c:1032 #, c-format msgid "failure while writing data for category `%s'" msgstr "Fehler beim Schreiben der Daten für die Kategorie »%s«" -#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95 +#: nis/ypclnt.c:187 +msgid "fcntl: F_SETFD" +msgstr "fcntl: F_SETFD" + +#: locale/programs/ld-monetary.c:155 locale/programs/ld-numeric.c:95 #, c-format msgid "field `%s' in category `%s' not defined" -msgstr "Der Eintrag »%s« in der Kategorie »%s« ist undefiniert" +msgstr "Der Eintrag »%s« in der Kategorie »%s« ist nicht definiert" #: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102 #, c-format msgid "field `%s' in category `%s' undefined" -msgstr "Der Eintrag »%s« in der Kategorie »%s« ist undefiniert" +msgstr "Der Eintrag »%s« in der Kategorie »%s« ist nicht definiert" -#: locale/programs/locfile.c:547 +#: locale/programs/locfile.c:569 msgid "from-value of `collating-element' must be a string" -msgstr "Der From-Wert eines `collating-Eelements' muß ein String sein" +msgstr "Der »From«-Wert eines Sortierelementes muß ein String sein" #: locale/programs/linereader.c:328 msgid "garbage at end of character code specification" msgstr "Murks am Ende einer Zeichensatz-Spezifikation" #: locale/programs/linereader.c:214 -msgid "garbage at end of digit" -msgstr "Am Ende der Ziffer sind unsinnige Einträge" +msgid "garbage at end of number" +msgstr "Am Ende der Zahl sind unsinnige Einträge" #: locale/programs/ld-time.c:183 #, c-format -msgid "garbage at end of offset value in string %d in `era' field in category `%s'" -msgstr "Unsinnige Einträge am Ende des Offset-Wertes in der Zeichenkette %d im »era«-Feld der Kategorie »%s«" +msgid "" +"garbage at end of offset value in string %d in `era' field in category `%s'" +msgstr "" +"Unsinnige Einträge am Ende des Offset-Wertes in der Zeichenkette %d im " +"»era«-Feld der Kategorie »%s«" #: locale/programs/ld-time.c:238 #, c-format -msgid "garbage at end of starting date in string %d in `era' field in category `%s'" -msgstr "Unsinnige Einträge am Ende des Start-Datums in der Zeichenkette %d im »era«-Feld der Kategorie »%s«" +msgid "" +"garbage at end of starting date in string %d in `era' field in category `%s'" +msgstr "" +"Unsinnige Einträge am Ende des Start-Datums in der Zeichenkette %d im " +"»era«-Feld der Kategorie »%s«" -#: locale/programs/ld-time.c:310 +#: locale/programs/ld-time.c:311 #, c-format -msgid "garbage at end of stopping date in string %d in `era' field in category `%s'" -msgstr "Unsinnige Eintrage am Ende des Stop-Datums in der Zeichenkette %d im »era«-Feld der Kategorie »%s«" +msgid "" +"garbage at end of stopping date in string %d in `era' field in category `%s'" +msgstr "" +"Unsinnige Eintrage am Ende des Stop-Datums in der Zeichenkette %d im " +"»era«-Feld der Kategorie »%s«" #: sunrpc/get_myaddr.c:73 msgid "get_myaddress: ioctl (get interface configuration)" -msgstr "get_myaddress: ioctl (Holen der Konfiguration der Schnittstelle)" +msgstr "get_myaddress: ioctl (Holen der Schnittstellen-Konfiguration)" -#: time/zic.c:1149 +#: time/zic.c:1147 msgid "illegal CORRECTION field on Leap line" -msgstr "ungültiges »CORRECTION«-Feld in der 'Leap'-Zeile" +msgstr "ungültiges »CORRECTION«-Feld in der »Leap«-Zeile" -#: time/zic.c:1153 +#: time/zic.c:1151 msgid "illegal Rolling/Stationary field on Leap line" -msgstr "ungültiges »Rolling/Stationary«-Feld in der 'Leap'-Zeile" +msgstr "ungültiges »Rolling/Stationary«-Feld in der »Leap«-Zeile" -#: locale/programs/ld-collate.c:1767 +#: locale/programs/ld-collate.c:1770 msgid "illegal character constant in string" -msgstr "Nicht erlaubtes Zeichen in der Datei: " +msgstr "Ungültige Zeichen-Konstante in der Zeichenkette" -#: locale/programs/ld-collate.c:1116 +#: locale/programs/ld-collate.c:1119 msgid "illegal collation element" -msgstr "Nicht erlaubtes Zeichen in der Datei: " +msgstr "Ungültiges »collation«-Element" #: locale/programs/charmap.c:196 msgid "illegal definition" -msgstr "Ungültiger Maschinenbefehl" +msgstr "Ungültige Definition" #: locale/programs/charmap.c:349 msgid "illegal encoding given" @@ -2136,99 +2296,111 @@ msgstr "Ungültige Kodierung angegeben" #: locale/programs/linereader.c:546 msgid "illegal escape sequence at end of string" -msgstr "ungültige Escape-Sequenc am Ende des Strings" +msgstr "ungültige Escape-Sequenz am Ende der Zeichenkette" #: locale/programs/charset.c:101 msgid "illegal names for character range" -msgstr "Ungültige Namen für den Zeichen-Bereich" +msgstr "ungültige Namen für den Zeichen-Bereich" #: locale/programs/ld-time.c:176 #, c-format msgid "illegal number for offset in string %d in `era' field in category `%s'" -msgstr "ungültige Nummer für den Offset in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«" +msgstr "" +"ungültige Nummer für den Offset in der Zeichenkette %d im »era«-Feld in der " +"Kategorie »%s«" -#: catgets/gencat.c:351 catgets/gencat.c:428 +#: catgets/gencat.c:352 catgets/gencat.c:429 msgid "illegal set number" -msgstr "Nicht erlaubter Seek" +msgstr "ungültige »set«-Nummer" #: locale/programs/ld-time.c:230 #, c-format msgid "illegal starting date in string %d in `era' field in category `%s'" -msgstr "ungültiges Start-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«" +msgstr "" +"ungültiges Start-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie " +"»%s«" -#: locale/programs/ld-time.c:302 +#: locale/programs/ld-time.c:303 #, c-format msgid "illegal stopping date in string %d in `era' field in category `%s'" -msgstr "ungültiges Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«" +msgstr "" +"ungültiges Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie " +"»%s«" -#: locale/programs/ld-ctype.c:807 +#: locale/programs/ld-ctype.c:812 #, c-format msgid "implementation limit: no more than %d character classes allowed" -msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichensatz-Klassen erlaubt" +msgstr "" +"Limit der Implementation: Es sind nicht mehr als %d Zeichen-Klassen erlaubt" -#: locale/programs/ld-ctype.c:839 +#: locale/programs/ld-ctype.c:844 #, c-format msgid "implementation limit: no more than %d character maps allowed" -msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichen-Maps erlaubt" +msgstr "" +"Limit der Implementation: Es sind nicht mehr als %d Zeichen-Maps erlaubt" #: db/makedb.c:163 msgid "incorrectly formatted file" -msgstr "ungültig formatierten Zeile" +msgstr "ungültig formatierte Datei" -#: time/zic.c:814 +#: time/zic.c:811 msgid "input line of unknown type" msgstr "Die Eingabezeile ist von einem unbekannten Typ" -#: time/zic.c:1733 +#: time/zic.c:1760 msgid "internal error - addtype called with bad isdst" -msgstr "Interner Fehler - »addtype« wurde mit einer ungültigen »isdst« aufgerufen" +msgstr "" +"Interner Fehler - »addtype« wurde mit einer ungültigen »isdst« aufgerufen" -#: time/zic.c:1741 +#: time/zic.c:1768 msgid "internal error - addtype called with bad ttisgmt" -msgstr "Interner Fehler - »addtype« wurde mit einem ungültigen »ttisgmt« aufgerufen" +msgstr "" +"Interner Fehler - »addtype« wurde mit einem ungültigen »ttisgmt« aufgerufen" -#: time/zic.c:1737 +#: time/zic.c:1764 msgid "internal error - addtype called with bad ttisstd" -msgstr "Interner Fehler - »addtype« wurde mit einem ungültigen »ttisstd« aufgerufen" +msgstr "" +"Interner Fehler - »addtype« wurde mit einem ungültigen »ttisstd« aufgerufen" -#: locale/programs/ld-ctype.c:301 +#: locale/programs/ld-ctype.c:304 #, c-format msgid "internal error in %s, line %u" msgstr "Interner Fehler in der Datei »%s«, Zeile %u" -#: time/zic.c:1021 +# Sollte das nicht UTC sein? -- jh +#: time/zic.c:1019 msgid "invalid GMT offset" msgstr "ungültiger GMT-Offset" -#: time/zic.c:1024 +#: time/zic.c:1022 msgid "invalid abbreviation format" msgstr "ungültiges Abkürzungsformat" -#: time/zic.c:1114 time/zic.c:1313 time/zic.c:1327 +#: time/zic.c:1112 time/zic.c:1313 time/zic.c:1327 msgid "invalid day of month" msgstr "Ungültiger Tag des Monats" -#: time/zic.c:1272 +#: time/zic.c:1270 msgid "invalid ending year" msgstr "Ungültiges Ende-Jahr" -#: time/zic.c:1086 +#: time/zic.c:1084 msgid "invalid leaping year" msgstr "Ungültiges Schaltjahr" -#: time/zic.c:1101 time/zic.c:1204 +#: time/zic.c:1099 time/zic.c:1202 msgid "invalid month name" msgstr "ungültiger Monatsname" -#: time/zic.c:920 +#: time/zic.c:918 msgid "invalid saved time" msgstr "Ungültige gespeicherte Zeit" -#: time/zic.c:1252 +#: time/zic.c:1250 msgid "invalid starting year" msgstr "Ungültiges Anfangsjahr" -#: time/zic.c:1130 time/zic.c:1232 +#: time/zic.c:1128 time/zic.c:1230 msgid "invalid time of day" msgstr "Ungültige Tageszeit" @@ -2236,61 +2408,70 @@ msgstr "Ungültige Tageszeit" msgid "invalid weekday name" msgstr "ungültiger Name für einen Wochentag" -#: locale/programs/ld-collate.c:1412 +#: locale/programs/ld-collate.c:1415 msgid "line after ellipsis must contain character definition" -msgstr "Die Zeile nach einem Auslassungintervall muß eine Zeichen-Definition enthalten" +msgstr "" +"Die Zeile nach einem Auslassungintervall muß eine Zeichen-Definition " +"enthalten" -#: locale/programs/ld-collate.c:1391 +#: locale/programs/ld-collate.c:1394 msgid "line before ellipsis does not contain definition for character constant" -msgstr "Die Zeile vor einem Auslassungsintervall muß eine Zeichen-Definition enthalten" +msgstr "" +"Die Zeile vor einem Auslassungsintervall muß eine Zeichen-Konstante enthalten" -#: time/zic.c:794 +#: time/zic.c:791 msgid "line too long" msgstr "Die Zeile ist zu lang" -#: locale/programs/localedef.c:281 +#: locale/programs/localedef.c:285 #, c-format msgid "locale file `%s', used in `copy' statement, not found" -msgstr "Die Lokale-Datei »%s«, die im »copy«-Befehl verwendet wird, ist nicht vorhanden" +msgstr "" +"Die Lokale-Datei »%s«, die im »copy«-Befehl verwendet wird, ist nicht " +"vorhanden" -#: catgets/gencat.c:609 +#: catgets/gencat.c:610 msgid "malformed line ignored" msgstr "ungültige Eingabezeile ignoriert" -#: malloc/mcheck.c:183 +#: malloc/mcheck.c:185 msgid "memory clobbered before allocated block" msgstr "Der Speicher vor dem allozierten Block wurde überschrieben" -#: malloc/mcheck.c:186 +#: malloc/mcheck.c:188 msgid "memory clobbered past end of allocated block" msgstr "Der Speicher nach dem Ende des allozierten Blockes wurde überschrieben" #: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173 -#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1439 -#: locale/programs/ld-collate.c:1468 locale/programs/locfile.c:940 +#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1442 +#: locale/programs/ld-collate.c:1471 locale/programs/locfile.c:962 #: locale/programs/xmalloc.c:68 posix/getconf.c:250 msgid "memory exhausted" msgstr "Kein Hauptspeicher mehr verfügbar" -#: malloc/obstack.c:425 +#: malloc/obstack.c:462 msgid "memory exhausted\n" msgstr "Kein Hauptspeicher mehr verfügbar\n" -#: malloc/mcheck.c:180 +#: malloc/mcheck.c:182 msgid "memory is consistent, library is buggy" msgstr "Die Speicherverwaltung ist konsistent, die Bibliothek enthält Fehler" -#: locale/programs/ld-time.c:348 +#: locale/programs/ld-time.c:350 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" -msgstr "fehlendes »era«-Format in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«" +msgstr "" +"fehlendes »era«-Format in der Zeichenkette %d im »era«-Feld in der Kategorie " +"»%s«" -#: locale/programs/ld-time.c:337 +#: locale/programs/ld-time.c:339 #, c-format -msgid "missing era name in string %d in `era' fieldin category `%s'" -msgstr "fehlender »era«-Name in der Zeichenkette %d im »era« Feld in der Kategorie »%s«" +msgid "missing era name in string %d in `era' field in category `%s'" +msgstr "" +"fehlender »era«-Name in der Zeichenkette %d im »era« Feld in der Kategorie " +"»%s«" -#: time/zic.c:915 +#: time/zic.c:913 msgid "nameless rule" msgstr "Regel ohne Name" @@ -2302,21 +2483,25 @@ msgstr "Das Programm %d wurde nie regist #: 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 "Kein gültiger regulärer Ausdruck für den Eintrag »%s« in der Kategorie »%s«: %s" +msgstr "" +"Kein gültiger regulärer Ausdruck für den Eintrag »%s« in der Kategorie »%s«: " +"%s" -#: time/zic.c:2059 +#: time/zic.c:2086 msgid "no day in month matches rule" msgstr "Kein Tag des Monats paßt zur angegebenen Regel" -#: locale/programs/ld-collate.c:259 +#: locale/programs/ld-collate.c:260 msgid "no definition of `UNDEFINED'" msgstr "Keine Definition für »UNDEFINED«" -#: locale/programs/locfile.c:479 +#: locale/programs/locfile.c:501 msgid "no other keyword shall be specified when `copy' is used" -msgstr "Es dürfen keine anderen Schlüsselworte angegeben werden, wenn »copy« verwendet wird" +msgstr "" +"Es dürfen keine anderen Schlüsselworte angegeben werden, wenn »copy« " +"verwendet wird" -#: locale/programs/localedef.c:340 +#: locale/programs/localedef.c:344 msgid "no output file produced because warning were issued" msgstr "Es wurde keine Ausgabe-Datei erzeugt, weil Warnungen ausgegeben wurden" @@ -2328,18 +2513,18 @@ msgstr "Kein symbolischer Name angegeben #: 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 "Kein symbolische Name für das Ende eines Intervalles angegeben" +msgstr "Kein symbolischer Name für das Ende des Intervalles angegeben" #: locale/programs/ld-collate.c:244 #, c-format msgid "no weight defined for symbol `%s'" -msgstr "Kein »Weight« für das Symbol »%s« definiert" +msgstr "Kein Sortiergewicht (»Weight«) für das Symbol »%s« definiert" #: locale/programs/charmap.c:430 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" msgstr "Nur »WIDTH«-Definitionen dürfen nach einer »CHARMAP«-Definition folgen" -#: db/makedb.c:326 +#: db/makedb.c:327 #, c-format msgid "problems while reading `%s'" msgstr "Probleme beim Lesen von »%s«" @@ -2360,16 +2545,16 @@ msgstr "Das Programm %lu ist in der Vers msgid "program %lu version %lu ready and waiting\n" msgstr "Program %lu Version %lu ist bereit und wartet\n" -#: inet/rcmd.c:171 +#: inet/rcmd.c:172 #, c-format msgid "rcmd: select (setting up stderr): %m\n" msgstr "rcmd: select (Vorbereiten der Standard-Fehlerausgabe): %m\n" -#: inet/rcmd.c:103 +#: inet/rcmd.c:104 msgid "rcmd: socket: All ports in use\n" msgstr "rcmd: Socket: Alle Ports sind zur Zeit belegt\n" -#: inet/rcmd.c:159 +#: inet/rcmd.c:160 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "rcmd: write (Vorbereiten der Standard-Fehlerausgabe): %m\n" @@ -2378,9 +2563,9 @@ msgstr "rcmd: write (Vorbereiten der Sta msgid "registerrpc: out of memory\n" msgstr "registerrpc: Hauptspeicher erschöpft\n" -#: time/zic.c:1794 +#: time/zic.c:1821 msgid "repeated leap second moment" -msgstr "Wiederholung der Leap-Sekunde" +msgstr "Wiederholung der »Leap«-Sekunde" #: sunrpc/rpcinfo.c:659 #, c-format @@ -2395,7 +2580,9 @@ msgstr "rpcinfo: »%s« ist ein unbekannte #: sunrpc/rpcinfo.c:600 #, c-format msgid "rpcinfo: Could not delete registration for prog %s version %s\n" -msgstr "Kann das Programm »%s« Version »%s« nicht registrieren\n" +msgstr "" +"rpcinfo; Kann die Registrierung des Programms »%s« Version »%s« nicht " +"löschen\n" #: sunrpc/rpcinfo.c:576 #, c-format @@ -2410,47 +2597,54 @@ msgstr "rpcinfo: Kann den Portmapper nic msgid "rpcinfo: can't contact portmapper: " msgstr "rpcinfo: Kann den Portmapper nicht erreichen: " -#: time/zic.c:708 time/zic.c:710 +#: time/zic.c:704 time/zic.c:706 msgid "same rule name in multiple files" msgstr "Dieselbe Regel ist in mehreren Dateien enthalten" -#: inet/rcmd.c:174 +#: inet/rcmd.c:175 msgid "select: protocol failure in circuit setup\n" -msgstr "Select: Protokollfehler im Kreislauf-Setup\n" +msgstr "Select: Protokoll-Fehler im Kreislauf-Setup\n" -#: inet/rcmd.c:192 +#: inet/rcmd.c:193 msgid "socket: protocol failure in circuit setup\n" msgstr "socket: Protokoll-Fehler im Kreislauf-Setup\n" -#: locale/programs/locfile.c:600 +#: locale/programs/locfile.c:622 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "Die Anweisungen »forward« und »backward« schließen sich aus" -#: locale/programs/ld-collate.c:1568 locale/programs/ld-collate.c:1614 -msgid "specification of sorting weight for collation symbol does not make sense" -msgstr "Die Angabe eines Sortier-Gewichtes für ein »Collation«-Symbol ist nicht sinnvoll" +#: locale/programs/ld-collate.c:1571 locale/programs/ld-collate.c:1617 +msgid "" +"specification of sorting weight for collation symbol does not make sense" +msgstr "" +"Die Angabe eines Sortiergewichtes für ein »Collation«-Symbol ist nicht " +"sinnvoll" -#: time/zic.c:779 +#: time/zic.c:775 msgid "standard input" msgstr "Standard-Eingabe" -#: time/zdump.c:260 +#: time/zdump.c:268 msgid "standard output" msgstr "Standard-Ausgabe" -#: locale/programs/ld-time.c:256 +#: locale/programs/ld-time.c:257 #, c-format msgid "starting date is illegal in string %d in `era' field in category `%s'" -msgstr "Das Start-Datum in der Zeichenkette %d im »era«-Feld der Kategorie »%s« ist ungültig" +msgstr "" +"Das Start-Datum in der Zeichenkette %d im »era«-Feld der Kategorie »%s« ist " +"ungültig" -#: time/zic.c:1276 +#: time/zic.c:1274 msgid "starting year greater than ending year" msgstr "Das Start-Jahr ist größer als das Ende-Jahr" -#: locale/programs/ld-time.c:328 +#: locale/programs/ld-time.c:330 #, c-format msgid "stopping date is illegal in string %d in `era' field in category `%s'" -msgstr "Das Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist ungültig" +msgstr "" +"Das Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« " +"ist ungültig" #: sunrpc/svc_tcp.c:201 sunrpc/svc_tcp.c:206 msgid "svc_tcp: makefd_xprt: out of memory\n" @@ -2476,30 +2670,48 @@ msgstr "svcudp_create - »getsockname« fe msgid "svcudp_create: socket creation problem" msgstr "svcudp_create: Problem bei der Erstellung des Sockets" -#: locale/programs/ld-collate.c:1191 +# Hat hier jemand eine bessere Übersetzung? -- jh +# Leider nein. Ich würde es nur groß schreiben und auch im folgenden üs. ke +#: locale/programs/ld-collate.c:1194 #, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates element definition" -msgstr "Das Symbol für das mehr-zeichen Collating-Element »%.*s« wiederholt die Element-Definition" +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates element " +"definition" +msgstr "Das Symbol für das Mehr-Zeichen Collating-Element »%.*s« wiederholt die Element-Definition" -#: locale/programs/ld-collate.c:1064 +#: locale/programs/ld-collate.c:1067 #, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition" +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates other element " +"definition" msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine andere Element-Definition" -#: locale/programs/ld-collate.c:1200 +#: locale/programs/ld-collate.c:1203 #, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" -msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine andere Symbol-Definition" +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates other symbol " +"definition" +msgstr "" +"Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine " +"andere Symbol-Definition" -#: locale/programs/ld-collate.c:1073 +#: locale/programs/ld-collate.c:1076 #, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" -msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine Symbol-Definition" +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates symbol " +"definition" +msgstr "" +"Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine " +"Symbol-Definition" -#: locale/programs/ld-collate.c:1055 locale/programs/ld-collate.c:1182 +#: locale/programs/ld-collate.c:1058 locale/programs/ld-collate.c:1185 #, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" -msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« kollidiert mit einem symbolischen Namen in der Zeichensatzbeschreibung" +msgid "" +"symbol for multicharacter collating element `%.*s' duplicates symbolic name " +"in charset" +msgstr "" +"Das Symbol für das 'multicharacter collating'-Element »%.*s« kollidiert mit " +"einem symbolischen Namen in der Zeichensatzbeschreibung" #: locale/programs/charmap.c:314 locale/programs/charmap.c:348 #: locale/programs/charmap.c:378 locale/programs/charmap.c:465 @@ -2509,76 +2721,76 @@ msgstr "Das Symbol für das 'multicharact msgid "syntax error in %s definition: %s" msgstr "Syntaxfehler in der »%s«-Definition: %s" -#: locale/programs/locfile.c:620 +#: locale/programs/locfile.c:642 msgid "syntax error in `order_start' directive" msgstr "Syntaxfehler in der »order_start«-Anweisung" -#: locale/programs/locfile.c:362 +#: locale/programs/locfile.c:384 msgid "syntax error in character class definition" -msgstr "Syntaxfehler in der Zeichensatz-Definitionsdatei" +msgstr "Syntaxfehler in der Zeichenklassen-Definitionsdatei" -#: locale/programs/locfile.c:420 +#: locale/programs/locfile.c:442 msgid "syntax error in character conversion definition" -msgstr "Syntaxfehler in der Zeichensatz-Umwandlungs-Defintion" +msgstr "Syntaxfehler in der Zeichensatz-Umwandlungs-Definition" -#: locale/programs/locfile.c:662 +#: locale/programs/locfile.c:684 msgid "syntax error in collating order definition" msgstr "Syntaxfehler in der Definition der Sortierreihenfolge" -#: locale/programs/locfile.c:512 +#: locale/programs/locfile.c:534 msgid "syntax error in collation definition" msgstr "Syntaxfehler in der Definition der Sortierung" -#: locale/programs/locfile.c:335 +#: locale/programs/locfile.c:357 msgid "syntax error in definition of LC_CTYPE category" msgstr "Syntaxfehler in der Definition der »LC_CTYPE«-Kategorie" -#: locale/programs/locfile.c:278 +#: locale/programs/locfile.c:300 msgid "syntax error in definition of new character class" msgstr "Syntaxfehler in der Definition einer neuen Zeichenklasse" -#: locale/programs/locfile.c:288 +#: locale/programs/locfile.c:310 msgid "syntax error in definition of new character map" msgstr "Syntaxfehler in der Definition eines neuen Zeichensatzes" -#: locale/programs/locfile.c:873 +#: locale/programs/locfile.c:895 msgid "syntax error in message locale definition" -msgstr "Syntaxfehler in der Lokale-Definitionsdatei" +msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt »message«" -#: locale/programs/locfile.c:784 +#: locale/programs/locfile.c:806 msgid "syntax error in monetary locale definition" -msgstr "Syntaxfehler in der Lokale-Definitionsdatei" +msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt »monetary«" -#: locale/programs/locfile.c:811 +#: locale/programs/locfile.c:833 msgid "syntax error in numeric locale definition" -msgstr "Syntaxfehler in der Lokale-Definitionsdatei" +msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt »numeric«" -#: locale/programs/locfile.c:722 +#: locale/programs/locfile.c:744 msgid "syntax error in order specification" -msgstr "Syntaxfehler in der Lokale-Definitionsdatei" +msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt »order«" #: locale/programs/charmap.c:195 locale/programs/charmap.c:211 #, c-format msgid "syntax error in prolog: %s" msgstr "Syntax-Fehler im Prolog: %s" -#: locale/programs/locfile.c:849 +#: locale/programs/locfile.c:871 msgid "syntax error in time locale definition" -msgstr "Syntaxfehler in der Lokale-Definition zur Zeit" +msgstr "Syntaxfehler in der Lokale-Definition zur Zeit (Abschnitt »time«)" -#: locale/programs/locfile.c:255 +#: locale/programs/locfile.c:277 msgid "syntax error: not inside a locale definition section" -msgstr "Syntaxfehler: nicht in der in der Lokale-Definition" +msgstr "Syntaxfehler: nicht in einem Abschnitt der Lokale-Definition" -#: catgets/gencat.c:380 catgets/gencat.c:516 catgets/gencat.c:543 +#: catgets/gencat.c:381 catgets/gencat.c:517 catgets/gencat.c:544 msgid "this is the first definition" msgstr "Dies ist die erste Definition" -#: time/zic.c:1119 +#: time/zic.c:1117 msgid "time before zero" msgstr "Zeit vor Null" -#: time/zic.c:1127 time/zic.c:1959 time/zic.c:1978 +#: time/zic.c:1125 time/zic.c:1986 time/zic.c:2005 msgid "time overflow" msgstr "Überlauf der Zeit" @@ -2592,25 +2804,25 @@ msgstr "Zu viele Bytes in der Zeichen-Ko #: locale/programs/locales.h:72 msgid "too many character classes defined" -msgstr "Zu viele Zeichenklasse definiert" +msgstr "Zu viele Zeichenklassen definiert" -#: time/zic.c:1788 +#: time/zic.c:1815 msgid "too many leap seconds" msgstr "Zu viele Schaltsekunden" -#: time/zic.c:1760 +#: time/zic.c:1787 msgid "too many local time types" msgstr "Zu viele lokale Zeit-Typen" -#: time/zic.c:1714 +#: time/zic.c:1741 msgid "too many transitions?!" msgstr "Zu viele Übergänge?!" -#: locale/programs/ld-collate.c:1623 +#: locale/programs/ld-collate.c:1626 msgid "too many weights" -msgstr "Zu viele Sortier-Gewichte" +msgstr "Zu viele Sortiergewichte" -#: time/zic.c:2082 +#: time/zic.c:2109 msgid "too many, or too long, time zone abbreviations" msgstr "Zu viele oder zu lange Abkürzungen für Zeitzonen" @@ -2623,11 +2835,11 @@ msgstr "Am Zeilenende sind unsinnige Ein msgid "trouble replying to prog %d\n" msgstr "Schwierigkeiten bei der Antwort an das Programm %d\n" -#: locale/programs/ld-collate.c:1383 +#: locale/programs/ld-collate.c:1386 msgid "two lines in a row containing `...' are not allowed" -msgstr "Zwei aufeinanderfolgende Zeilen mit '...' sind nicht erlaubt" +msgstr "Zwei aufeinanderfolgende Zeilen mit »...« sind nicht erlaubt" -#: time/zic.c:1283 +#: time/zic.c:1281 msgid "typed single year" msgstr "Ein einzelnes Jahr angegeben" @@ -2642,41 +2854,38 @@ msgstr "unbekanntes Zeichen »%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 -#: locale/programs/ld-time.c:696 +#: locale/programs/ld-time.c:698 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "Ungültiges Zeichen im Feld »%s« in der Kategorie »%s«" -#: locale/programs/locfile.c:585 +#: locale/programs/locfile.c:607 msgid "unknown collation directive" msgstr "unbekannte »collation«-Anweisung" -#: catgets/gencat.c:477 +#: catgets/gencat.c:478 #, c-format msgid "unknown directive `%s': line ignored" msgstr "unbekannte Anweisung »%s«: Die Zeile wurde ignoriert" -#: catgets/gencat.c:456 +#: catgets/gencat.c:457 #, c-format msgid "unknown set `%s'" msgstr "Unbekanntes Set »%s«" -msgid "unknown signal" -msgstr "Unbekanntes Signal" - -#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558 -#: locale/programs/ld-collate.c:1732 +#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:1561 +#: locale/programs/ld-collate.c:1735 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "Unbekanntes Symbol »%.*s«: Die Zeile wurde ignoriert" -#: time/zic.c:751 +#: time/zic.c:747 msgid "unruly zone" msgstr "Zeitzone ohne Regeln" -#: catgets/gencat.c:961 +#: catgets/gencat.c:962 msgid "unterminated message" -msgstr "Zeichenkette wird nicht beendet" +msgstr "Die Nachricht ist nicht abgeschlossen" #: locale/programs/linereader.c:515 locale/programs/linereader.c:550 msgid "unterminated string" @@ -2686,7 +2895,7 @@ msgstr "Zeichenkette wird nicht beendet" msgid "unterminated symbolic name" msgstr "Der symbolische Name wird nicht beendet" -#: locale/programs/ld-collate.c:1685 +#: locale/programs/ld-collate.c:1688 msgid "unterminated weight name" msgstr "Der Name des Sortier-Gewichtes wird nicht beendet" @@ -2694,7 +2903,7 @@ msgstr "Der Name des Sortier-Gewichtes w msgid "upper limit in range is not smaller then lower limit" msgstr "Das obere Ende des Intervalls ist nicht kleiner als das untere Ende" -#: time/zic.c:2025 +#: time/zic.c:2052 msgid "use of 2/29 in non leap-year" msgstr "Der 29. Februar wurde in einem nicht-Schaltjahr verwendet" @@ -2706,31 +2915,41 @@ msgstr "Der Wert für »%s« muß eine Ganzz #: locale/programs/charmap.c:233 #, c-format msgid "value for <%s> must lie between 1 and 4" -msgstr "Der Wert für <%s> muß zwischen eins und vier liegen" +msgstr "Der Wert für »<%s>« muß zwischen eins und vier liegen" -#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89 +#: locale/programs/ld-monetary.c:149 locale/programs/ld-numeric.c:89 #, c-format msgid "value for field `%s' in category `%s' must not be the empty string" -msgstr "Der Eintrag für das Feld »%s« in der Kategorie »%s« darf nicht leer sein" +msgstr "" +"Der Eintrag für das Feld »%s« in der Kategorie »%s« darf nicht leer sein" #: locale/programs/charmap.c:245 msgid "value of must be greater than the value of " -msgstr "Der Wert von »« muß größer als der Wert von »« sein" +msgstr "" +"Der Wert von »« muß größer als der Wert von »« sein" -#: 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 "Der Wert im Feld »int_surr_symbol« in der Kategorie »LC_MONETARY«gehört nicht zu einem gültigen Namen in ISO-4217" +#: locale/programs/ld-monetary.c:139 +msgid "" +"value of field `int_curr_symbol' in category `LC_MONETARY' does not " +"correspond to a valid name in ISO 4217" +msgstr "" +"Der Wert im Feld »int_curr_symbol« in der Kategorie »LC_MONETARY« gehört " +"nicht zu einem gültigen Namen in ISO-4217" #: locale/programs/ld-monetary.c:133 -msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" -msgstr "Der Wert im Feld »int_curr_symbol« in der Kategorie »LC_MONETARY« hat die falsche Länge" +msgid "" +"value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" +msgstr "" +"Der Wert im Feld »int_curr_symbol« in der Kategorie »LC_MONETARY« hat die " +"falsche Länge" -#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199 +#: locale/programs/ld-monetary.c:371 locale/programs/ld-numeric.c:199 #, c-format msgid "values for field `%s' in category `%s' must be smaller than 127" -msgstr "Der Wert für den Eintrag »%s« in der Kategorie »%s« muß kleiner als 127 sein." +msgstr "" +"Der Wert für den Eintrag »%s« in der Kategorie »%s« muß kleiner als 127 sein." -#: locale/programs/ld-monetary.c:366 +#: locale/programs/ld-monetary.c:367 #, c-format msgid "values for field `%s' in category `%s' must not be zero" msgstr "Der Eintrag im Feld »%s« in der Kategorie »%s« darf nicht Null sein" @@ -2739,165 +2958,47 @@ msgstr "Der Eintrag im Feld »%s« in der msgid "while opening UTMP file" msgstr "beim Öffnen der UTMP-Datei" -#: catgets/gencat.c:988 +#: catgets/gencat.c:989 msgid "while opening old catalog file" msgstr "beim Öffnen der alten Katalog-Datei" -#: db/makedb.c:353 +#: db/makedb.c:354 msgid "while reading database" msgstr "beim Lesen der Datenbank" -#: db/makedb.c:315 +#: db/makedb.c:316 msgid "while writing data base file" -msgstr "beim Schreiben der Datenbak-Datei" +msgstr "beim Schreiben der Datenbank-Datei" #: db/makedb.c:142 msgid "wrong number of arguments" msgstr "Falsche Anzahl an Argumenten" -#: time/zic.c:1077 +#: time/zic.c:1075 msgid "wrong number of fields on Leap line" msgstr "Falsche Anzahl an Feldern in der Leap-Zeile" -#: time/zic.c:1168 +#: time/zic.c:1166 msgid "wrong number of fields on Link line" msgstr "Falsche Anzahl der Felder in der Link-Zeile" -#: time/zic.c:911 +#: time/zic.c:909 msgid "wrong number of fields on Rule line" msgstr "Falsche Anzahl der Felder in der Rule-Zeile" -#: time/zic.c:981 +#: time/zic.c:979 msgid "wrong number of fields on Zone continuation line" msgstr "Falsche Anzahl der Felder in der Zeitzonen-Fortsetzungszeile" -#: time/zic.c:939 +#: time/zic.c:937 msgid "wrong number of fields on Zone line" msgstr "Falsche Anzahl an Feldern in der Zone-Zeile" -#: nis/ypclnt.c:570 -msgid "yp_all: clnttcp_create failed" -msgstr "yp_all: »clnttcp_create« fehlgeschlagen" - -#: nis/ypclnt.c:772 +#: nis/ypclnt.c:811 msgid "yp_update: cannot convert host to netname\n" msgstr "yp_update: Kann den Rechnername nicht in einen Netzname umwandeln\n" -#: nis/ypclnt.c:784 +#: nis/ypclnt.c:823 msgid "yp_update: cannot get server address\n" -msgstr "yp_update: Kann die Adresse des Servss nicht finden\n" - -#~ msgid "variable-length array declaration expected" -#~ msgstr "Deklaration einer variabel langen Tabelle erwartet" - -#~ msgid "couldn't do tcp_create\n" -#~ msgstr "Kann keinen RPC-Server erzeugen\n" - -#~ msgid " %s [-s udp|tcp]* [-o outfile] [infile]\n" -#~ msgstr " %s [-s udp|tcp]* [-o Ausgabedatei] [Eingabedatei]\n" - -#~ msgid "%s: output would overwrite %s\n" -#~ msgstr "%s: Die Ausgabe würde %s überschreiben\n" - -#~ msgid "illegal character in file: " -#~ msgstr "Nicht erlaubtes Zeichen in der Datei: " - -#~ msgid "too many files!\n" -#~ msgstr "Zu viele Dateien!\n" - -#~ msgid "voids allowed only inside union and program definitions" -#~ msgstr "`void' ist nur innerhalb von `union'- oder `program'-Definitionen erlaubt" - -#~ msgid "rcmd: select (setting up stderr): %s\n" -#~ msgstr "rcmd: Select (Einrichten der Standardfehlerausgabe): %s\n" - -#~ msgid "%s: unable to open " -#~ msgstr "%s: kann nicht geöffnet werden " - -#~ msgid "character `%c' not defined while needed as default value" -#~ msgstr "Das Zeichen `%s' ist nicht definiert, wird aber als Vorgabewert benötigt" - -#~ msgid "expected type specifier" -#~ msgstr "Type-Bezeichner erwartet" - -#~ msgid "rcmd: write (setting up stderr): %s\n" -#~ msgstr "rcmd: Write (Einrichten der Standardfehlerausgabe): %s\n" - -#~ msgid "expected '%s', '%s' or '%s'" -#~ msgstr "'%s', '%s' oder '%s' erwartet" - -#~ msgid "usage: %s infile\n" -#~ msgstr "Aufruf: %s Eingabedatei\n" - -#~ msgid "preprocessor error" -#~ msgstr "Fehler des Präprozessors" - -#~ msgid "array declaration expected" -#~ msgstr "Tabellendeklaration erwartet" - -#~ msgid "socket: protocol failure in circuit setup.\n" -#~ msgstr "Socket: Protokollfehler im Kreislauf-Setup.\n" - -#~ msgid "couldn't do udp_create\n" -#~ msgstr "Kann keinen RPC-Server erzeugen\n" - -#~ msgid "collation symbol `.*s' appears more than once: ignore line" -#~ msgstr "Das 'collation'-Symbol `.*s' ist mehr als einmal angegeben: Die Zeile wird ignorier" - -#~ msgid "unterminated string constant" -#~ msgstr "Zeichenkette wird nicht beendet" - -#~ msgid "expected '%s'" -#~ msgstr "'%s' erwartet" - -#~ msgid "illegal result type" -#~ msgstr "Nicht erlaubter Ergebnistyp" - -#~ msgid "no array-of-pointer declarations -- use typedef" -#~ msgstr "Kein Definition einer Tabelle von \"Zeigern\" -- Verwenden Sie \"typedef\"" - -#~ msgid "definition keyword expected" -#~ msgstr "Keyword-Definition erwartet" - -#~ msgid "constant or identifier expected" -#~ msgstr "Konstante oder Bezeichner erwartet" - -#~ msgid " %s [-c | -h | -l | -m] [-o outfile] [infile]\n" -#~ msgstr " %s [-c | -h | -l | -m] [-o Ausgabedatei] [Eingabedatei]\n" - -#~ msgid "%s, line %d: " -#~ msgstr "%s, Zeile %d: " - -#~ 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 .\n" -#~ msgstr "" -#~ "Syntax: %s [Option]... -o Ausgabe-Datei [Eingabe-Datei]...\n" -#~ " %s [Option]... [Ausgabe-Datei [Eingabe-Datei]...]\n" -#~ "\n" -#~ "Notwendige Argumente zu langen Optionen sind auch bei kurzen erforderlich.\n" -#~ "\n" -#~ " -H, --header erzeuge C-Header-Datein mit Symbol-Definitionen\n" -#~ " -h, --help zeige diese Hilfe an\n" -#~ " --new verwende keinen bestehendn Katalog, sondern erzeuge \n" -#~ " einen neuen\n" -#~ " -o, --output=Name Die Ausgabe-Datei heißt 'Name'\n" -#~ " -V, --version gebe die Versionsnummer aus\n" -#~ "\n" -#~ "Wenn '-' als Eingabe-Datei angegeben wird, dann wird von der Standard-Eingabe\n" -#~ "gelesen. Wenn '-' als Ausgabe-Datei angegeben wird, dann wird auf die\n" -#~ "Standard-Ausgabe geschrieben.\n" -#~ "\n" -#~ "Fehler bitte an melden.\n" +msgstr "yp_update: Kann die Adresse des Servers nicht finden\n" -#~ msgid "Not a data message" -#~ msgstr "Keine Nachricht mit Daten" diff -durpN glibc-2.0.3/posix/getopt.c glibc-2.0.4/posix/getopt.c --- glibc-2.0.3/posix/getopt.c Thu Apr 17 16:15:15 1997 +++ glibc-2.0.4/posix/getopt.c Tue May 20 16:04:56 1997 @@ -6,9 +6,6 @@ Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. - This file is part of the GNU C Library. Its master source is NOT part of - the C library, however. The master source lives in /gd/gnu/lib. - 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 diff -durpN glibc-2.0.3/posix/getopt.h glibc-2.0.4/posix/getopt.h --- glibc-2.0.3/posix/getopt.h Wed Jan 22 00:25:31 1997 +++ glibc-2.0.4/posix/getopt.h Tue May 20 16:05:02 1997 @@ -1,8 +1,6 @@ /* Declarations for getopt. Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT part of - the C library, however. The master source lives in /gd/gnu/lib. + 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 diff -durpN glibc-2.0.3/posix/getopt1.c glibc-2.0.4/posix/getopt1.c --- glibc-2.0.3/posix/getopt1.c Wed Jan 22 23:23:12 1997 +++ glibc-2.0.4/posix/getopt1.c Tue May 20 16:05:08 1997 @@ -1,8 +1,6 @@ /* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. - - This file is part of the GNU C Library. Its master source is NOT part of - the C library, however. The master source lives in /gd/gnu/lib. + 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 diff -durpN glibc-2.0.3/posix/regex.c glibc-2.0.4/posix/regex.c --- glibc-2.0.3/posix/regex.c Sun Mar 16 19:11:08 1997 +++ glibc-2.0.4/posix/regex.c Tue May 20 16:07:02 1997 @@ -1,6 +1,6 @@ /* Extended regular expression matching and search library, version 0.12. - (Implements POSIX draft P10003.2/D11.2, except for + (Implements POSIX draft P1003.2/D11.2, except for some of the internationalization features.) Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. @@ -42,6 +42,13 @@ #include #endif +/* For platform which support the ISO C amendement 1 functionality we + support user defined character classes. */ +#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) +# include +# include +#endif + /* This is for other GNU distributions with internationalized messages. */ #if HAVE_LIBINTL_H || defined (_LIBC) # include @@ -618,6 +625,7 @@ print_partial_compiled_pattern (start, e unsigned char *end; { int mcnt, mcnt2; + unsigned char *p1; unsigned char *p = start; unsigned char *pend = end; @@ -759,20 +767,23 @@ print_partial_compiled_pattern (start, e case succeed_n: extract_number_and_incr (&mcnt, &p); + p1 = p + mcnt; extract_number_and_incr (&mcnt2, &p); - printf ("/succeed_n to %d, %d times", p + mcnt - start, mcnt2); + printf ("/succeed_n to %d, %d times", p1 - start, mcnt2); break; case jump_n: extract_number_and_incr (&mcnt, &p); + p1 = p + mcnt; extract_number_and_incr (&mcnt2, &p); - printf ("/jump_n to %d, %d times", p + mcnt - start, mcnt2); + printf ("/jump_n to %d, %d times", p1 - start, mcnt2); break; case set_number_at: extract_number_and_incr (&mcnt, &p); + p1 = p + mcnt; extract_number_and_incr (&mcnt2, &p); - printf ("/set_number_at location %d to %d", p + mcnt - start, mcnt2); + printf ("/set_number_at location %d to %d", p1 - start, mcnt2); break; case wordbound: @@ -850,7 +861,8 @@ print_compiled_pattern (bufp) unsigned char *buffer = bufp->buffer; print_partial_compiled_pattern (buffer, buffer + bufp->used); - printf ("%d bytes used/%d bytes allocated.\n", bufp->used, bufp->allocated); + printf ("%ld bytes used/%ld bytes allocated.\n", + bufp->used, bufp->allocated); if (bufp->fastmap_accurate && bufp->fastmap) { @@ -865,7 +877,7 @@ print_compiled_pattern (bufp) printf ("no_sub: %d\t", bufp->no_sub); printf ("not_bol: %d\t", bufp->not_bol); printf ("not_eol: %d\t", bufp->not_eol); - printf ("syntax: %d\n", bufp->syntax); + printf ("syntax: %lx\n", bufp->syntax); /* Perhaps we should print the translate table? */ } @@ -878,7 +890,7 @@ print_double_string (where, string1, siz int size1; int size2; { - unsigned this_char; + int this_char; if (where == NULL) printf ("(null)"); @@ -941,6 +953,12 @@ re_set_syntax (syntax) reg_syntax_t ret = re_syntax_options; re_syntax_options = syntax; +#ifdef DEBUG + if (syntax & RE_DEBUG) + debug = 1; + else if (debug) /* was on but now is not */ + debug = 0; +#endif /* DEBUG */ return ret; } @@ -1021,22 +1039,24 @@ static const char *re_error_msgid[] = #endif /* Roughly the maximum number of failure points on the stack. Would be - exactly that if always used MAX_FAILURE_SPACE each time we failed. + exactly that if always used MAX_FAILURE_ITEMS items each time we failed. This is a variable only so users of regex can assign to it; we never change it ourselves. */ #ifdef INT_IS_16BIT #if defined (MATCH_MAY_ALLOCATE) -long re_max_failures = 4000; +/* 4400 was enough to cause a crash on Alpha OSF/1, + whose default stack limit is 2mb. */ +long int re_max_failures = 4000; #else -long re_max_failures = 2000; +long int re_max_failures = 2000; #endif union fail_stack_elt { unsigned char *pointer; - long integer; + long int integer; }; typedef union fail_stack_elt fail_stack_elt_t; @@ -1044,8 +1064,8 @@ typedef union fail_stack_elt fail_stack_ typedef struct { fail_stack_elt_t *stack; - unsigned long size; - unsigned long avail; /* Offset of next open position. */ + unsigned long int size; + unsigned long int avail; /* Offset of next open position. */ } fail_stack_type; #else /* not INT_IS_16BIT */ @@ -1053,7 +1073,7 @@ typedef struct #if defined (MATCH_MAY_ALLOCATE) /* 4400 was enough to cause a crash on Alpha OSF/1, whose default stack limit is 2mb. */ -int re_max_failures = 4000; +int re_max_failures = 20000; #else int re_max_failures = 2000; #endif @@ -1245,7 +1265,7 @@ typedef struct DEBUG_PRINT2 (" Pushing high active reg: %d\n", highest_active_reg);\ PUSH_FAILURE_INT (highest_active_reg); \ \ - DEBUG_PRINT2 (" Pushing pattern 0x%x: ", pattern_place); \ + DEBUG_PRINT2 (" Pushing pattern 0x%x:\n", pattern_place); \ DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend); \ PUSH_FAILURE_POINTER (pattern_place); \ \ @@ -1329,7 +1349,7 @@ typedef struct DEBUG_PRINT1 ("'\n"); \ \ pat = (unsigned char *) POP_FAILURE_POINTER (); \ - DEBUG_PRINT2 (" Popping pattern 0x%x: ", pat); \ + DEBUG_PRINT2 (" Popping pattern 0x%x:\n", pat); \ DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend); \ \ /* Restore register info. */ \ @@ -1548,7 +1568,7 @@ static reg_errcode_t compile_range _RE_A MSC and drop MAX_BUF_SIZE a bit. Otherwise you may end up reallocating to 0 bytes. Such thing is not going to work too well. You have been warned!! */ -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(WIN32) /* Microsoft C 16-bit versions limit malloc to approx 65512 bytes. The REALLOC define eliminates a flurry of conversion warnings, but is not required. */ @@ -1656,15 +1676,29 @@ typedef struct } \ } -#define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ +#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) +/* The GNU C library provides support for user-defined character classes + and the functions from ISO C amendement 1. */ +# ifdef CHARCLASS_NAME_MAX +# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX +# else +/* This shouldn't happen but some implementation might still have this + problem. Use a reasonable default value. */ +# define CHAR_CLASS_MAX_LENGTH 256 +# endif -#define IS_CHAR_CLASS(string) \ +# define IS_CHAR_CLASS(string) wctype (string) +#else +# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ + +# define IS_CHAR_CLASS(string) \ (STREQ (string, "alpha") || STREQ (string, "upper") \ || STREQ (string, "lower") || STREQ (string, "digit") \ || STREQ (string, "alnum") || STREQ (string, "xdigit") \ || STREQ (string, "space") || STREQ (string, "print") \ || STREQ (string, "punct") || STREQ (string, "graph") \ || STREQ (string, "cntrl") || STREQ (string, "blank")) +#endif #ifndef MATCH_MAY_ALLOCATE @@ -2142,6 +2176,34 @@ regex_compile (pattern, size, syntax, bu the leading `:' and `[' (but set bits for them). */ if (c == ':' && *p == ']') { +#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) + boolean is_lower = STREQ (str, "lower"); + boolean is_upper = STREQ (str, "upper"); + wctype_t wt; + int ch; + + wt = wctype (str); + if (wt == 0) + FREE_STACK_RETURN (REG_ECTYPE); + + /* Throw away the ] at the end of the character + class. */ + PATFETCH (c); + + if (p == pend) FREE_STACK_RETURN (REG_EBRACK); + + for (ch = 0; ch < 1 << BYTEWIDTH; ++ch) + { + if (iswctype (btowc (ch), wt)) + SET_LIST_BIT (ch); + + if (translate && (is_upper || is_lower) + && (ISUPPER (ch) || ISLOWER (ch))) + SET_LIST_BIT (ch); + } + + had_char_class = true; +#else int ch; boolean is_alnum = STREQ (str, "alnum"); boolean is_alpha = STREQ (str, "alpha"); @@ -2189,6 +2251,7 @@ regex_compile (pattern, size, syntax, bu SET_LIST_BIT (ch); } had_char_class = true; +#endif /* libc || wctype.h */ } else { @@ -3546,12 +3609,14 @@ re_search_2 (bufp, string1, size1, strin : (d) == string2 - 1 ? *(end1 - 1) : *(d)) \ == Sword) +/* Disabled due to a compiler bug -- see comment at case wordbound */ +#if 0 /* Test if the character before D and the one at D differ with respect to being word-constituent. */ #define AT_WORD_BOUNDARY(d) \ (AT_STRINGS_BEG (d) || AT_STRINGS_END (d) \ || WORDCHAR_P (d - 1) != WORDCHAR_P (d)) - +#endif /* Free everything we malloc. */ #ifdef MATCH_MAY_ALLOCATE @@ -3882,7 +3947,7 @@ re_match_2_internal (bufp, string1, size dend = end_match_2; } - DEBUG_PRINT1 ("The compiled pattern is: "); + DEBUG_PRINT1 ("The compiled pattern is:\n"); DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend); DEBUG_PRINT1 ("The string to match is: `"); DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2); @@ -3893,7 +3958,11 @@ re_match_2_internal (bufp, string1, size fails at this starting point in the input data. */ for (;;) { +#ifdef _LIBC + DEBUG_PRINT2 ("\n%p: ", p); +#else DEBUG_PRINT2 ("\n0x%x: ", p); +#endif if (p == pend) { /* End of pattern means we might have succeeded. */ @@ -4472,7 +4541,11 @@ re_match_2_internal (bufp, string1, size DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump"); EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" %d (to %p):\n", mcnt, p + mcnt); +#else DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt); +#endif PUSH_FAILURE_POINT (p + mcnt, NULL, -2); break; @@ -4495,7 +4568,11 @@ re_match_2_internal (bufp, string1, size DEBUG_PRINT1 ("EXECUTING on_failure_jump"); EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" %d (to %p)", mcnt, p + mcnt); +#else DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt); +#endif /* If this on_failure_jump comes right before a group (i.e., the original * applied to a group), save the information @@ -4708,16 +4785,26 @@ re_match_2_internal (bufp, string1, size dummy_low_reg, dummy_high_reg, reg_dummy, reg_dummy, reg_info_dummy); } - /* Note fall through. */ + /* Note fall through. */ + unconditional_jump: +#ifdef _LIBC + DEBUG_PRINT2 ("\n%p: ", p); +#else + DEBUG_PRINT2 ("\n0x%x: ", p); +#endif + /* Note fall through. */ /* Unconditionally jump (without popping any failure points). */ case jump: - unconditional_jump: EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */ DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt); p += mcnt; /* Do the jump. */ +#ifdef _LIBC + DEBUG_PRINT2 ("(to %p).\n", p); +#else DEBUG_PRINT2 ("(to 0x%x).\n", p); +#endif break; @@ -4766,11 +4853,19 @@ re_match_2_internal (bufp, string1, size mcnt--; p += 2; STORE_NUMBER_AND_INCR (p, mcnt); - DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p, mcnt); +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p - 2, mcnt); +#else + DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p - 2, mcnt); +#endif } else if (mcnt == 0) { +#ifdef _LIBC + DEBUG_PRINT2 (" Setting two bytes from %p to no_op.\n", p+2); +#else DEBUG_PRINT2 (" Setting two bytes from 0x%x to no_op.\n", p+2); +#endif p[2] = (unsigned char) no_op; p[3] = (unsigned char) no_op; goto on_failure; @@ -4786,6 +4881,11 @@ re_match_2_internal (bufp, string1, size { mcnt--; STORE_NUMBER (p + 2, mcnt); +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p + 2, mcnt); +#else + DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p + 2, mcnt); +#endif goto unconditional_jump; } /* If don't have to jump any more, skip over the rest of command. */ @@ -4800,7 +4900,11 @@ re_match_2_internal (bufp, string1, size EXTRACT_NUMBER_AND_INCR (mcnt, p); p1 = p + mcnt; EXTRACT_NUMBER_AND_INCR (mcnt, p); +#ifdef _LIBC + DEBUG_PRINT3 (" Setting %p to %d.\n", p1, mcnt); +#else DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p1, mcnt); +#endif STORE_NUMBER (p1, mcnt); break; } @@ -5312,7 +5416,13 @@ re_compile_pattern (pattern, length, buf /* BSD has one and only one pattern buffer. */ static struct re_pattern_buffer re_comp_buf; -char * weak_function +char * +#ifdef _LIBC +/* Make these definitions weak in libc, so POSIX programs can redefine + these names if they don't use our functions, and still use + regcomp/regexec below without link errors. */ +weak_function +#endif re_comp (s) const char *s; { @@ -5353,7 +5463,10 @@ re_comp (s) } -int weak_function +int +#ifdef _LIBC +weak_function +#endif re_exec (s) const char *s; { diff -durpN glibc-2.0.3/posix/regex.h glibc-2.0.4/posix/regex.h --- glibc-2.0.3/posix/regex.h Sun Mar 16 19:11:08 1997 +++ glibc-2.0.4/posix/regex.h Tue May 20 16:07:12 1997 @@ -152,6 +152,14 @@ typedef unsigned long int reg_syntax_t; If not set, then the GNU regex operators are recognized. */ #define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) +/* If this bit is set, turn on internal regex debugging. + If not set, and debugging was on, turn it off. + This only works if regex.c is compiled -DDEBUG. + We define this bit always, so that all that's needed to turn on + debugging is to recompile regex.c; the calling code can always have + this bit set, and it won't affect anything in the normal case. */ +#define RE_DEBUG (RE_NO_GNU_OPS << 1) + /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect @@ -168,15 +176,16 @@ extern reg_syntax_t re_syntax_options; (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ - | RE_DOT_NEWLINE \ + | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) #define RE_SYNTAX_GNU_AWK \ - ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS) \ - & ~(RE_DOT_NOT_NULL | RE_INTERVALS)) + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \ + & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS)) #define RE_SYNTAX_POSIX_AWK \ - (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_NO_GNU_OPS) + (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INTERVALS | RE_NO_GNU_OPS) #define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ @@ -316,10 +325,10 @@ struct re_pattern_buffer unsigned char *buffer; /* Number of bytes to which `buffer' points. */ - unsigned long allocated; + unsigned long int allocated; /* Number of bytes actually used in `buffer'. */ - unsigned long used; + unsigned long int used; /* Syntax setting with which the pattern was compiled. */ reg_syntax_t syntax; diff -durpN glibc-2.0.3/resolv/Makefile glibc-2.0.4/resolv/Makefile --- glibc-2.0.3/resolv/Makefile Tue Jan 21 01:09:16 1997 +++ glibc-2.0.4/resolv/Makefile Wed May 21 12:08:13 1997 @@ -56,4 +56,4 @@ CPPFLAGS += -Dgethostbyname=res_gethostb $(objpfx)libresolv.so: $(common-objpfx)libc.so # The DNS NSS modules needs the resolver. -$(objpfx)libnss_dns.so: $(objpfx)libresolv.so +$(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so diff -durpN glibc-2.0.3/signal/signal.h glibc-2.0.4/signal/signal.h --- glibc-2.0.3/signal/signal.h Fri Apr 4 10:32:13 1997 +++ glibc-2.0.4/signal/signal.h Thu May 8 10:38:10 1997 @@ -233,8 +233,8 @@ extern int sigwait __P ((__const sigset_ /* Names of the signals. This variable exists only for compatibility. Use `strsignal' instead (see ). */ -extern __const char *__const _sys_siglist[NSIG]; -extern __const char *__const sys_siglist[NSIG]; +extern __const char *__const _sys_siglist[_NSIG]; +extern __const char *__const sys_siglist[_NSIG]; /* Structure passed to `sigvec'. */ struct sigvec diff -durpN glibc-2.0.3/stdlib/erand48_r.c glibc-2.0.4/stdlib/erand48_r.c --- glibc-2.0.3/stdlib/erand48_r.c Mon Apr 21 10:24:34 1997 +++ glibc-2.0.4/stdlib/erand48_r.c Mon May 26 12:59:44 1997 @@ -39,11 +39,11 @@ erand48_r (xsubi, buffer, result) #if USHRT_MAX == 65535 temp.ieee.negative = 0; - temp.ieee.exponent = IEEE754_DOUBLE_BIAS - 1; + temp.ieee.exponent = IEEE754_DOUBLE_BIAS; temp.ieee.mantissa0 = (xsubi[2] << 4) | (xsubi[1] >> 12); temp.ieee.mantissa1 = ((xsubi[1] & 0xfff) << 20) | (xsubi[0] << 4); /* Please note the lower 4 bits of mantissa1 are always 0. */ - *result = temp.d; + *result = temp.d - 1.0; #else # error Unsupported size of short int #endif diff -durpN glibc-2.0.3/stdlib/random_r.c glibc-2.0.4/stdlib/random_r.c --- glibc-2.0.3/stdlib/random_r.c Thu Dec 19 20:33:35 1996 +++ glibc-2.0.4/stdlib/random_r.c Mon May 26 16:51:26 1997 @@ -176,10 +176,6 @@ __initstate_r (seed, arg_state, n, buf) if (buf == NULL) return -1; - if (buf->rand_type == TYPE_0) - buf->state[-1] = buf->rand_type; - else - buf->state[-1] = (MAX_TYPES * (buf->rptr - buf->state)) + buf->rand_type; if (n < BREAK_1) { if (n < BREAK_0) diff -durpN glibc-2.0.3/stdlib/seed48_r.c glibc-2.0.4/stdlib/seed48_r.c --- glibc-2.0.3/stdlib/seed48_r.c Mon Apr 21 10:25:37 1997 +++ glibc-2.0.4/stdlib/seed48_r.c Thu May 22 11:42:09 1997 @@ -19,6 +19,7 @@ #include #include +#include int seed48_r (seed16v, buffer) diff -durpN glibc-2.0.3/sunrpc/rpc/svc.h glibc-2.0.4/sunrpc/rpc/svc.h --- glibc-2.0.3/sunrpc/rpc/svc.h Fri Jan 24 21:36:07 1997 +++ glibc-2.0.4/sunrpc/rpc/svc.h Tue May 20 16:03:07 1997 @@ -37,6 +37,9 @@ #ifndef __SVC_HEADER__ #define __SVC_HEADER__ +#include +#include + __BEGIN_DECLS /* @@ -70,23 +73,31 @@ enum xprt_stat { /* * Server side transport handle */ -typedef struct { - int xp_sock; - u_short xp_port; /* associated port number */ - struct xp_ops { - bool_t (*xp_recv)(); /* receive incoming requests */ - enum xprt_stat (*xp_stat)(); /* get transport status */ - bool_t (*xp_getargs)(); /* get arguments */ - bool_t (*xp_reply)(); /* send reply */ - bool_t (*xp_freeargs)();/* free mem allocated for args */ - void (*xp_destroy)(); /* destroy this struct */ - } *xp_ops; - int xp_addrlen; /* length of remote address */ - struct sockaddr_in xp_raddr; /* remote address */ - struct opaque_auth xp_verf; /* raw response verifier */ - caddr_t xp_p1; /* private */ - caddr_t xp_p2; /* private */ -} SVCXPRT; +typedef struct SVCXPRT SVCXPRT; +struct SVCXPRT { + int xp_sock; + u_short xp_port; /* associated port number */ + const struct xp_ops { + bool_t (*xp_recv) __P ((SVCXPRT *__xprt, struct rpc_msg *__msg)); + /* receive incoming requests */ + enum xprt_stat (*xp_stat) __P ((SVCXPRT *__xprt)); + /* get transport status */ + bool_t (*xp_getargs) __P ((SVCXPRT *__xprt, xdrproc_t __xdr_args, + caddr_t args_ptr)); /* get arguments */ + bool_t (*xp_reply) __P ((SVCXPRT *__xprt, struct rpc_msg *__msg)); + /* send reply */ + bool_t (*xp_freeargs) __P ((SVCXPRT *__xprt, xdrproc_t __xdr_args, + caddr_t args_ptr)); + /* free mem allocated for args */ + void (*xp_destroy) __P ((SVCXPRT *__xprt)); + /* destroy this struct */ + } *xp_ops; + int xp_addrlen; /* length of remote address */ + struct sockaddr_in xp_raddr; /* remote address */ + struct opaque_auth xp_verf; /* raw response verifier */ + caddr_t xp_p1; /* private */ + caddr_t xp_p2; /* private */ +}; /* * Approved way of getting address of caller @@ -153,11 +164,12 @@ struct svc_req { * u_long prog; * u_long vers; * void (*dispatch)(); - * int protocol; like TCP or UDP, zero means do not register + * u_long protocol; like TCP or UDP, zero means do not register */ extern bool_t svc_register __P ((SVCXPRT *__xprt, u_long __prog, - u_long __vers, void (*__dispatch) (), - int __protocol)); + u_long __vers, void (*__dispatch) + __P ((struct svc_req *, SVCXPRT *)), + u_long __protocol)); /* * Service un-registration @@ -257,11 +269,10 @@ extern int svc_fds; * a small program implemented by the svc_rpc implementation itself; * also see clnt.h for protocol numbers. */ -extern void rpctest_service(); - -extern void svc_getreq __P ((int __rdfds)); -extern void svc_getreqset __P ((fd_set *readfds)); -extern void svc_run __P ((void)) __attribute__ ((noreturn)); +extern void svc_getreq __P ((int __rdfds)); +extern void svc_getreqset __P ((fd_set *__readfds)); +extern void svc_exit __P ((void)); +extern void svc_run __P ((void)); /* * Socket to use on svcxxx_create call to get default socket diff -durpN glibc-2.0.3/sunrpc/svc.c glibc-2.0.4/sunrpc/svc.c --- glibc-2.0.3/sunrpc/svc.c Thu Dec 19 20:33:49 1996 +++ glibc-2.0.4/sunrpc/svc.c Wed May 21 16:50:12 1997 @@ -140,7 +140,7 @@ svc_register(xprt, prog, vers, dispatch, u_long prog; u_long vers; void (*dispatch)(); - int protocol; + u_long protocol; { struct svc_callout *prev; register struct svc_callout *s; diff -durpN glibc-2.0.3/sunrpc/svc_run.c glibc-2.0.4/sunrpc/svc_run.c --- glibc-2.0.3/sunrpc/svc_run.c Thu Sep 26 23:27:09 1996 +++ glibc-2.0.4/sunrpc/svc_run.c Tue May 20 16:02:13 1997 @@ -36,39 +36,54 @@ static char sccsid[] = "@(#)svc_run.c 1. * This is the rpc server side idle loop * Wait for input, call server program. */ +#include #include -#include +static int svc_stop = 0; + +/* This function can be used as a signal handler to terminate the + server loop. */ void -svc_run() +svc_exit (void) +{ + svc_stop = 1; +} + +void +svc_run (void) { #ifdef FD_SETSIZE - fd_set readfds; + fd_set readfds; #else - int readfds; + int readfds; #endif /* def FD_SETSIZE */ -#ifndef errno - extern int errno; -#endif - for (;;) { + svc_stop = 0; + + for (;;) + { + if (svc_stop) + return; + #ifdef FD_SETSIZE - readfds = svc_fdset; + readfds = svc_fdset; #else - readfds = svc_fds; + readfds = svc_fds; #endif /* def FD_SETSIZE */ - switch (select(_rpc_dtablesize(), &readfds, (int *)0, (int *)0, - (struct timeval *)0)) { - case -1: - if (errno == EINTR) { - continue; - } - perror("svc_run: - select failed"); - return; - case 0: - continue; - default: - svc_getreqset(&readfds); - } + switch (select (_rpc_dtablesize (), &readfds, (fd_set *)NULL, + (fd_set *)NULL, (struct timeval *) 0)) + { + case -1: + if (errno == EINTR) + { + continue; + } + perror (_("svc_run: - select failed")); + return; + case 0: + continue; + default: + svc_getreqset (&readfds); } + } } diff -durpN glibc-2.0.3/sys/ttydefaults.h glibc-2.0.4/sys/ttydefaults.h --- glibc-2.0.3/sys/ttydefaults.h Tue May 5 19:17:27 1992 +++ glibc-2.0.4/sys/ttydefaults.h Wed Dec 31 19:00:00 1969 @@ -1 +0,0 @@ -#include diff -durpN glibc-2.0.3/sysdeps/alpha/dl-machine.h glibc-2.0.4/sysdeps/alpha/dl-machine.h --- glibc-2.0.3/sysdeps/alpha/dl-machine.h Sat Feb 1 20:49:47 1997 +++ glibc-2.0.4/sysdeps/alpha/dl-machine.h Thu May 22 18:38:19 1997 @@ -86,7 +86,7 @@ elf_machine_load_address (void) /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void +static inline int elf_machine_runtime_setup (struct link_map *l, int lazy) { Elf64_Addr plt; @@ -104,7 +104,13 @@ elf_machine_runtime_setup (struct link_m /* Identify this shared object */ *(Elf64_Addr *)(plt + 24) = (Elf64_Addr) l; + + /* If the first instruction of the plt entry is not + "br $28, plt0", we cannot do lazy relocation. */ + lazy = (*(unsigned *)(plt + 32) == 0xc39ffff7); } + + return lazy; } /* This code is used in dl-runtime.c to call the `fixup' function @@ -145,9 +151,11 @@ _dl_runtime_resolve: .prologue 1 /* Set up the arguments for _dl_runtime_resolve. */ /* $16 = link_map out of plt0 */ + /* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */ + subq $28, $27, $17 ldq $16, 8($27) - /* $17 = offset of reloc entry */ - mov $28, $17 + subq $17, 20, $17 + addq $17, $17, $17 /* Do the fixup */ bsr $26, fixup..ng /* Move the destination address into position. */ @@ -283,14 +291,18 @@ elf_alpha_fix_plt(struct link_map *l, lo = (short)hi; hi = (hi - lo) >> 16; - /* Emit "ldah $27,H($27)" */ - plte[0] = 0x277b0000 | (hi & 0xffff); - /* Emit "lda $27,L($27)" */ plte[1] = 0x237b0000 | (lo & 0xffff); /* Emit "br $31,function" */ plte[2] = 0xc3e00000 | (edisp & 0x1fffff); + + /* Think about thread-safety -- the previous instructions must be + committed to memory before the first is overwritten. */ + __asm__ __volatile__("wmb" : : : "memory"); + + /* Emit "ldah $27,H($27)" */ + plte[0] = 0x277b0000 | (hi & 0xffff); } else { @@ -303,14 +315,18 @@ elf_alpha_fix_plt(struct link_map *l, lo = (short)hi; hi = (hi - lo) >> 16; - /* Emit "ldah $27,H($27)" */ - plte[0] = 0x277b0000 | (hi & 0xffff); - /* Emit "ldq $27,L($27)" */ plte[1] = 0xa77b0000 | (lo & 0xffff); /* Emit "jmp $31,($27)" */ plte[2] = 0x6bfb0000; + + /* Think about thread-safety -- the previous instructions must be + committed to memory before the first is overwritten. */ + __asm__ __volatile__("wmb" : : : "memory"); + + /* Emit "ldah $27,H($27)" */ + plte[0] = 0x277b0000 | (hi & 0xffff); } /* At this point, if we've been doing runtime resolution, Icache is dirty. diff -durpN glibc-2.0.3/sysdeps/generic/configure glibc-2.0.4/sysdeps/generic/configure --- glibc-2.0.3/sysdeps/generic/configure Mon Jul 8 11:26:36 1996 +++ glibc-2.0.4/sysdeps/generic/configure Mon May 26 17:21:04 1997 @@ -4,20 +4,22 @@ if test -z "$inhibit_glue"; then for ac_func in psignal do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ -char $ac_func(); +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); -int main() { return 0; } -int t() { +int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named @@ -30,19 +32,21 @@ $ac_func(); ; return 0; } EOF -if eval $ac_link; then +if { (eval echo configure:36: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* - fi + if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'` + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h < + + +__BEGIN_DECLS + +typedef unsigned int tcp_seq; +/* + * TCP header. + * Per RFC 793, September, 1981. + */ +struct tcphdr { + u_short th_sport; /* source port */ + u_short th_dport; /* destination port */ + tcp_seq th_seq; /* sequence number */ + tcp_seq th_ack; /* acknowledgement number */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + u_char th_x2:4, /* (unused) */ + th_off:4; /* data offset */ +#endif +#if __BYTE_ORDER == __BIG_ENDIAN + u_char th_off:4, /* data offset */ + th_x2:4; /* (unused) */ +#endif + u_char th_flags; +#define TH_FIN 0x01 +#define TH_SYN 0x02 +#define TH_RST 0x04 +#define TH_PUSH 0x08 +#define TH_ACK 0x10 +#define TH_URG 0x20 + u_short th_win; /* window */ + u_short th_sum; /* checksum */ + u_short th_urp; /* urgent pointer */ +}; + +#define TCPOPT_EOL 0 +#define TCPOPT_NOP 1 +#define TCPOPT_MAXSEG 2 +#define TCPOLEN_MAXSEG 4 +#define TCPOPT_WINDOW 3 +#define TCPOLEN_WINDOW 3 +#define TCPOPT_SACK_PERMITTED 4 /* Experimental */ +#define TCPOLEN_SACK_PERMITTED 2 +#define TCPOPT_SACK 5 /* Experimental */ +#define TCPOPT_TIMESTAMP 8 +#define TCPOLEN_TIMESTAMP 10 +#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ + +#define TCPOPT_TSTAMP_HDR \ + (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) + +/* + * Default maximum segment size for TCP. + * With an IP MSS of 576, this is 536, + * but 512 is probably more convenient. + * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). + */ +#define TCP_MSS 512 + +#define TCP_MAXWIN 65535 /* largest value for (unscaled) window */ + +#define TCP_MAX_WINSHIFT 14 /* maximum window shift */ + +/* + * User-settable options (used with setsockopt). + */ +#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ +#define TCP_MAXSEG 0x02 /* set maximum segment size */ + +#define SOL_TCP 6 /* TCP level */ + +__END_DECLS + +#endif /* netinet/tcp.h */ diff -durpN glibc-2.0.3/sysdeps/generic/sigset.h glibc-2.0.4/sysdeps/generic/sigset.h --- glibc-2.0.3/sysdeps/generic/sigset.h Fri Apr 4 10:33:42 1997 +++ glibc-2.0.4/sysdeps/generic/sigset.h Thu May 8 10:34:04 1997 @@ -51,9 +51,9 @@ typedef unsigned long int __sigset_t; #ifdef _GNU_SOURCE # define __sigisemptyset(set) (*(set) == (__sigset_t) 0) # define __sigandset(dest, left, right) \ - ((*(set) = (*(left) & *(right))), 0) + ((*(dest) = (*(left) & *(right))), 0) # define __sigorset(dest, left, right) \ - ((*(set) = (*(left) | *(right))), 0) + ((*(dest) = (*(left) | *(right))), 0) #endif /* These functions needn't check for a bogus signal number -- error diff -durpN glibc-2.0.3/sysdeps/generic/sys/ttydefaults.h glibc-2.0.4/sysdeps/generic/sys/ttydefaults.h --- glibc-2.0.3/sysdeps/generic/sys/ttydefaults.h Wed Dec 31 19:00:00 1969 +++ glibc-2.0.4/sysdeps/generic/sys/ttydefaults.h Thu May 8 05:59:56 1997 @@ -0,0 +1,104 @@ +/*- + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * (c) UNIX System Laboratories, Inc. + * All or some portions of this file are derived from material licensed + * to the University of California by American Telephone and Telegraph + * Co. or Unix System Laboratories, Inc. and are reproduced herein with + * the permission of UNIX System Laboratories, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 + */ + +/* + * System wide defaults for terminal state. 4.4 BSD/generic GNU version. + */ +#ifndef _SYS_TTYDEFAULTS_H_ +#define _SYS_TTYDEFAULTS_H_ + +/* + * Defaults on "first" open. + */ +#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_OFLAG (OPOST | ONLCR | OXTABS) +#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) +#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) +#define TTYDEF_SPEED (B9600) + +/* + * Control Character Defaults + */ +#define CTRL(x) (x&037) +#define CEOF CTRL('d') +#ifdef _POSIX_VDISABLE +# define CEOL _POSIX_VDISABLE +#else +# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CERASE 0177 +#define CINTR CTRL('c') +#ifdef _POSIX_VDISABLE +# define CSTATUS _POSIX_VDISABLE +#else +# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CKILL CTRL('u') +#define CMIN 1 +#define CQUIT 034 /* FS, ^\ */ +#define CSUSP CTRL('z') +#define CTIME 0 +#define CDSUSP CTRL('y') +#define CSTART CTRL('q') +#define CSTOP CTRL('s') +#define CLNEXT CTRL('v') +#define CDISCARD CTRL('o') +#define CWERASE CTRL('w') +#define CREPRINT CTRL('r') +#define CEOT CEOF +/* compat */ +#define CBRK CEOL +#define CRPRNT CREPRINT +#define CFLUSH CDISCARD + +/* PROTECTED INCLUSION ENDS HERE */ +#endif /* !_SYS_TTYDEFAULTS_H_ */ + +/* + * #define TTYDEFCHARS to include an array of default control characters. + */ +#ifdef TTYDEFCHARS +cc_t ttydefchars[NCCS] = { + CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, + _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, + CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE +}; +#undef TTYDEFCHARS +#endif diff -durpN glibc-2.0.3/sysdeps/gnu/errlist.c glibc-2.0.4/sysdeps/gnu/errlist.c --- glibc-2.0.3/sysdeps/gnu/errlist.c Fri Apr 4 17:56:10 1997 +++ glibc-2.0.4/sysdeps/gnu/errlist.c Tue May 20 11:25:17 1997 @@ -797,14 +797,6 @@ TRANS This error code has no purpose. */ /* */ [EREMOTEIO] = N_("Remote I/O error"), #endif -#ifdef ENOMEDIUM -/* */ - [ENOMEDIUM] = N_("No medium found"), -#endif -#ifdef EMEDIUMTYPE -/* */ - [EMEDIUMTYPE] = N_("Wrong medium type"), -#endif }; const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0]; diff -durpN glibc-2.0.3/sysdeps/i386/dl-machine.h glibc-2.0.4/sysdeps/i386/dl-machine.h --- glibc-2.0.3/sysdeps/i386/dl-machine.h Fri Mar 21 12:05:41 1997 +++ glibc-2.0.4/sysdeps/i386/dl-machine.h Thu May 22 18:39:40 1997 @@ -84,7 +84,7 @@ static ElfW(Addr) fixup (struct link_map /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void __attribute__ ((unused)) +static inline int elf_machine_runtime_setup (struct link_map *l, int lazy) { Elf32_Addr *got; @@ -103,9 +103,11 @@ elf_machine_runtime_setup (struct link_m got[2] = (Elf32_Addr) &_dl_runtime_resolve; } + return lazy; +} - /* This code is used in dl-runtime.c to call the `fixup' function - and then redirect to the address it returns. */ +/* This code is used in dl-runtime.c to call the `fixup' function + and then redirect to the address it returns. */ #ifndef PROF # define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ .globl _dl_runtime_resolve @@ -147,7 +149,6 @@ _dl_runtime_resolve: #endif /* The PLT uses Elf32_Rel relocs. */ #define elf_machine_relplt elf_machine_rel -} /* Mask identifying addresses reserved for the user program, where the dynamic linker should not map anything. */ diff -durpN glibc-2.0.3/sysdeps/i386/elf/start.S glibc-2.0.4/sysdeps/i386/elf/start.S --- glibc-2.0.3/sysdeps/i386/elf/start.S Sun Mar 16 19:15:44 1997 +++ glibc-2.0.4/sysdeps/i386/elf/start.S Sun May 25 15:04:44 1997 @@ -50,12 +50,12 @@ _start: pointer; hopefully it will be zero so we don't try to call random pointers. */ testl %edx,%edx - jz nofini + jz .Lnofini pushl %edx call atexit popl %eax /* Pop value to unused register to remove argument from stack. */ -nofini: +.Lnofini: /* Do essential libc initialization. In statically linked programs under the GNU Hurd, this is what sets up the diff -durpN glibc-2.0.3/sysdeps/i386/fpu/__math.h glibc-2.0.4/sysdeps/i386/fpu/__math.h --- glibc-2.0.3/sysdeps/i386/fpu/__math.h Sun Feb 2 22:18:12 1997 +++ glibc-2.0.4/sysdeps/i386/fpu/__math.h Sat May 24 18:45:47 1997 @@ -444,10 +444,10 @@ __MATH_INLINE double logb (double __x); __MATH_INLINE double logb (double __x) { - register double __value; + register double __value, __junk; __asm __volatile__ ("fxtract\n\t" - : "=t" (__value) : "0" (__x)); + : "=t" (__junk), "=u" (__value) : "0" (__x)); return __value; } diff -durpN glibc-2.0.3/sysdeps/i386/i386-mcount.S glibc-2.0.4/sysdeps/i386/i386-mcount.S --- glibc-2.0.3/sysdeps/i386/i386-mcount.S Fri Mar 21 09:43:37 1997 +++ glibc-2.0.4/sysdeps/i386/i386-mcount.S Sun May 25 15:06:27 1997 @@ -45,7 +45,7 @@ C_LABEL(_mcount) call 1f 1: popl %ecx addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx - movl C_SYMBOL_NAME(__mcount_internal@GOTOFF)(%ecx), %eax + movl C_SYMBOL_NAME(__mcount_internal@GOT)(%ecx), %eax call *%eax #else call C_SYMBOL_NAME(__mcount_internal) diff -durpN glibc-2.0.3/sysdeps/libm-i387/e_pow.S glibc-2.0.4/sysdeps/libm-i387/e_pow.S --- glibc-2.0.3/sysdeps/libm-i387/e_pow.S Wed Mar 19 21:27:03 1997 +++ glibc-2.0.4/sysdeps/libm-i387/e_pow.S Tue Apr 29 13:31:08 1997 @@ -48,9 +48,6 @@ one: .double 1.0 ASM_TYPE_DIRECTIVE(limit,@object) limit: .double 0.29 ASM_SIZE_DIRECTIVE(limit) - ASM_TYPE_DIRECTIVE(nan,@object) -nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f - ASM_SIZE_DIRECTIVE(nan) #ifdef PIC #define MO(op) op##@GOTOFF(%ecx) @@ -191,8 +188,8 @@ ENTRY(__ieee754_pow) ret .align ALIGNARG(4) -14: fldl MO(nan) - faddl MO(zero) // raise invalid exception +14: fldl MO(infinity) + fmull MO(zero) // raise invalid exception ret .align ALIGNARG(4) diff -durpN glibc-2.0.3/sysdeps/libm-i387/e_powf.S glibc-2.0.4/sysdeps/libm-i387/e_powf.S --- glibc-2.0.3/sysdeps/libm-i387/e_powf.S Wed Mar 19 21:27:03 1997 +++ glibc-2.0.4/sysdeps/libm-i387/e_powf.S Tue Apr 29 13:31:08 1997 @@ -48,9 +48,6 @@ one: .double 1.0 ASM_TYPE_DIRECTIVE(limit,@object) limit: .double 0.29 ASM_SIZE_DIRECTIVE(limit) - ASM_TYPE_DIRECTIVE(nan,@object) -nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f - ASM_SIZE_DIRECTIVE(nan) #ifdef PIC #define MO(op) op##@GOTOFF(%ecx) @@ -187,8 +184,8 @@ ENTRY(__ieee754_powf) ret .align ALIGNARG(4) -14: fldl MO(nan) - faddl MO(zero) // raise invalid exception +14: fldl MO(infinity) + fmull MO(zero) // raise invalid exception ret .align ALIGNARG(4) diff -durpN glibc-2.0.3/sysdeps/libm-i387/e_powl.S glibc-2.0.4/sysdeps/libm-i387/e_powl.S --- glibc-2.0.3/sysdeps/libm-i387/e_powl.S Sun Mar 16 20:02:19 1997 +++ glibc-2.0.4/sysdeps/libm-i387/e_powl.S Tue Apr 29 13:31:08 1997 @@ -48,9 +48,6 @@ one: .double 1.0 ASM_TYPE_DIRECTIVE(limit,@object) limit: .double 0.29 ASM_SIZE_DIRECTIVE(limit) - ASM_TYPE_DIRECTIVE(nan,@object) -nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f - ASM_SIZE_DIRECTIVE(nan) #ifdef PIC #define MO(op) op##@GOTOFF(%ecx) @@ -64,6 +61,13 @@ nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f ENTRY(__ieee754_powl) fldt 16(%esp) // y fxam + +#ifdef PIC + call 1f +1: popl %ecx + addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx +#endif + fnstsw movb %ah, %dl andb $0x45, %ah @@ -76,12 +80,6 @@ ENTRY(__ieee754_powl) cmpb $0x01, %ah // is y == NaN ? je 30f -#ifdef PIC - call 1f -1: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx -#endif - fldt 4(%esp) // x : y subl $8,%esp @@ -190,8 +188,8 @@ ENTRY(__ieee754_powl) ret .align ALIGNARG(4) -14: fldl MO(nan) - faddl MO(zero) // raise invalid exception +14: fldl MO(infinity) + fmull MO(zero) // raise invalid exception ret .align ALIGNARG(4) diff -durpN glibc-2.0.3/sysdeps/libm-ieee754/e_acoshl.c glibc-2.0.4/sysdeps/libm-ieee754/e_acoshl.c --- glibc-2.0.3/sysdeps/libm-ieee754/e_acoshl.c Thu Sep 19 21:56:16 1996 +++ glibc-2.0.4/sysdeps/libm-ieee754/e_acoshl.c Tue May 20 15:56:49 1997 @@ -53,7 +53,7 @@ ln2 = 6.931471805599453094287e-01L; /* 0 long double t; u_int32_t se,i0,i1; GET_LDOUBLE_WORDS(se,i0,i1,x); - if(se<0x3fff) { /* x < 1 */ + if(se<0x3fff || se & 0x8000) { /* x < 1 */ return (x-x)/(x-x); } else if(se >=0x401b) { /* x > 2**28 */ if(se >=0x7fff) { /* x is inf of NaN */ diff -durpN glibc-2.0.3/sysdeps/libm-ieee754/e_atan2l.c glibc-2.0.4/sysdeps/libm-ieee754/e_atan2l.c --- glibc-2.0.3/sysdeps/libm-ieee754/e_atan2l.c Wed Dec 31 19:00:00 1969 +++ glibc-2.0.4/sysdeps/libm-ieee754/e_atan2l.c Tue May 20 15:58:27 1997 @@ -0,0 +1,136 @@ +/* e_atan2l.c -- long double version of e_atan2.c. + * Conversion to long double by Ulrich Drepper, + * Cygnus Support, drepper@cygnus.com. + */ + +/* + * ==================================================== + * 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: $"; +#endif + +/* __ieee754_atan2l(y,x) + * Method : + * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). + * 2. Reduce x to positive by (if x and y are unexceptional): + * ARG (x+iy) = arctan(y/x) ... if x > 0, + * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, + * + * Special cases: + * + * ATAN2((anything), NaN ) is NaN; + * ATAN2(NAN , (anything) ) is NaN; + * ATAN2(+-0, +(anything but NaN)) is +-0 ; + * ATAN2(+-0, -(anything but NaN)) is +-pi ; + * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; + * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; + * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; + * ATAN2(+-INF,+INF ) is +-pi/4 ; + * ATAN2(+-INF,-INF ) is +-3pi/4; + * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; + * + * 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 + * to produce the hexadecimal values shown. + */ + +#include "math.h" +#include "math_private.h" + +#ifdef __STDC__ +static const long double +#else +static long double +#endif +tiny = 1.0e-4900L, +zero = 0.0, +pi_o_4 = 7.85398163397448309628202E-01L, /* 0x3FFE, 0xC90FDAA2, 0x2168C235 */ +pi_o_2 = 1.5707963267948966192564E+00L, /* 0x3FFF, 0xC90FDAA2, 0x2168C235 */ +pi = 3.14159265358979323851281E+00L, /* 0x4000, 0xC90FDAA2, 0x2168C235 */ +pi_lo = -5.01655761266833202345176e-20L;/* 0xBFBE, 0xECE675D1, 0xFC8F8CBB */ + +#ifdef __STDC__ + long double __ieee754_atan2l(long double y, long double x) +#else + long double __ieee754_atan2l(y,x) + long double y,x; +#endif +{ + long double z; + int32_t k,m,hx,hy,ix,iy; + u_int32_t sx,sy,lx,ly; + + EXTRACT_LDOUBLE_WORDS(sx,hx,lx,x); + ix = sx&0x7fff; + lx |= hx & 0x7fffffff; + EXTRACT_LDOUBLE_WORDS(sy,hy,ly,y); + iy = sy&0x7fff; + ly |= hy & 0x7fffffff; + if(((2*ix|((lx|-lx)>>31))>0xfffe)|| + ((2*iy|((ly|-ly)>>31))>0xfffe)) /* x or y is NaN */ + return x+y; + if((sx-0x3fff|lx)==0) return __atanl(y); /* x=1.0 */ + m = ((sy>>15)&1)|((sx>>14)&2); /* 2*sign(x)+sign(y) */ + + /* when y = 0 */ + if((iy|ly)==0) { + switch(m) { + case 0: + case 1: return y; /* atan(+-0,+anything)=+-0 */ + case 2: return pi+tiny;/* atan(+0,-anything) = pi */ + case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */ + } + } + /* when x = 0 */ + if((ix|lx)==0) return (sy>=0x8000)? -pi_o_2-tiny: pi_o_2+tiny; + + /* when x is INF */ + if(ix==0x7fff) { + if(iy==0x7fff) { + switch(m) { + case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */ + case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */ + case 2: return 3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/ + case 3: return -3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/ + } + } else { + switch(m) { + case 0: return zero ; /* atan(+...,+INF) */ + case 1: return -zero ; /* atan(-...,+INF) */ + case 2: return pi+tiny ; /* atan(+...,-INF) */ + case 3: return -pi-tiny ; /* atan(-...,-INF) */ + } + } + } + /* when y is INF */ + if(iy==0x7fff) return (sy>=0x8000)? -pi_o_2-tiny: pi_o_2+tiny; + + /* compute y/x */ + k = sy-sx; + if(k > 70) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**70 */ + else if(sx>=0x8000&&k<-70) z=0.0; /* |y|/x < -2**70 */ + else z=__atanl(fabsl(y/x)); /* safe to do y/x */ + switch (m) { + case 0: return z ; /* atan(+,+) */ + case 1: { + u_int32_t sz; + GET_LDOUBLE_EXP(sz,z); + SET_LDOUBLE_EXP(z,sz ^ 0x8000); + } + return z ; /* atan(-,+) */ + case 2: return pi-(z-pi_lo);/* atan(+,-) */ + default: /* case 3 */ + return (z-pi_lo)-pi;/* atan(-,-) */ + } +} diff -durpN glibc-2.0.3/sysdeps/libm-ieee754/e_atanhl.c glibc-2.0.4/sysdeps/libm-ieee754/e_atanhl.c --- glibc-2.0.3/sysdeps/libm-ieee754/e_atanhl.c Sat Oct 5 22:04:00 1996 +++ glibc-2.0.4/sysdeps/libm-ieee754/e_atanhl.c Tue May 20 15:59:02 1997 @@ -75,5 +75,5 @@ static double long zero = 0.0; t = 0.5*__log1pl(t+t*x/(one-x)); } else t = 0.5*__log1pl((x+x)/(one-x)); - if(se>0x7fff) return t; else return -t; + if(se<=0x7fff) return t; else return -t; } diff -durpN glibc-2.0.3/sysdeps/libm-ieee754/e_sinhl.c glibc-2.0.4/sysdeps/libm-ieee754/e_sinhl.c --- glibc-2.0.3/sysdeps/libm-ieee754/e_sinhl.c Fri Jan 24 21:36:17 1997 +++ glibc-2.0.4/sysdeps/libm-ieee754/e_sinhl.c Tue May 20 15:59:28 1997 @@ -63,7 +63,7 @@ static long double one = 1.0, shuge = 1. if(ix==0x7fff) return x+x; h = 0.5; - if (jx<0) h = -h; + if (jx & 0x8000) h = -h; /* |x| in [0,25], return sign(x)*0.5*(E+E/(E+1))) */ if (ix < 0x4003 || (ix == 0x4003 && i0 <= 0xc8000000)) { /* |x|<25 */ if (ix<0x3fe3) /* |x|<2**-28 */ diff -durpN glibc-2.0.3/sysdeps/m68k/Makefile glibc-2.0.4/sysdeps/m68k/Makefile --- glibc-2.0.3/sysdeps/m68k/Makefile Wed Jan 1 10:27:53 1997 +++ glibc-2.0.4/sysdeps/m68k/Makefile Tue May 20 20:19:48 1997 @@ -1,4 +1,4 @@ -# Copyright (C) 1993, 1994, 1996 Free Software Foundation, Inc. +# Copyright (C) 1993, 1994, 1996, 1997 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 @@ -34,3 +34,8 @@ long-double-fcts = yes ifeq ($(subdir),elf) CFLAGS-rtld.c += -Wno-uninitialized endif + +ifeq ($(subdir),math) +# Avoid a bug in gcc +CFLAGS-s_copysignl.c += -mnobitfield +endif \ No newline at end of file diff -durpN glibc-2.0.3/sysdeps/m68k/dl-machine.h glibc-2.0.4/sysdeps/m68k/dl-machine.h --- glibc-2.0.3/sysdeps/m68k/dl-machine.h Tue Dec 3 20:41:08 1996 +++ glibc-2.0.4/sysdeps/m68k/dl-machine.h Thu May 22 19:20:12 1997 @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. m68k version. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 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 @@ -73,7 +73,7 @@ elf_machine_load_address (void) /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void +static inline int elf_machine_runtime_setup (struct link_map *l, int lazy) { Elf32_Addr *got; @@ -94,8 +94,10 @@ elf_machine_runtime_setup (struct link_m got[2] = (Elf32_Addr) &_dl_runtime_resolve; } - /* This code is used in dl-runtime.c to call the `fixup' function - and then redirect to the address it returns. */ + return lazy; +} +/* This code is used in dl-runtime.c to call the `fixup' function + and then redirect to the address it returns. */ #define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ | Trampoline for _dl_runtime_resolver .globl _dl_runtime_resolve @@ -118,7 +120,6 @@ _dl_runtime_resolve: #define ELF_MACHINE_RUNTIME_FIXUP_ARGS long int save_a0, long int save_a1 /* The PLT uses Elf32_Rela relocs. */ #define elf_machine_relplt elf_machine_rela -} /* Mask identifying addresses reserved for the user program, diff -durpN glibc-2.0.3/sysdeps/mach/hurd/setitimer.c glibc-2.0.4/sysdeps/mach/hurd/setitimer.c --- glibc-2.0.3/sysdeps/mach/hurd/setitimer.c Tue Dec 17 22:23:19 1996 +++ glibc-2.0.4/sysdeps/mach/hurd/setitimer.c Tue May 20 16:11:00 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1995, 1996, 1997 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 @@ -16,7 +16,6 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include #include #include #include @@ -310,9 +309,8 @@ setitimer_locked (const struct itimerval set *OLD to the old value of timer WHICH. Returns 0 on success, -1 on errors. */ int -DEFUN(__setitimer, (which, new, old), - enum __itimer_which which AND - struct itimerval *new AND struct itimerval *old) +__setitimer (enum __itimer_which which, const struct itimerval *new, + struct itimerval *old) { void *crit; diff -durpN glibc-2.0.3/sysdeps/mips/dl-machine.h glibc-2.0.4/sysdeps/mips/dl-machine.h --- glibc-2.0.3/sysdeps/mips/dl-machine.h Thu Dec 19 20:34:49 1996 +++ glibc-2.0.4/sysdeps/mips/dl-machine.h Thu May 22 19:20:42 1997 @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. MIPS version. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Kazumoto Kojima . @@ -183,7 +183,7 @@ elf_machine_got_rel (struct link_map *ma /* Set up the loaded object described by L so its stub function will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void +static inline int elf_machine_runtime_setup (struct link_map *l, int lazy) { ElfW(Addr) *got; @@ -213,6 +213,8 @@ elf_machine_runtime_setup (struct link_m /* Relocate global offset table. */ elf_machine_got_rel (l); + + retunr lazy; } /* Get link_map for this object. */ diff -durpN glibc-2.0.3/sysdeps/sparc/dl-machine.h glibc-2.0.4/sysdeps/sparc/dl-machine.h --- glibc-2.0.3/sysdeps/sparc/dl-machine.h Tue Dec 3 20:41:19 1996 +++ glibc-2.0.4/sysdeps/sparc/dl-machine.h Thu May 22 19:21:33 1997 @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. SPARC version. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 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 @@ -183,7 +183,7 @@ elf_machine_lazy_rel (struct link_map *m /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void +static inline int elf_machine_runtime_setup (struct link_map *l, int lazy) { Elf32_Addr *plt; @@ -216,8 +216,10 @@ elf_machine_runtime_setup (struct link_m plt[3] = l; } - /* This code is used in dl-runtime.c to call the `fixup' function - and then redirect to the address it returns. */ + return lazy; +} +/* This code is used in dl-runtime.c to call the `fixup' function + and then redirect to the address it returns. */ #define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\ | Trampoline for _dl_runtime_resolver .globl _dl_runtime_resolve @@ -235,9 +237,9 @@ _dl_runtime_resolve: restore .size _dl_runtime_resolve, . - _dl_runtime_resolve "); + /* The PLT uses Elf32_Rela relocs. */ #define elf_machine_relplt elf_machine_rela -} /* Mask identifying addresses reserved for the user program, diff -durpN glibc-2.0.3/sysdeps/stub/dl-machine.h glibc-2.0.4/sysdeps/stub/dl-machine.h --- glibc-2.0.3/sysdeps/stub/dl-machine.h Tue Dec 3 20:41:22 1996 +++ glibc-2.0.4/sysdeps/stub/dl-machine.h Thu May 22 19:22:20 1997 @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. Stub version. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 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 @@ -102,19 +102,26 @@ elf_machine_rela (Elf32_Addr loadaddr, E /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline void +static inline int elf_machine_runtime_setup (struct link_map *l) { extern void _dl_runtime_resolve (Elf32_Word); - /* The GOT entries for functions in the PLT have not yet been filled - in. Their initial contents will arrange when called to push an - offset into the .rel.plt section, push _GLOBAL_OFFSET_TABLE_[1], - and then jump to _GLOBAL_OFFSET_TABLE[2]. */ - Elf32_Addr *got = (Elf32_Addr *) l->l_info[DT_PLTGOT]->d_un.d_ptr; - got[1] = (Elf32_Addr) l; /* Identify this shared object. */ - /* This function will get called to fix up the GOT entry indicated by - the offset on the stack, and then jump to the resolved address. */ - got[2] = (Elf32_Addr) &_dl_runtime_resolve; + + if (lazy) + { + /* The GOT entries for functions in the PLT have not yet been filled + in. Their initial contents will arrange when called to push an + offset into the .rel.plt section, push _GLOBAL_OFFSET_TABLE_[1], + and then jump to _GLOBAL_OFFSET_TABLE[2]. */ + Elf32_Addr *got = (Elf32_Addr *) l->l_info[DT_PLTGOT]->d_un.d_ptr; + got[1] = (Elf32_Addr) l; /* Identify this shared object. */ + + /* This function will get called to fix up the GOT entry indicated by + the offset on the stack, and then jump to the resolved address. */ + got[2] = (Elf32_Addr) &_dl_runtime_resolve; + } + + return lazy; } diff -durpN glibc-2.0.3/sysdeps/stub/e_atan2l.c glibc-2.0.4/sysdeps/stub/e_atan2l.c --- glibc-2.0.3/sysdeps/stub/e_atan2l.c Sun Oct 13 06:40:18 1996 +++ glibc-2.0.4/sysdeps/stub/e_atan2l.c Wed Dec 31 19:00:00 1969 @@ -1,11 +0,0 @@ -#include -#include - -long double -__ieee754_atan2l (long double x, long double y) -{ - fputs ("__ieee754_atan2l not implemented\n", stderr); - return 0.0; -} - -stub_warning (__ieee754_atan2l) diff -durpN glibc-2.0.3/sysdeps/stub/setitimer.c glibc-2.0.4/sysdeps/stub/setitimer.c --- glibc-2.0.3/sysdeps/stub/setitimer.c Thu Sep 26 23:36:45 1996 +++ glibc-2.0.4/sysdeps/stub/setitimer.c Tue May 20 16:10:45 1997 @@ -1,20 +1,20 @@ -/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. +/* Copyright (C) 1991, 1994, 1995, 1996, 1997 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 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. + 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. */ + 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 #include @@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */ int __setitimer (which, new, old) enum __itimer_which which; - struct itimerval *new; + const struct itimerval *new; struct itimerval *old; { if (new == NULL) diff -durpN glibc-2.0.3/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h glibc-2.0.4/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h --- glibc-2.0.3/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h Wed Dec 31 19:00:00 1969 +++ glibc-2.0.4/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h Thu May 8 06:00:32 1997 @@ -0,0 +1,104 @@ +/*- + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * (c) UNIX System Laboratories, Inc. + * All or some portions of this file are derived from material licensed + * to the University of California by American Telephone and Telegraph + * Co. or Unix System Laboratories, Inc. and are reproduced herein with + * the permission of UNIX System Laboratories, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 + */ + +/* + * System wide defaults for terminal state. SunOS 4 version. + */ +#ifndef _SYS_TTYDEFAULTS_H_ +#define _SYS_TTYDEFAULTS_H_ + +/* + * Defaults on "first" open. + */ +#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) +#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) +#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) +#define TTYDEF_SPEED (B9600) + +/* + * Control Character Defaults + */ +#define CTRL(x) (x&037) +#define CEOF CTRL('d') +#ifdef _POSIX_VDISABLE +# define CEOL _POSIX_VDISABLE +#else +# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CERASE 0177 +#define CINTR CTRL('c') +#ifdef _POSIX_VDISABLE +# define CSTATUS _POSIX_VDISABLE +#else +# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CKILL CTRL('u') +#define CMIN 1 +#define CQUIT 034 /* FS, ^\ */ +#define CSUSP CTRL('z') +#define CTIME 0 +#define CDSUSP CTRL('y') +#define CSTART CTRL('q') +#define CSTOP CTRL('s') +#define CLNEXT CTRL('v') +#define CDISCARD CTRL('o') +#define CWERASE CTRL('w') +#define CREPRINT CTRL('r') +#define CEOT CEOF +/* compat */ +#define CBRK CEOL +#define CRPRNT CREPRINT +#define CFLUSH CDISCARD + +/* PROTECTED INCLUSION ENDS HERE */ +#endif /* !_SYS_TTYDEFAULTS_H_ */ + +/* + * #define TTYDEFCHARS to include an array of default control characters. + */ +#ifdef TTYDEFCHARS +cc_t ttydefchars[NCCS] = { + CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, + _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, + CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE +}; +#undef TTYDEFCHARS +#endif diff -durpN glibc-2.0.3/sysdeps/unix/common/configure glibc-2.0.4/sysdeps/unix/common/configure --- glibc-2.0.3/sysdeps/unix/common/configure Mon Jul 8 11:26:18 1996 +++ glibc-2.0.4/sysdeps/unix/common/configure Mon May 26 17:21:03 1997 @@ -3,27 +3,28 @@ if test -z "$inhibit_glue"; then # Find out what this system calls `sys_siglist'. echo $ac_n "checking for sys_siglist""... $ac_c" 1>&6 +echo "configure:7: checking for sys_siglist" >&5 if eval "test \"`echo '$''{'ac_cv_check_symbol_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_check_symbol_sys_siglist=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_check_symbol_sys_siglist=no fi rm -f conftest* - fi if test "$ac_cv_check_symbol_sys_siglist" = yes; then @@ -35,27 +36,28 @@ EOF fi echo "$ac_t""$ac_cv_check_symbol_sys_siglist" 1>&6 echo $ac_n "checking for _sys_siglist""... $ac_c" 1>&6 +echo "configure:40: checking for _sys_siglist" >&5 if eval "test \"`echo '$''{'ac_cv_check_symbol__sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_check_symbol__sys_siglist=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_check_symbol__sys_siglist=no fi rm -f conftest* - fi if test "$ac_cv_check_symbol__sys_siglist" = yes; then @@ -70,25 +72,27 @@ echo "$ac_t""$ac_cv_check_symbol__sys_si # Find out the name of the table the system's uses for character # classification. This is used by sysdeps/unix/common/glue-ctype.c. echo $ac_n "checking ctype array name for glue""... $ac_c" 1>&6 +echo "configure:76: checking ctype array name for glue" >&5 if eval "test \"`echo '$''{'libc_cv_ctype_glue'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else for ctype in _ctype_ __ctype_ __ctype _ctype__ _ctype _locp; do cat > conftest.$ac_ext < -int main() { return 0; } -int t() { +int main() { $ctype[13]; ; return 0; } EOF -if eval $ac_link; then +if { (eval echo configure:89: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* libc_cv_ctype_glue="$ctype"; break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi rm -f conftest* - done fi diff -durpN glibc-2.0.3/sysdeps/unix/configure glibc-2.0.4/sysdeps/unix/configure --- glibc-2.0.3/sysdeps/unix/configure Mon Jul 8 11:26:26 1996 +++ glibc-2.0.4/sysdeps/unix/configure Mon May 26 17:21:04 1997 @@ -5,20 +5,22 @@ if test -z "$inhibit_glue"; then for ac_func in strerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:9: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ -char $ac_func(); +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); -int main() { return 0; } -int t() { +int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named @@ -31,19 +33,21 @@ $ac_func(); ; return 0; } EOF -if eval $ac_link; then +if { (eval echo configure:37: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_$ac_func=no" fi rm -f conftest* - fi + if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'` + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h < #include -#include +#include #include #include #include @@ -107,11 +107,11 @@ struct ip_fw { #define IP_FW_F_MASK 0x3FFF /* All possible flag bits mask */ -/* +/* * New IP firewall options for [gs]etsockopt at the RAW IP level. * Unlike BSD Linux inherits IP options so you don't have to use * a raw socket for this. Instead we check rights in the calls. - */ + */ #define IP_FW_BASE_CTL 64 /* base for firewall socket options */ @@ -181,7 +181,7 @@ struct ip_fwpkt */ struct ip_fw_masq; - + __END_DECLS #endif /* _NETINET_IP_FW_H */ diff -durpN glibc-2.0.3/sysdeps/unix/sysv/linux/poll.c glibc-2.0.4/sysdeps/unix/sysv/linux/poll.c --- glibc-2.0.3/sysdeps/unix/sysv/linux/poll.c Wed Mar 5 15:45:55 1997 +++ glibc-2.0.4/sysdeps/unix/sysv/linux/poll.c Tue May 20 16:08:41 1997 @@ -41,10 +41,13 @@ poll (fds, nfds, timeout) { if (syscall) { + int errno_saved = errno; int retval = __syscall_poll (fds, nfds, timeout); if (retval >= 0 || errno != ENOSYS) return retval; + + __set_errno (errno_saved); } must_emulate = 1; diff -durpN glibc-2.0.3/sysdeps/unix/sysv/linux/shmat.c glibc-2.0.4/sysdeps/unix/sysv/linux/shmat.c --- glibc-2.0.3/sysdeps/unix/sysv/linux/shmat.c Thu Apr 17 16:04:21 1997 +++ glibc-2.0.4/sysdeps/unix/sysv/linux/shmat.c Thu May 22 11:42:55 1997 @@ -32,6 +32,7 @@ shmat (shmid, shmaddr, shmflg) int retval; unsigned long raddr; - retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, shmaddr); - return retval < 0 ? (void *) retval : (void *) raddr; + retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, (void *) shmaddr); + return ((unsigned long int) retval > -(unsigned long int) SHMLBA + ? (void *) retval : (void *) raddr); } diff -durpN glibc-2.0.3/sysdeps/unix/sysv/linux/shmdt.c glibc-2.0.4/sysdeps/unix/sysv/linux/shmdt.c --- glibc-2.0.3/sysdeps/unix/sysv/linux/shmdt.c Thu Apr 17 16:04:18 1997 +++ glibc-2.0.4/sysdeps/unix/sysv/linux/shmdt.c Tue May 20 12:04:21 1997 @@ -26,5 +26,5 @@ int shmdt (shmaddr) const void *shmaddr; { - return __ipc (IPCOP_shmdt, 0, 0, 0, shmaddr); + return __ipc (IPCOP_shmdt, 0, 0, 0, (void *) shmaddr); } diff -durpN glibc-2.0.3/sysdeps/unix/sysv/linux/sys/ttydefaults.h glibc-2.0.4/sysdeps/unix/sysv/linux/sys/ttydefaults.h --- glibc-2.0.3/sysdeps/unix/sysv/linux/sys/ttydefaults.h Wed Dec 31 19:00:00 1969 +++ glibc-2.0.4/sysdeps/unix/sysv/linux/sys/ttydefaults.h Thu May 8 06:00:45 1997 @@ -0,0 +1,104 @@ +/*- + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * (c) UNIX System Laboratories, Inc. + * All or some portions of this file are derived from material licensed + * to the University of California by American Telephone and Telegraph + * Co. or Unix System Laboratories, Inc. and are reproduced herein with + * the permission of UNIX System Laboratories, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 + */ + +/* + * System wide defaults for terminal state. Linux version. + */ +#ifndef _SYS_TTYDEFAULTS_H_ +#define _SYS_TTYDEFAULTS_H_ + +/* + * Defaults on "first" open. + */ +#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) +#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) +#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) +#define TTYDEF_SPEED (B9600) + +/* + * Control Character Defaults + */ +#define CTRL(x) (x&037) +#define CEOF CTRL('d') +#ifdef _POSIX_VDISABLE +# define CEOL _POSIX_VDISABLE +#else +# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CERASE 0177 +#define CINTR CTRL('c') +#ifdef _POSIX_VDISABLE +# define CSTATUS _POSIX_VDISABLE +#else +# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CKILL CTRL('u') +#define CMIN 1 +#define CQUIT 034 /* FS, ^\ */ +#define CSUSP CTRL('z') +#define CTIME 0 +#define CDSUSP CTRL('y') +#define CSTART CTRL('q') +#define CSTOP CTRL('s') +#define CLNEXT CTRL('v') +#define CDISCARD CTRL('o') +#define CWERASE CTRL('w') +#define CREPRINT CTRL('r') +#define CEOT CEOF +/* compat */ +#define CBRK CEOL +#define CRPRNT CREPRINT +#define CFLUSH CDISCARD + +/* PROTECTED INCLUSION ENDS HERE */ +#endif /* !_SYS_TTYDEFAULTS_H_ */ + +/* + * #define TTYDEFCHARS to include an array of default control characters. + */ +#ifdef TTYDEFCHARS +cc_t ttydefchars[NCCS] = { + CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, + _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, + CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE +}; +#undef TTYDEFCHARS +#endif diff -durpN glibc-2.0.3/sysdeps/unix/sysv/linux/syscalls.list glibc-2.0.4/sysdeps/unix/sysv/linux/syscalls.list --- glibc-2.0.3/sysdeps/unix/sysv/linux/syscalls.list Tue Mar 18 19:24:20 1997 +++ glibc-2.0.4/sysdeps/unix/sysv/linux/syscalls.list Thu May 8 10:44:18 1997 @@ -27,6 +27,7 @@ mremap EXTRA mremap 4 __mremap mremap munlock EXTRA munlock 2 __munlock munlock munlockall EXTRA munlockall 0 __munlockall munlockall nanosleep - nanosleep 2 __libc_nanosleep __nanosleep nanosleep +nfsservctl EXTRA nfsservctl 3 nfsservctl pause - pause 0 __libc_pause pause personality init-first personality 1 __personality personality pipe - pipe 1 __pipe pipe diff -durpN glibc-2.0.3/sysvipc/sys/ipc.h glibc-2.0.4/sysvipc/sys/ipc.h --- glibc-2.0.3/sysvipc/sys/ipc.h Wed Nov 6 20:34:41 1996 +++ glibc-2.0.4/sysvipc/sys/ipc.h Sun May 25 14:19:10 1997 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -24,6 +24,10 @@ /* Get system dependent definition of `struct ipc_perm' and more. */ #include + +#if !defined __USE_SVID && !defined __USE_XOPEN && __GNUC__ >= 2 +# warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" +#endif __BEGIN_DECLS diff -durpN glibc-2.0.3/termios/sys/ttydefaults.h glibc-2.0.4/termios/sys/ttydefaults.h --- glibc-2.0.3/termios/sys/ttydefaults.h Thu Apr 17 16:07:44 1997 +++ glibc-2.0.4/termios/sys/ttydefaults.h Wed Dec 31 19:00:00 1969 @@ -1,112 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 - */ - -/* - * System wide defaults for terminal state. - */ -#ifndef _SYS_TTYDEFAULTS_H_ -#define _SYS_TTYDEFAULTS_H_ - -/* - * Defaults on "first" open. - */ -#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) -#ifdef OXTABS -# define TTYDEF_OFLAG (OPOST | ONLCR | OXTABS) -#else -# if defined TAB3 -# define TTYDEF_OFLAG (OPOST | ONLCR | TAB3) -# else -# define TTYDEF_OFLAG (OPOST | ONLCR) -# endif -#endif -#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) -#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) -#define TTYDEF_SPEED (B9600) - -/* - * Control Character Defaults - */ -#define CTRL(x) (x&037) -#define CEOF CTRL('d') -#ifdef _POSIX_VDISABLE -# define CEOL _POSIX_VDISABLE -#else -# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CERASE 0177 -#define CINTR CTRL('c') -#ifdef _POSIX_VDISABLE -# define CSTATUS _POSIX_VDISABLE -#else -# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CKILL CTRL('u') -#define CMIN 1 -#define CQUIT 034 /* FS, ^\ */ -#define CSUSP CTRL('z') -#define CTIME 0 -#define CDSUSP CTRL('y') -#define CSTART CTRL('q') -#define CSTOP CTRL('s') -#define CLNEXT CTRL('v') -#define CDISCARD CTRL('o') -#define CWERASE CTRL('w') -#define CREPRINT CTRL('r') -#define CEOT CEOF -/* compat */ -#define CBRK CEOL -#define CRPRNT CREPRINT -#define CFLUSH CDISCARD - -/* PROTECTED INCLUSION ENDS HERE */ -#endif /* !_SYS_TTYDEFAULTS_H_ */ - -/* - * #define TTYDEFCHARS to include an array of default control characters. - */ -#ifdef TTYDEFCHARS -cc_t ttydefchars[NCCS] = { - CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, - _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, - CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE -}; -#undef TTYDEFCHARS -#endif diff -durpN glibc-2.0.3/time/europe glibc-2.0.4/time/europe --- glibc-2.0.3/time/europe Fri Apr 4 13:49:25 1997 +++ glibc-2.0.4/time/europe Sat May 3 18:52:28 1997 @@ -1,4 +1,4 @@ -# @(#)europe 7.43 +# @(#)europe 7.44 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -1037,7 +1037,7 @@ Zone Europe/Sarajevo 1:13:40 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 1:00 C-Eur CE%sT 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s - 1:00 - CET 1983 + 1:00 - CET 1982 Oct 11 1:00 EU CE%sT # Bulgaria @@ -1063,7 +1063,7 @@ Zone Europe/Zagreb 1:03:52 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 1:00 C-Eur CE%sT 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s - 1:00 - CET 1983 + 1:00 - CET 1982 Oct 11 1:00 EU CE%sT # Czech Republic @@ -1562,7 +1562,7 @@ Zone Europe/Skopje 1:25:44 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 1:00 C-Eur CE%sT 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s - 1:00 - CET 1983 + 1:00 - CET 1982 Oct 11 1:00 EU CE%sT # Malta @@ -1958,7 +1958,7 @@ Zone Europe/Ljubljana 0:58:04 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 1:00 C-Eur CE%sT 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s - 1:00 - CET 1983 + 1:00 - CET 1982 Oct 11 1:00 EU CE%sT # Spain @@ -2198,7 +2198,10 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 1:00 C-Eur CE%sT 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s - 1:00 - CET 1983 +# Metod Kozelj reports that the legal date of +# transition to EU rules was 1982-10-11, for all of Yugoslavia at the time. +# Shanks doesn't give as much detail, so go with Kozelj. + 1:00 - CET 1982 Oct 11 1:00 EU CE%sT ############################################################################### diff -durpN glibc-2.0.3/time/private.h glibc-2.0.4/time/private.h --- glibc-2.0.3/time/private.h Fri Apr 4 13:49:35 1997 +++ glibc-2.0.4/time/private.h Sun May 25 11:50:04 1997 @@ -182,7 +182,7 @@ char * imalloc P((int n)); void * irealloc P((void * pointer, int size)); void icfree P((char * pointer)); void ifree P((char * pointer)); -char * scheck P((const char *string, char *format)); +char * scheck P((const char *string, const char *format)); /* diff -durpN glibc-2.0.3/time/scheck.c glibc-2.0.4/time/scheck.c --- glibc-2.0.3/time/scheck.c Fri Apr 4 13:49:38 1997 +++ glibc-2.0.4/time/scheck.c Sun May 25 11:50:01 1997 @@ -11,7 +11,7 @@ static char elsieid[] = "@(#)scheck.c 8. char * scheck(string, format) const char * const string; -char * const format; +const char * const format; { register char * fbuf; register const char * fp; diff -durpN glibc-2.0.3/time/strftime.c glibc-2.0.4/time/strftime.c --- glibc-2.0.3/time/strftime.c Thu Apr 17 16:46:26 1997 +++ glibc-2.0.4/time/strftime.c Tue May 20 15:53:54 1997 @@ -175,6 +175,7 @@ localtime_r (t, tp) /* Some systems lack the `memset' function and we don't want to introduce additional dependencies. */ static const char spaces[16] = " "; +static const char zeroes[16] = "0000000000000000"; # define memset_space(P, Len) \ do { \ @@ -189,11 +190,26 @@ static const char spaces[16] = " } \ while (_len > 0); \ } while (0) + +# define memset_zero(P, Len) \ + do { \ + int _len = (Len); \ + \ + do \ + { \ + int _this = _len > 16 ? 16 : _len; \ + memcpy ((P), zeroes, _this); \ + (P) += _this; \ + _len -= _this; \ + } \ + while (_len > 0); \ + } while (0) #else # define memset_space(P, Len) (memset ((P), ' ', (Len)), (P) += (Len)) +# define memset_zero(P, Len) (memset ((P), '0', (Len)), (P) += (Len)) #endif -#define add(n, f) \ +#define add(n, f) \ do \ { \ int _n = (n); \ @@ -204,7 +220,12 @@ static const char spaces[16] = " if (p) \ { \ if (_delta > 0) \ - memset_space (p, _delta); \ + { \ + if (pad == '0') \ + memset_zero (p, _delta); \ + else \ + memset_space (p, _delta); \ + } \ f; \ p += _n; \ } \ diff -durpN glibc-2.0.3/time/strptime.c glibc-2.0.4/time/strptime.c --- glibc-2.0.3/time/strptime.c Thu Apr 17 16:46:35 1997 +++ glibc-2.0.4/time/strptime.c Thu May 8 10:38:25 1997 @@ -377,7 +377,7 @@ strptime_internal (buf, format, tm, deci case 'I': /* Match hour in 12-hour clock. */ get_number (1, 12); - tm->tm_hour = val - 1; + tm->tm_hour = val % 12; have_I = 1; break; case 'j': diff -durpN glibc-2.0.3/time/sys/time.h glibc-2.0.4/time/sys/time.h --- glibc-2.0.3/time/sys/time.h Mon Jan 6 17:07:28 1997 +++ glibc-2.0.4/time/sys/time.h Tue May 20 16:09:53 1997 @@ -81,11 +81,14 @@ enum __itimer_which { /* Timers run in real time. */ ITIMER_REAL = 0, +#define ITIMER_REAL ITIMER_REAL /* Timers run only when the process is executing. */ ITIMER_VIRTUAL = 1, +#define ITIMER_VIRTUAL ITIMER_VIRTUAL /* Timers run when the process is executing and when the system is executing on behalf of the process. */ ITIMER_PROF = 2 +#define ITIMER_PROF ITIMER_PROF }; /* Type of the second argument to `getitimer' and @@ -109,10 +112,10 @@ extern int getitimer __P ((enum __itimer set *OLD to the old value of timer WHICH. Returns 0 on success, -1 on errors. */ extern int __setitimer __P ((enum __itimer_which __which, - struct itimerval *__new, + __const struct itimerval *__new, struct itimerval *__old)); extern int setitimer __P ((enum __itimer_which __which, - struct itimerval *__new, + __const struct itimerval *__new, struct itimerval *__old)); /* Change the access time of FILE to TVP[0] and diff -durpN glibc-2.0.3/time/zic.c glibc-2.0.4/time/zic.c --- glibc-2.0.3/time/zic.c Sun Mar 16 19:06:42 1997 +++ glibc-2.0.4/time/zic.c Sun May 25 11:49:58 1997 @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)zic.c 7.83"; +static char elsieid[] = "@(#)zic.c 7.87"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -141,8 +141,10 @@ static int leapcnt; static int linenum; static time_t max_time; static int max_year; +static int max_year_representable; static time_t min_time; static int min_year; +static int min_year_representable; static int noise; static const char * rfilename; static int rlinenum; @@ -430,7 +432,7 @@ const char * const string; cp = ecpyalloc("warning: "); cp = ecatalloc(cp, string); - error(string); + error(cp); ifree(cp); --errors; } @@ -649,6 +651,8 @@ setboundaries P((void)) } min_year = TM_YEAR_BASE + gmtime(&min_time)->tm_year; max_year = TM_YEAR_BASE + gmtime(&max_time)->tm_year; + min_year_representable = min_year; + max_year_representable = max_year; } static int @@ -1218,6 +1222,7 @@ const char * const timep; rp->r_todisstd = FALSE; rp->r_todisgmt = FALSE; *ep = '\0'; + break; case 'g': /* Greenwich */ case 'u': /* Universal */ case 'z': /* Zulu */ @@ -1249,7 +1254,11 @@ const char * const timep; } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_loyear) != 1) { error(_("invalid starting year")); return; - } + } else if (noise) + if (rp->r_loyear < min_year_representable) + warning(_("starting year too low to be represented")); + else if (rp->r_loyear > max_year_representable) + warning(_("starting year too high to be represented")); cp = hiyearp; if ((lp = byword(cp, end_years)) != NULL) switch ((int) lp->l_value) { case YR_MINIMUM: @@ -1269,7 +1278,11 @@ const char * const timep; } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_hiyear) != 1) { error(_("invalid ending year")); return; - } + } else if (noise) + if (rp->r_loyear < min_year_representable) + warning(_("starting year too low to be represented")); + else if (rp->r_loyear > max_year_representable) + warning(_("starting year too high to be represented")); if (rp->r_loyear > rp->r_hiyear) { error(_("starting year greater than ending year")); return; diff -durpN glibc-2.0.3/version.h glibc-2.0.4/version.h --- glibc-2.0.3/version.h Sun Mar 30 10:56:07 1997 +++ glibc-2.0.4/version.h Wed May 21 17:59:12 1997 @@ -1,4 +1,4 @@ /* This file just defines the current version number of libc. */ #define RELEASE "experimental" -#define VERSION "2.0.3" +#define VERSION "2.0.4"