From df4ef2ab9c0899b2670067cd97e58f7eb2913e00 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 6 Jan 1997 22:07:28 +0000 Subject: update from main archive 960105 --- MakeTAGS | 9 +- Makefile | 9 +- catgets/gencat.c | 37 +- configure | 8 +- configure.in | 5 +- db/makedb.c | 7 +- elf/dl-deps.c | 74 +- elf/dl-error.c | 9 +- elf/dynamic-link.h | 9 +- elf/elf.h | 10 +- elf/ldd.bash.in | 6 +- elf/ldd.sh.in | 8 +- elf/link.h | 9 +- features.h | 4 +- glibcbug.in | 253 +++ inet/Makefile | 4 +- inet/netinet/ip.h | 164 ++ intl/finddomain.c | 32 +- intl/locale.alias | 9 +- io/ftw.c | 6 +- io/ftw.h | 4 +- libio/_G_config.h | 1 + libio/fcloseall.c | 6 +- libio/genops.c | 2 +- libio/stdfiles.c | 6 +- locale/programs/charmap.c | 32 +- locale/programs/ld-collate.c | 4 +- locale/programs/locale.c | 7 +- locale/programs/localedef.c | 7 +- locale/programs/simple-hash.c | 29 +- malloc/mcheck.c | 3 +- mcheck.h | 5 + md5-crypt/Makefile | 4 +- misc/Makefile | 4 +- misc/getpass.c | 31 +- misc/mntent_r.c | 31 +- misc/sys/select.h | 5 +- misc/sys/syscall.h | 1 - po/de.po | 2486 ++++++++++++++++++------ po/ko.po | 483 +++-- po/libc.pot | 416 ++-- po/sv.po | 32 +- posix/getopt.c | 45 +- posix/sys/types.h | 2 +- posix/unistd.h | 5 +- resolv/nss_dns/dns-host.c | 15 +- resolv/nss_dns/dns-network.c | 10 +- resolv/res_debug.c | 4 +- resolv/res_query.c | 3 +- set-init.c | 28 +- signal/Makefile | 4 +- signal/sigaddset.c | 26 +- signal/sigdelset.c | 26 +- signal/sigempty.c | 36 +- signal/sigfillset.c | 35 +- signal/siggetmask.c | 28 +- signal/sigismem.c | 26 +- signal/signal.h | 37 +- string/string.h | 4 +- syscall.h | 1 + sysdeps/alpha/dl-machine.h | 13 +- sysdeps/generic/abort.c | 20 +- sysdeps/generic/gnu/types.h | 19 +- sysdeps/generic/selectbits.h | 29 + sysdeps/generic/speed.c | 45 +- sysdeps/i386/selectbits.h | 57 + sysdeps/mach/sys/syscall.h | 1 + sysdeps/mach/syscall.h | 1 - sysdeps/posix/bsd_signal.c | 50 - sysdeps/posix/signal.c | 15 +- sysdeps/posix/sigpause.c | 5 +- sysdeps/posix/sysv_signal.c | 58 + sysdeps/stub/libc-lock.h | 20 +- sysdeps/stub/sigpause.c | 12 + sysdeps/stub/sys/syscall.h | 2 + sysdeps/stub/syscall.h | 2 - sysdeps/unix/Makefile | 15 +- sysdeps/unix/bsd/poll.c | 28 +- sysdeps/unix/bsd/sun/sunos4/tcsetattr.c | 29 +- sysdeps/unix/bsd/tcdrain.c | 28 +- sysdeps/unix/bsd/tcflow.c | 34 +- sysdeps/unix/bsd/tcflush.c | 28 +- sysdeps/unix/bsd/tcgetpgrp.c | 35 +- sysdeps/unix/bsd/tcsendbrk.c | 33 +- sysdeps/unix/bsd/tcsetpgrp.c | 35 +- sysdeps/unix/getdents.c | 28 +- sysdeps/unix/siglist.c | 86 +- sysdeps/unix/sysdep.h | 2 +- sysdeps/unix/sysv/getdents.c | 36 +- sysdeps/unix/sysv/i386/sigreturn.S | 28 +- sysdeps/unix/sysv/linux/Dist | 1 + sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/alpha/Dist | 2 + sysdeps/unix/sysv/linux/alpha/gnu/types.h | 89 + sysdeps/unix/sysv/linux/alpha/ioctl-types.h | 123 ++ sysdeps/unix/sysv/linux/alpha/kernel_termios.h | 18 + sysdeps/unix/sysv/linux/alpha/sys/acct.h | 66 + sysdeps/unix/sysv/linux/alpha/termbits.h | 188 ++ sysdeps/unix/sysv/linux/alpha/ustat.c | 32 + sysdeps/unix/sysv/linux/alpha/xmknod.c | 46 + sysdeps/unix/sysv/linux/direntry.h | 17 +- sysdeps/unix/sysv/linux/getdents.c | 105 + sysdeps/unix/sysv/linux/gnu/types.h | 78 +- sysdeps/unix/sysv/linux/ioctl-types.h | 49 +- sysdeps/unix/sysv/linux/kernel_termios.h | 13 + sysdeps/unix/sysv/linux/net/if.h | 147 +- sysdeps/unix/sysv/linux/netinet/in.h | 147 +- sysdeps/unix/sysv/linux/siglist.h | 84 +- sysdeps/unix/sysv/linux/sigset.h | 89 + sysdeps/unix/sysv/linux/sigsuspend.c | 10 +- sysdeps/unix/sysv/linux/socketbits.h | 138 +- sysdeps/unix/sysv/linux/statfsbuf.h | 37 +- sysdeps/unix/sysv/linux/sys/acct.h | 35 +- sysdeps/unix/sysv/linux/sys/ptrace.h | 4 +- sysdeps/unix/sysv/linux/sys/syscall.h | 35 + sysdeps/unix/sysv/linux/sys/sysmacros.h | 11 +- sysdeps/unix/sysv/linux/syscall.h | 35 - sysdeps/unix/sysv/linux/syscalls.list | 4 +- sysdeps/unix/sysv/linux/tcgetattr.c | 56 +- sysdeps/unix/sysv/linux/tcsetattr.c | 73 +- sysdeps/unix/sysv/linux/termbits.h | 161 +- sysdeps/unix/sysv/linux/ustat.c | 32 + sysdeps/unix/sysv/linux/ustatbits.h | 29 +- sysdeps/unix/sysv/linux/xmknod.c | 48 + sysdeps/unix/sysv/sco3.2.4/sys/syscall.h | 125 ++ sysdeps/unix/sysv/sco3.2.4/syscall.h | 125 -- sysdeps/unix/xmknod.c | 34 +- termios/Makefile | 8 +- termios/cfmakeraw.c | 32 +- termios/cfsetspeed.c | 28 +- time/ap.c | 16 +- time/localtime.c | 11 +- time/sys/time.h | 3 +- time/tzset.c | 18 +- version.c | 32 +- version.h | 2 +- 136 files changed, 5792 insertions(+), 2046 deletions(-) create mode 100644 glibcbug.in create mode 100644 inet/netinet/ip.h create mode 100644 mcheck.h delete mode 100644 misc/sys/syscall.h create mode 100644 syscall.h create mode 100644 sysdeps/generic/selectbits.h create mode 100644 sysdeps/i386/selectbits.h create mode 100644 sysdeps/mach/sys/syscall.h delete mode 100644 sysdeps/mach/syscall.h delete mode 100644 sysdeps/posix/bsd_signal.c create mode 100644 sysdeps/posix/sysv_signal.c create mode 100644 sysdeps/stub/sys/syscall.h delete mode 100644 sysdeps/stub/syscall.h create mode 100644 sysdeps/unix/sysv/linux/alpha/gnu/types.h create mode 100644 sysdeps/unix/sysv/linux/alpha/ioctl-types.h create mode 100644 sysdeps/unix/sysv/linux/alpha/kernel_termios.h create mode 100644 sysdeps/unix/sysv/linux/alpha/sys/acct.h create mode 100644 sysdeps/unix/sysv/linux/alpha/termbits.h create mode 100644 sysdeps/unix/sysv/linux/alpha/ustat.c create mode 100644 sysdeps/unix/sysv/linux/alpha/xmknod.c create mode 100644 sysdeps/unix/sysv/linux/getdents.c create mode 100644 sysdeps/unix/sysv/linux/kernel_termios.h create mode 100644 sysdeps/unix/sysv/linux/sigset.h create mode 100644 sysdeps/unix/sysv/linux/sys/syscall.h delete mode 100644 sysdeps/unix/sysv/linux/syscall.h create mode 100644 sysdeps/unix/sysv/linux/ustat.c create mode 100644 sysdeps/unix/sysv/linux/xmknod.c create mode 100644 sysdeps/unix/sysv/sco3.2.4/sys/syscall.h delete mode 100644 sysdeps/unix/sysv/sco3.2.4/syscall.h diff --git a/MakeTAGS b/MakeTAGS index 8401258541..c6f497ee00 100644 --- a/MakeTAGS +++ b/MakeTAGS @@ -147,14 +147,7 @@ else $(extract) endif -#$P/siglist.pot: $(common-objpfx)stdio-common/siglist.c; $(extract) -$P/siglist.pot: siglist.c; $(extract) - -# Extract all strings from this file; its strings are not marked. -# Their surroundings are also not interesting. -XGETTEXTFLAGS-siglist.pot = -a --no-location - -all-pot = $P/libc-top.pot $P/subdirs.pot $P/siglist.pot +all-pot = $P/libc-top.pot $P/subdirs.pot ifndef subdir # Collect all the subdir messages, massaging the file names in comments diff --git a/Makefile b/Makefile index 444962a005..00be7a8d89 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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 @@ -38,6 +38,7 @@ endef configure: configure.in aclocal.m4; $(autoconf-it) %/configure: %/configure.in aclocal.m4; $(autoconf-it) +config.status: configure version.h; $(SHELL) ./config.status --recheck include Makeconfig @@ -94,6 +95,7 @@ install-others = $(includedir)/gnu/stubs.h ifeq (yes,$(build-shared)) install-others += $(includedir)/gnu/lib-names.h endif +install-bin = glibcbug ifeq (yes,$(gnu-ld)) libc-init = set-init @@ -206,6 +208,11 @@ $(includedir)/gnu/lib-names.h: $(common-objpfx)soversions.mk rm -f $(objpfx)lib-names.h endif +# The `glibcbug' script contains the version number and it shall be rebuild +# whenever this changes or the `glibcbug.in' file. +glibcbug: glibcbug.in config.status + CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + # This makes the Info or DVI file of the documentation from the Texinfo source. .PHONY: info dvi info dvi: diff --git a/catgets/gencat.c b/catgets/gencat.c index 561b0e5230..1616abfa1e 100644 --- a/catgets/gencat.c +++ b/catgets/gencat.c @@ -1,21 +1,21 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, . +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is 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., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, 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. */ #ifdef HAVE_CONFIG_H # include @@ -170,7 +170,7 @@ main (int argc, char *argv[]) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "1996"); +"), "1996, 1997"); printf (_("Written by %s.\n"), "Ulrich Drepper"); exit (EXIT_SUCCESS); @@ -221,7 +221,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\ If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n\ is -, output is written to standard output.\n"), program_invocation_name, program_invocation_name); - fputs (gettext ("Report bugs to .\n"), + fputs (gettext ("\ +Report bugs using the `glibcbug' script to .\n"), stdout); } @@ -270,7 +271,7 @@ read_input_file (struct catalog *current, const char *fname) current->last_set = 0; current->current_set = find_set (current, NL_SETD); -#define obstack_chunk_alloc xmalloc +#define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (¤t->mem_pool); } diff --git a/configure b/configure index eb37101ecb..cf93d8addb 100755 --- a/configure +++ b/configure @@ -1894,6 +1894,9 @@ else config_makefile=Makefile fi +VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h` + + trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -1995,7 +1998,7 @@ done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "config.make ${config_makefile} ${config_uname} config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "config.make glibcbug ${config_makefile} ${config_uname} config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/configure.in b/configure.in index 2c11732598..4716052ba9 100644 --- a/configure.in +++ b/configure.in @@ -732,5 +732,8 @@ else config_makefile=Makefile fi -AC_OUTPUT(config.make ${config_makefile} ${config_uname}, , +VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h` +AC_SUBST(VERSION) + +AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, , [echo '$config_vars' >> config.make]) diff --git a/db/makedb.c b/db/makedb.c index 4703121dea..ebdb9014c8 100644 --- a/db/makedb.c +++ b/db/makedb.c @@ -1,5 +1,5 @@ /* makedb -- create simple DB database from textual input. - 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 Ulrich Drepper , 1996. @@ -121,7 +121,7 @@ main (argc, argv) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "1996"); +"), "1996, 1997"); printf (_("Written by %s.\n"), "Ulrich Drepper"); exit (EXIT_SUCCESS); @@ -224,7 +224,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\ If INPUT-FILE is -, input is read from standard input.\n"), program_invocation_name, program_invocation_name, program_invocation_name); - fputs (gettext ("Report bugs to .\n"), + fputs (gettext ("\ +Report bugs using the `glibcbug' script to .\n"), stdout); } diff --git a/elf/dl-deps.c b/elf/dl-deps.c index 01e4f1974e..f034196762 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -1,5 +1,5 @@ /* Load the dependencies of a mapped object. - 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 @@ -32,33 +32,65 @@ _dl_map_object_deps (struct link_map *map, struct link_map *map; struct list *next; }; - struct list head[1 + npreloads], *tailp, *scanp; + struct list head[2 + npreloads], *tailp, *scanp; struct list duphead, *duptailp; - unsigned int nlist; unsigned int nduplist; + unsigned int nlist, naux, i; + inline void preload (struct link_map *map) + { + head[nlist].next = &head[nlist + 1]; + head[nlist++].map = map; - /* Start the search list with one element: MAP itself. */ - head[0].map = map; + /* We use `l_reserved' as a mark bit to detect objects we have + already put in the search list and avoid adding duplicate + elements later in the list. */ + map->l_reserved = 1; + } - /* We use `l_reserved' as a mark bit to detect objects we have already - put in the search list and avoid adding duplicate elements later in - the list. */ - map->l_reserved = 1; + naux = nlist = 0; - /* Add the preloaded items after MAP but before any of its dependencies. */ - for (nlist = 0; nlist < npreloads; ++nlist) +#define AUXTAG (DT_NUM + DT_PROCNUM + DT_EXTRATAGIDX (DT_AUXILIARY)) + + if (map->l_info[AUXTAG]) { - head[nlist].next = &head[nlist + 1]; - head[nlist + 1].map = preloads[nlist]; - preloads[nlist]->l_reserved = 1; + /* There is an auxiliary library specified. We try to load it, + and if we can, use its symbols in preference to our own. + But if we can't load it, we just silently ignore it. + XXX support multiple DT_AUXILIARYs? + */ + struct link_map *aux; + void openaux (void) + { + const char *strtab + = ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr); + aux = _dl_map_object (map, strtab + map->l_info[AUXTAG]->d_un.d_val, + map->l_type == lt_executable ? lt_library : + map->l_type, trace_mode); + } + char *errstring; + const char *objname; + if (! _dl_catch_error (&errstring, &objname, &openaux)) + { + /* The auxiliary object is actually there. Use it + as the first search element, even before MAP itself. */ + preload (aux); + naux = 1; + } } + /* Start the search list with one element: MAP itself. */ + preload (map); + + /* Add the preloaded items after MAP but before any of its dependencies. */ + for (i = 0; i < npreloads; ++i) + preload (preloads[i]); + /* Terminate the lists. */ - head[nlist].next = NULL; + head[nlist - 1].next = NULL; duphead.next = NULL; /* Start here for adding dependencies to the list. */ - tailp = &head[nlist++]; + tailp = &head[nlist - 1]; /* Until now we have the same number of libraries in the normal and the list with duplicates. */ @@ -104,7 +136,7 @@ _dl_map_object_deps (struct link_map *map, dep->l_reserved = 1; } - /* In any case Append DEP to the duplicates search list. */ + /* In any case append DEP to the duplicates search list. */ duptailp->next = alloca (sizeof *duptailp); duptailp = duptailp->next; duptailp->map = dep; @@ -117,6 +149,9 @@ _dl_map_object_deps (struct link_map *map, /* Store the search list we built in the object. It will be used for searches in the scope of this object. */ map->l_searchlist = malloc (nlist * sizeof (struct link_map *)); + if (map->l_searchlist == NULL) + _dl_signal_error (ENOMEM, map->l_name, + "cannot allocate symbol search list"); map->l_nsearchlist = nlist; nlist = 0; @@ -130,9 +165,12 @@ _dl_map_object_deps (struct link_map *map, } map->l_dupsearchlist = malloc (nduplist * sizeof (struct link_map *)); + if (map->l_dupsearchlist == NULL) + _dl_signal_error (ENOMEM, map->l_name, + "cannot allocate symbol search list"); map->l_ndupsearchlist = nduplist; - for (nlist = 0; nlist < npreloads + 1; ++nlist) + for (nlist = 0; nlist < naux + 1 + npreloads; ++nlist) map->l_dupsearchlist[nlist] = head[nlist].map; for (scanp = duphead.next; scanp; scanp = scanp->next) map->l_dupsearchlist[nlist++] = scanp->map; diff --git a/elf/dl-error.c b/elf/dl-error.c index 55d9c2fc93..52eb577eb0 100644 --- a/elf/dl-error.c +++ b/elf/dl-error.c @@ -1,5 +1,5 @@ /* Error handling for runtime dynamic linker. - 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 @@ -76,21 +76,22 @@ _dl_catch_error (char **errstring, void (*operate) (void)) { int errcode; - struct catch c = { errstring: NULL, objname: NULL }; + struct catch *old, c = { errstring: NULL, objname: NULL }; + old = catch; errcode = setjmp (c.env); if (errcode == 0) { catch = &c; (*operate) (); - catch = NULL; + catch = old; *errstring = NULL; *objname = NULL; return 0; } /* We get here only if we longjmp'd out of OPERATE. */ - catch = NULL; + catch = old; *errstring = c.errstring; *objname = c.objname; return errcode == -1 ? 0 : errcode; diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 97eb6a58c8..c613f824d8 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -1,5 +1,5 @@ /* Inline functions for dynamic linking. - 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 @@ -25,11 +25,12 @@ /* Read the dynamic section at DYN and fill in INFO with indices DT_*. */ static inline void __attribute__ ((unused)) -elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM]) +elf_get_dynamic_info (ElfW(Dyn) *dyn, + ElfW(Dyn) *info[DT_NUM + DT_PROCNUM + DT_EXTRANUM]) { unsigned int i; - for (i = 0; i < DT_NUM + DT_PROCNUM; ++i) + for (i = 0; i < DT_NUM + DT_PROCNUM + DT_EXTRANUM; ++i) info[i] = NULL; if (! dyn) @@ -42,6 +43,8 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM]) else if (dyn->d_tag >= DT_LOPROC && dyn->d_tag < DT_LOPROC + DT_PROCNUM) info[dyn->d_tag - DT_LOPROC + DT_NUM] = dyn; + else if ((Elf32_Word) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM) + info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM] = dyn; else assert (! "bad dynamic tag"); dyn++; diff --git a/elf/elf.h b/elf/elf.h index f111508889..d25934b411 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - 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 Ian Lance Taylor . @@ -464,6 +464,14 @@ typedef struct #define DT_HIPROC 0x7fffffff /* End of processor-specific */ #define DT_PROCNUM DT_MIPS_NUM /* Most used by any processor */ +/* Sun added these machine-independent extensions in the "processor-specific" + range. Be compatible. */ +#define DT_AUXILIARY 0x7ffffffd /* Shared object to load before self */ +#define DT_FILTER 0x7fffffff /* Shared object to get values from */ +#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1) +#define DT_EXTRANUM 3 + + /* Auxiliary vector. */ /* This vector is normally only used by the program interpreter. The diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in index 311ef82550..6e2b51591a 100644 --- a/elf/ldd.bash.in +++ b/elf/ldd.bash.in @@ -1,6 +1,6 @@ #! @BASH@ -# 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 @@ -34,7 +34,7 @@ while test $# -gt 0; do case "$1" in --v*) echo $"ldd (GNU libc) @VERSION@ -Copyright (C) 1996 Free Software Foundation, Inc. +Copyright (C) 1996, 1997 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit 0 ;; @@ -42,7 +42,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." echo $"ldd [OPTION]... FILE... --help print this help and exit --version print version information and exit -Report bugs to ." +Report bugs using the \`glibcbug' script to ." exit 0 ;; --) # Stop option processing. shift; break ;; diff --git a/elf/ldd.sh.in b/elf/ldd.sh.in index 7b7276f544..5b6cc3a75d 100644 --- a/elf/ldd.sh.in +++ b/elf/ldd.sh.in @@ -1,6 +1,6 @@ #! /bin/sh -# 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 @@ -30,15 +30,15 @@ while test $# -gt 0; do case "$1" in --v*) echo 'ldd (GNU libc) @VERSION@ -Copyright (C) 1996 Free Software Foundation, Inc. +Copyright (C) 1996, 1997 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.' exit 0 ;; --h*) - echo 'ldd [OPTION]... FILE... + echo "ldd [OPTION]... FILE... --help print this help and exit --version print version information and exit -Report bugs to .' +Report bugs using the \`glibcbug' script to ." exit 0 ;; --) # Stop option processing. shift; break ;; diff --git a/elf/link.h b/elf/link.h index b277bf75c1..7e0b60793f 100644 --- a/elf/link.h +++ b/elf/link.h @@ -1,5 +1,5 @@ /* Run-time dynamic linker data structures for loaded ELF shared 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 @@ -97,8 +97,11 @@ struct link_map const char *l_libname; /* Name requested (before search). */ /* Indexed pointers to dynamic section. [0,DT_NUM) are indexed by the processor-independent tags. - [DT_NUM,DT_NUM+DT_PROCNUM] are indexed by the tag minus DT_LOPROC. */ - ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM]; + [DT_NUM,DT_NUM+DT_PROCNUM) are indexed by the tag minus DT_LOPROC. + [DT_NUM+DT_PROCNUM,DT_NUM+DT_PROCNUM+DT_EXTRANUM) are indexed + by DT_EXTRATAGIDX(tagvalue) (see ). */ + + ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM + DT_EXTRANUM]; const ElfW(Phdr) *l_phdr; /* Pointer to program header table in core. */ ElfW(Addr) l_entry; /* Entry point location. */ ElfW(Half) l_phnum; /* Number of program header entries. */ diff --git a/features.h b/features.h index 00cccc33de..988c7960e7 100644 --- a/features.h +++ b/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 95, 96, 97 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 @@ -95,7 +95,7 @@ /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */ #if defined _BSD_SOURCE && \ !(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \ - defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_DEFINED || \ + defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED || \ defined _GNU_SOURCE || defined _SVID_SOURCE) # define __FAVOR_BSD 1 #endif diff --git a/glibcbug.in b/glibcbug.in new file mode 100644 index 0000000000..c23f32a9ea --- /dev/null +++ b/glibcbug.in @@ -0,0 +1,253 @@ +#! /bin/sh +# +# glibcbug - create a bug report and mail it to the bug address. +# +# configuration section: +# these variables are filled in by configure +# +VERSION="@VERSION@" +BUGGLIBC="bugs@gnu.ai.mit.edu" +ADDONS="@subdirs@" + +PATH=/bin:/usr/bin:/usr/local/bin:$PATH +export PATH + +TEMP=/tmp/glibcbug.$$ + +BUGADDR=${1-$BUGGLIBC} +ENVIRONMENT=`uname -a` + +: ${EDITOR=emacs} + +: ${USER=${LOGNAME-`whoami`}} + +trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15 +trap 'rm -f $TEMP $TEMP.x' 0 + + +# How to read the passwd database. +PASSWD="cat /etc/passwd" + +if [ -f /usr/lib/sendmail ] ; then + RMAIL="/usr/lib/sendmail -oi -t" +elif [ -f /usr/sbin/sendmail ] ; then + RMAIL="/usr/sbin/sendmail -oi -t" +else + RMAIL=rmail +fi + +# Figure out how to echo a string without a trailing newline +N=`echo 'hi there\c'` +case "$N" in +*c) ECHON1='echo -n' ECHON2= ;; +*) ECHON1=echo ECHON2='\c' ;; +esac + +# Find out the name of the originator of this PR. +if [ -n "$NAME" ]; then + ORIGINATOR="$NAME" +elif [ -f $HOME/.fullname ]; then + ORIGINATOR="`sed -e '1q' $HOME/.fullname`" +else + # Must use temp file due to incompatibilities in quoting behavior + # and to protect shell metacharacters in the expansion of $LOGNAME + $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP + ORIGINATOR="`cat $TEMP`" + rm -f $TEMP +fi + +if [ -n "$ORGANIZATION" ]; then + if [ -f "$ORGANIZATION" ]; then + ORGANIZATION="`cat $ORGANIZATION`" + fi +else + if [ -f $HOME/.organization ]; then + ORGANIZATION="`cat $HOME/.organization`" + elif [ -f $HOME/.signature ]; then + ORGANIZATION=`sed -e "s/^/ /" $HOME/.signature; echo ">"` + fi +fi + +# If they don't have a preferred editor set, then use +if [ -z "$VISUAL" ]; then + if [ -z "$EDITOR" ]; then + EDIT=vi + else + EDIT="$EDITOR" + fi +else + EDIT="$VISUAL" +fi + +# Find out some information. +SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \ + ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""` +ARCH=`[ -f /bin/arch ] && /bin/arch` +MACHINE=`[ -f /bin/machine ] && /bin/machine` + +ORGANIZATION_C='' +CONFIDENTIAL_C='<[ yes | no ] (one line)>' +SYNOPSIS_C='' +SEVERITY_C='<[ non-critical | serious | critical ] (one line)>' +PRIORITY_C='<[ low | medium | high ] (one line)>' +CLASS_C='<[ sw-bug | doc-bug | change-request | support ] (one line)>' +RELEASE_C='' +ENVIRONMENT_C='' +DESCRIPTION_C='' +HOW_TO_REPEAT_C='' +FIX_C='' + + +cat > $TEMP <'). +SEND-PR: +From: ${USER} +To: ${BUGADDR} +Subject: [50 character or so descriptive subject here (for reference)] + +>Submitter-Id: +>Originator: ${ORIGINATOR} +>Organization: +${ORGANIZATION- $ORGANIZATION_C} +>Confidential: $CONFIDENTIAL_C +>Synopsis: $SYNOPSIS_C +>Severity: $SEVERITY_C +>Priority: $PRIORITY_C +>Category: libc +>Class: $CLASS_C +>Release: libc-${VERSION} +>Environment: + +`[ -n "$SYSTEM" ] && echo System: $SYSTEM` +`[ -n "$ARCH" ] && echo Architecture: $ARCH` +`[ -n "$MACHINE" ] && echo Machine: $MACHINE` +`[ -n "$ADDONS" ] && echo Addons: $ADDONS` + +>Description: + $DESCRIPTION_C +>How-To-Repeat: + $HOW_TO_REPEAT_C +>Fix: + $FIX_C +EOF + +chmod u+w $TEMP +cp $TEMP $TEMP.x + +eval $EDIT $TEMP + +if cmp -s $TEMP $TEMP.x; then + echo "File not changed, no bug report submitted." + exit 1 +fi + +# +# Check the enumeration fields + +# This is a "sed-subroutine" with one keyword parameter +# (with workaround for Sun sed bug) +# +SED_CMD=' +/$PATTERN/{ +s||| +s|<.*>|| +s|^[ ]*|| +s|[ ]*$|| +p +q +}' + + +while :; do + CNT=0 + + # 1) Confidential + # + PATTERN=">Confidential:" + CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP` + case "$CONFIDENTIAL" in + ""|yes|no) CNT=`expr $CNT + 1` ;; + *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;; + esac + # + # 2) Severity + # + PATTERN=">Severity:" + SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` + case "$SEVERITY" in + ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;; + *) echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'." + esac + # + # 3) Priority + # + PATTERN=">Priority:" + PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` + case "$PRIORITY" in + ""|low|medium|high) CNT=`expr $CNT + 1` ;; + *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'." + esac + # + # 4) Class + # + PATTERN=">Class:" + CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP` + case "$CLASS" in + ""|sw-bug|doc-bug|change-request|support) CNT=`expr $CNT + 1` ;; + *) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'." + esac + + [ $CNT -lt 5 ] && + echo "Errors were found with the problem report." + + while :; do + $ECHON1 "a)bort, e)dit or s)end? $ECHON2" + read input + case "$input" in + a*) + echo "$COMMAND: problem report saved in $HOME/dead.glibcbug." + cat $TEMP >> $HOME/dead.glibcbug + xs=1; exit + ;; + e*) + eval $EDIT $TEMP + continue 2 + ;; + s*) + break 2 + ;; + esac + done +done +# +# Remove comments and send the problem report +# (we have to use patterns, where the comment contains regex chars) +# +# /^>Originator:/s;$ORIGINATOR;; +sed -e " +/^SEND-PR:/d +/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;; +/^>Confidential:/s;<.*>;; +/^>Synopsis:/s;$SYNOPSIS_C;; +/^>Severity:/s;<.*>;; +/^>Priority:/s;<.*>;; +/^>Class:/s;<.*>;; +/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;; +/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;; +/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;; +/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;; +/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;; +" $TEMP > $REF + +if $MAIL_AGENT < $REF; then + echo "$COMMAND: problem report sent" + xs=0; exit +else + echo "$COMMAND: mysterious mail failure, report not sent." + echo "$COMMAND: problem report saved in $HOME/dead.glibcbug." + cat $TEMP >> $HOME/dead.glibcbug +fi + +exit 0 diff --git a/inet/Makefile b/inet/Makefile index 96f19923da..e965390a63 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ subdir := inet headers := netinet/ether.h netinet/in.h netinet/if_ether.h \ - netinet/tcp.h $(wildcard arpa/*.h protocols/*.h) \ + netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \ aliases.h distribute := netgroup.h diff --git a/inet/netinet/ip.h b/inet/netinet/ip.h new file mode 100644 index 0000000000..6624ac458e --- /dev/null +++ b/inet/netinet/ip.h @@ -0,0 +1,164 @@ +/* + * 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. + * + * @(#)ip.h 8.1 (Berkeley) 6/10/93 + */ + +#include +#include +#include + +/* + * Definitions for internet protocol version 4. + * Per RFC 791, September 1981. + */ +#define IPVERSION 4 + +/* + * Structure of an internet header, naked of options. + */ +struct ip { +#if __BYTE_ORDER == __LITTLE_ENDIAN + __u_char ip_hl:4, /* header length */ + ip_v:4; /* version */ +#endif +#if __BYTE_ORDER == __BIG_ENDIAN + __u_char ip_v:4, /* version */ + ip_hl:4; /* header length */ +#endif + __u_char ip_tos; /* type of service */ + __u_short ip_len; /* total length */ + __u_short ip_id; /* identification */ + __u_short ip_off; /* fragment offset field */ +#define IP_RF 0x8000 /* reserved fragment flag */ +#define IP_DF 0x4000 /* dont fragment flag */ +#define IP_MF 0x2000 /* more fragments flag */ +#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ + __u_char ip_ttl; /* time to live */ + __u_char ip_p; /* protocol */ + __u_short ip_sum; /* checksum */ + struct in_addr ip_src, ip_dst; /* source and dest address */ +}; + +#define IP_MAXPACKET 65535 /* maximum packet size */ + +/* + * Definitions for IP type of service (ip_tos) + */ +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +/* IPTOS_LOWCOST 0x02 XXX */ + +/* + * Definitions for IP precedence (also in ip_tos) (hopefully unused) + */ +#define IPTOS_PREC_NETCONTROL 0xe0 +#define IPTOS_PREC_INTERNETCONTROL 0xc0 +#define IPTOS_PREC_CRITIC_ECP 0xa0 +#define IPTOS_PREC_FLASHOVERRIDE 0x80 +#define IPTOS_PREC_FLASH 0x60 +#define IPTOS_PREC_IMMEDIATE 0x40 +#define IPTOS_PREC_PRIORITY 0x20 +#define IPTOS_PREC_ROUTINE 0x00 + +/* + * Definitions for options. + */ +#define IPOPT_COPIED(o) ((o)&0x80) +#define IPOPT_CLASS(o) ((o)&0x60) +#define IPOPT_NUMBER(o) ((o)&0x1f) + +#define IPOPT_CONTROL 0x00 +#define IPOPT_RESERVED1 0x20 +#define IPOPT_DEBMEAS 0x40 +#define IPOPT_RESERVED2 0x60 + +#define IPOPT_EOL 0 /* end of option list */ +#define IPOPT_NOP 1 /* no operation */ + +#define IPOPT_RR 7 /* record packet route */ +#define IPOPT_TS 68 /* timestamp */ +#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */ +#define IPOPT_LSRR 131 /* loose source route */ +#define IPOPT_SATID 136 /* satnet id */ +#define IPOPT_SSRR 137 /* strict source route */ + +/* + * Offsets to fields in options other than EOL and NOP. + */ +#define IPOPT_OPTVAL 0 /* option ID */ +#define IPOPT_OLEN 1 /* option length */ +#define IPOPT_OFFSET 2 /* offset within option */ +#define IPOPT_MINOFF 4 /* min value of above */ + +/* + * Time stamp option structure. + */ +struct ip_timestamp { + __u_char ipt_code; /* IPOPT_TS */ + __u_char ipt_len; /* size of structure (variable) */ + __u_char ipt_ptr; /* index of current entry */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + __u_char ipt_flg:4, /* flags, see below */ + ipt_oflw:4; /* overflow counter */ +#endif +#if __BYTE_ORDER == __BIG_ENDIAN + __u_char ipt_oflw:4, /* overflow counter */ + ipt_flg:4; /* flags, see below */ +#endif + __u_long data[9]; +}; + +/* flag bits for ipt_flg */ +#define IPOPT_TS_TSONLY 0 /* timestamps only */ +#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */ +#define IPOPT_TS_PRESPEC 3 /* specified modules only */ + +/* bits for security (not byte swapped) */ +#define IPOPT_SECUR_UNCLASS 0x0000 +#define IPOPT_SECUR_CONFID 0xf135 +#define IPOPT_SECUR_EFTO 0x789a +#define IPOPT_SECUR_MMMM 0xbc4d +#define IPOPT_SECUR_RESTR 0xaf13 +#define IPOPT_SECUR_SECRET 0xd788 +#define IPOPT_SECUR_TOPSECRET 0x6bc5 + +/* + * Internet implementation parameters. + */ +#define MAXTTL 255 /* maximum time to live (seconds) */ +#define IPDEFTTL 64 /* default ttl, from RFC 1340 */ +#define IPFRAGTTL 60 /* time to live for frags, slowhz */ +#define IPTTLDEC 1 /* subtracted when forwarding */ + +#define IP_MSS 576 /* default maximum segment size */ diff --git a/intl/finddomain.c b/intl/finddomain.c index ad03a45923..9b531c4f66 100644 --- a/intl/finddomain.c +++ b/intl/finddomain.c @@ -1,5 +1,5 @@ /* finddomain.c -- handle list of needed message catalogs - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This file is part of the GNU C Library. Its master source is NOT part of @@ -63,18 +63,6 @@ void free (); #endif /* @@ end of prolog @@ */ - -#ifdef _LIBC -/* Rename the non ANSI C functions. This is required by the standard - because some ANSI C functions will require linking with this object - file and the name space must not be polluted. */ -# define stpcpy(dest, src) __stpcpy(dest, src) -#else -# ifndef HAVE_STPCPY -static char *stpcpy PARAMS ((char *dest, const char *src)); -# endif -#endif - /* List of already loaded domains. */ static struct loaded_l10nfile *_nl_loaded_domains; @@ -200,21 +188,3 @@ _nl_find_domain (dirname, locale, domainname) return retval; } - -/* @@ begin of epilog @@ */ - -/* We don't want libintl.a to depend on any other library. So we - avoid the non-standard function stpcpy. In GNU C Library this - function is available, though. Also allow the symbol HAVE_STPCPY - to be defined. */ -#if !_LIBC && !HAVE_STPCPY -static char * -stpcpy (dest, src) - char *dest; - const char *src; -{ - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; -} -#endif diff --git a/intl/locale.alias b/intl/locale.alias index 99ce5d1f46..e685298ee6 100644 --- a/intl/locale.alias +++ b/intl/locale.alias @@ -1,5 +1,5 @@ -# Locale name alias data base -# Copyright (C) 1996 Free Software Foundation, Inc. +# Locale name alias data base. +# Copyright (C) 1996, 1997 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,8 +22,9 @@ # All entries are case independent. # Note: This file is far from being complete. If you have a value for -# your own site which you think might be useful for others too, share it -# with the rest of us. Send it to bug-gnu-utils@prep.ai.mit.edu. +# your own site which you think might be useful for others too, share +# it with the rest of us. Send it using the `glibcbug' script to +# bugs@gnu.ai.mit.edu. czech cs_CZ.ISO-8859-2 danish da_DK.ISO-8859-1 diff --git a/io/ftw.c b/io/ftw.c index 6bd97e6999..d7ec716936 100644 --- a/io/ftw.c +++ b/io/ftw.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ian Lance Taylor (ian@airs.com). @@ -36,7 +36,7 @@ static int ftw_dir (DIR **dirs, int level, int descriptors, char *dir, size_t len, - int (*func) (const char *file, struct stat *status, int flag)) + int (*func) (const char *file, const struct stat *status, int flag)) { int got; struct dirent *entry; @@ -151,7 +151,7 @@ ftw_dir (DIR **dirs, int level, int descriptors, char *dir, size_t len, int ftw (const char *dir, - int (*func) (const char *file, struct stat *status, int flag), + int (*func) (const char *file, const struct stat *status, int flag), int descriptors) { DIR **dirs; diff --git a/io/ftw.h b/io/ftw.h index 9cc9b4fd18..0bfdf37431 100644 --- a/io/ftw.h +++ b/io/ftw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ian Lance Taylor (ian@airs.com). @@ -37,7 +37,7 @@ /* Call a function on every element in a directory tree. */ extern int ftw __P ((__const char *__dir, int (*__func) (__const char *__file, - struct stat *__status, + __const struct stat *__status, int __flag), int __descriptors)); diff --git a/libio/_G_config.h b/libio/_G_config.h index 5fa7300bf7..4b47e886a5 100644 --- a/libio/_G_config.h +++ b/libio/_G_config.h @@ -33,6 +33,7 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); #define _G_HAVE_PRINTF_FP 1 #define _G_HAVE_MMAP 1 +#define _G_HAVE_LONG_DOUBLE_IO 1 /* This is defined by if `st_blksize' exists. */ #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE) diff --git a/libio/fcloseall.c b/libio/fcloseall.c index 56233b0a5c..05693f3b61 100644 --- a/libio/fcloseall.c +++ b/libio/fcloseall.c @@ -1,5 +1,5 @@ /* -Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. +Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the @@ -23,9 +23,7 @@ This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ #include "libioP.h" -#ifdef __STDC__ -#include -#endif +#include int __fcloseall () diff --git a/libio/genops.c b/libio/genops.c index 3267aa32c9..e57328d529 100644 --- a/libio/genops.c +++ b/libio/genops.c @@ -466,7 +466,7 @@ DEFUN(_IO_init, (fp, flags), fp->_markers = NULL; fp->_cur_column = 0; #ifdef _IO_MTSAFE_IO - _IO_lock_init_recursive (*fp->_lock); + _IO_lock_init (*fp->_lock); #endif } diff --git a/libio/stdfiles.c b/libio/stdfiles.c index c50d5f1d8b..7c6f789912 100644 --- a/libio/stdfiles.c +++ b/libio/stdfiles.c @@ -1,5 +1,5 @@ -/* -Copyright (C) 1993, 1994 Free Software Foundation +/* +Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the @@ -33,7 +33,7 @@ the executable file might be covered by the GNU General Public License. */ #ifdef _IO_MTSAFE_IO #define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ - static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_init; \ + static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \ struct _IO_FILE_plus NAME \ = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), &_IO_file_jumps} #else diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 8d7b4cf391..6b4ebb4a60 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -1,21 +1,21 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, . +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1996. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is 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., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, 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. */ #ifdef HAVE_CONFIG_H # include @@ -128,7 +128,7 @@ parse_charmap (const char *filename) /* The default DEFAULT_WIDTH is 1. */ result->width_default = 1; -#define obstack_chunk_alloc xmalloc +#define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (&result->mem_pool); diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 19f26c8688..d4b0f2b903 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -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 , 1995. @@ -145,7 +145,7 @@ void *xmalloc (size_t __n); void *xrealloc (void *__p, size_t __n); -#define obstack_chunk_alloc xmalloc +#define obstack_chunk_alloc malloc #define obstack_chunk_free free diff --git a/locale/programs/locale.c b/locale/programs/locale.c index 9a2c6c4aa1..d42081bb53 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -1,5 +1,5 @@ /* locale - Implementation of the locale program according to POSIX 1003.2 - 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 , 1995. @@ -188,7 +188,7 @@ main (int argc, char *argv[]) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "1995, 1996"); +"), "1995, 1996, 1997"); printf (_("Written by %s.\n"), "Ulrich Drepper"); exit (EXIT_SUCCESS); @@ -254,7 +254,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\ -c, --category-name write names of selected categories\n\ -k, --keyword-name write names of selected keywords\n"), __progname); - fputs (gettext ("Report bugs to .\n"), + fputs (gettext ("\ +Report bugs using the `glibcbug' script to .\n"), stdout); } diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c index e9b934c533..950f0d0e31 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c @@ -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 , 1995. @@ -178,7 +178,7 @@ main (int argc, char *argv[]) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "1995, 1996"); +"), "1995, 1996, 1997"); printf (_("Written by %s.\n"), "Ulrich Drepper"); exit (0); @@ -405,7 +405,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\ System's directory for character maps: %s\n\ locale files : %s\n"), program_invocation_name, CHARMAP_PATH, LOCALE_PATH); - fputs (gettext ("Report bugs to .\n"), + fputs (gettext ("\ +Report bugs using the `glibcbug' script to .\n"), stdout); } diff --git a/locale/programs/simple-hash.c b/locale/programs/simple-hash.c index 234ba0c49e..5d8a93cda9 100644 --- a/locale/programs/simple-hash.c +++ b/locale/programs/simple-hash.c @@ -1,20 +1,21 @@ -/* hash - implement simple hashing table with string based keys. - Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. +/* Implement simple hashing table with string based keys. + Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. Written by Ulrich Drepper , October 1994. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, 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. -This program 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 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 General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. */ #ifdef HAVE_CONFIG_H # include @@ -37,7 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "simple-hash.h" -#define obstack_chunk_alloc xmalloc +#define obstack_chunk_alloc malloc #define obstack_chunk_free free #ifndef BITSPERBYTE diff --git a/malloc/mcheck.c b/malloc/mcheck.c index 7f1112ea8b..1a80a56570 100644 --- a/malloc/mcheck.c +++ b/malloc/mcheck.c @@ -1,5 +1,5 @@ /* Standard debugging hooks for `malloc'. - Copyright (C) 1990,91,92,93,94,95,96 Free Software Foundation, Inc. + Copyright (C) 1990,91,92,93,94,95,96,97 Free Software Foundation, Inc. Written May 1989 by Mike Haertel. This library is free software; you can redistribute it and/or @@ -49,6 +49,7 @@ struct hdr }; #if defined(_LIBC) || defined(STDC_HEADERS) || defined(USG) +#include #define flood memset #else static void flood __P ((__ptr_t, int, __malloc_size_t)); diff --git a/mcheck.h b/mcheck.h new file mode 100644 index 0000000000..2fbaebc9d3 --- /dev/null +++ b/mcheck.h @@ -0,0 +1,5 @@ +#ifdef USE_NEW_MALLOC +# include +#else +# include +#endif diff --git a/md5-crypt/Makefile b/md5-crypt/Makefile index 4c461b0c68..cc28db8797 100644 --- a/md5-crypt/Makefile +++ b/md5-crypt/Makefile @@ -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 @@ -34,7 +34,7 @@ libcrypt-routines := crypt-entry md5-crypt md5 include ../Makeconfig -rpath-link := $(common-objpfx)crypt:$(rpath-link) +rpath-link := $(common-objpfx)md5-crypt:$(rpath-link) ifeq ($(crypt-in-libc),yes) routines += $(libcrypt-routines) diff --git a/misc/Makefile b/misc/Makefile index 74e0a736e7..b789659eaa 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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 @@ -29,7 +29,7 @@ headers := sys/uio.h iovec.h sys/ioctl.h ioctls.h ioctl-types.h \ sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h\ sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \ sys/select.h ustat.h sys/ustat.h ustatbits.h sys/sysinfo.h \ - regexp.h + regexp.h selectbits.h routines := brk sbrk sstk ioctl \ readv writev \ diff --git a/misc/getpass.c b/misc/getpass.c index 81c0f689de..74af9b5dc7 100644 --- a/misc/getpass.c +++ b/misc/getpass.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 94, 95, 96, 97 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,8 +34,8 @@ getpass (prompt) const char *prompt; { FILE *in, *out; - struct termios t; - int echo_off; + struct termios s, t; + int tty_changed; static char *buf = NULL; static size_t bufsize = 0; ssize_t nread; @@ -56,17 +56,16 @@ getpass (prompt) if (tcgetattr (fileno (in), &t) == 0) { - if (t.c_lflag & ECHO) - { - t.c_lflag &= ~ECHO; - echo_off = tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0; - t.c_lflag |= ECHO; - } - else - echo_off = 0; + /* Save the old one. */ + s = t; + /* Tricky, tricky. */ + t.c_lflag &= ~(ECHO|ISIG|ICANON); + t.c_cc[VTIME] = 0; + t.c_cc[VMIN] = 1; + tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0); } else - echo_off = 0; + tty_changed = 0; /* Write the prompt. */ fputs (prompt, out); @@ -81,14 +80,14 @@ getpass (prompt) { /* Remove the newline. */ buf[nread - 1] = '\0'; - if (echo_off) + if (tty_changed) /* Write the newline that was not echoed. */ putc ('\n', out); } - /* Restore echoing. */ - if (echo_off) - (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t); + /* Restore the original setting. */ + if (tty_changed) + (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s); if (in != stdin) /* We opened the terminal; now close it. */ diff --git a/misc/mntent_r.c b/misc/mntent_r.c index 70da258de6..4dc0358f03 100644 --- a/misc/mntent_r.c +++ b/misc/mntent_r.c @@ -1,21 +1,21 @@ /* Utilities for reading/writing fstab, mtab, etc. -Copyright (C) 1995, 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + 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 -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 @@ -134,6 +134,9 @@ __hasmntopt (const struct mntent *mnt, const char *opt) return p; rest = strchr (rest, ','); + if (rest == NULL) + break; + ++rest; } return NULL; diff --git a/misc/sys/select.h b/misc/sys/select.h index 6a7e0213fb..2e102dd9fe 100644 --- a/misc/sys/select.h +++ b/misc/sys/select.h @@ -1,5 +1,5 @@ /* `fd_set' type and related macros, and `select'/`pselect' declarations. - 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 @@ -27,6 +27,9 @@ /* Get definition of needed basic types. */ #include +/* Get __FD_* definitions. */ +#include + /* Get definition of timer specification structures. */ #define __need_timespec #include diff --git a/misc/sys/syscall.h b/misc/sys/syscall.h deleted file mode 100644 index 27ba3782e3..0000000000 --- a/misc/sys/syscall.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/po/de.po b/po/de.po index 62d3774a88..8df1fa9ed3 100644 --- a/po/de.po +++ b/po/de.po @@ -1,263 +1,255 @@ -# GNU glibc. +# German translation of the GNU-libc-messages. # Copyright (C) 1996 Free Software Foundation, Inc. -# Jochen Hein , 1996. +# Jochen Hein , 1996. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU glibc 1.10\n" -"PO-Revision-Date: 1996-04-20 12:20 MET\n" -"POT-Creation-Date: 1996-05-29 14:03\n" -"Last-Translator: