From afa0569f3ba820fe6baf60e72d8c1d6e923e4e98 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 14 Jun 2000 00:55:24 +0000 Subject: Update. * crypt/Makefile (distribute): Add ufc-crypt.h, crypt-private.h, ufc.c, speeds.c, README.ufc-crypt, and Banner. * sysdeps/sparc/Subdirs: New file. * locale/Makefile (distribute): Add weightwc.h and programs/localedef.h. * time/Makefile (distribute): Add datemsk. * sysdeps/ia64/Dist: Add softpipe.h. * sysdeps/unix/sysv/aix/Dist: New file. * posix/setpgrp.c: Moved to... * sysdeps/generic/setpgrp.c: ...here. New file. * io/mknod.c: Moved to... * sysdeps/generic/mknod.c: ...here. New file. * sysdeps/unix/sysv/linux/ia64/Dist: New file. * sysdeps/unix/sysv/linux/sparc/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/arm/Dist: Add oldgetrlimit64.c. * sysdeps/powerpc/Dist: Add fprrest.S, fprsave.S, gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S. * sysdeps/generic/Dist: Add bp-thunks.h, bp-sym.h, and bp-start.h. * posix/Makefile (routines): Add spawnattr_getsigmask, spawnattr_getschedpolicy, spawnattr_getschedparam, spawnattr_setsigmask, spawnattr_setschedpolicy, and spawnattr_setschedparam. * posix/Versions: Add posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, and posix_spawnattr_setschedparam. * posix/spawnattr_setschedparam.c: Fix typo. * posix/spawnattr_setsigmask.c (posix_spawnattr_setsigmask): Correct typo. * login/programs/utmpd.c: Removed. * login/programs/utmpd.h: Removed. * login/programs/utmpd-private.h: Removed. * Makefile (distribute): Add include/db_185.h and include/db.h. * iconvdata/Makefile (distribute): Add iso-ir-165.c and iso-ir-165.h. * elf/Makefile (distribute): Add missing files. * dlfcn/Makefile: Add back rules to include eval in libdl.so. * elf/eval.c: Moved to... * dlfcn/eval.c: ...here. New file. * Makefile (distribute): Also distribute ChangeLog.1?. --- ChangeLog | 60 ++++++ Makefile | 15 +- crypt/Makefile | 3 + dlfcn/Makefile | 9 +- dlfcn/eval.c | 138 ++++++++++++ elf/Makefile | 4 +- elf/eval.c | 138 ------------ iconvdata/Makefile | 2 +- io/mknod.c | 47 ----- locale/Makefile | 4 +- localedata/Makefile | 7 +- localedata/tests/test6.ds | 113 ++++++++++ localedata/tests/test6.mne | 113 ---------- login/programs/utmpd-private.h | 110 ---------- login/programs/utmpd.c | 419 ------------------------------------- login/programs/utmpd.h | 140 ------------- posix/Makefile | 4 +- posix/Versions | 4 +- posix/setpgrp.c | 25 --- posix/spawnattr_setschedparam.c | 6 +- posix/spawnattr_setsigmask.c | 2 +- sysdeps/generic/Dist | 3 + sysdeps/generic/mknod.c | 47 +++++ sysdeps/generic/setpgrp.c | 25 +++ sysdeps/i386/fpu/Version | 6 - sysdeps/i386/fpu/Versions | 6 + sysdeps/ia64/Dist | 1 + sysdeps/powerpc/Dist | 6 + sysdeps/sparc/Subdirs | 1 + sysdeps/unix/sysv/aix/Dist | 6 + sysdeps/unix/sysv/linux/arm/Dist | 1 + sysdeps/unix/sysv/linux/ia64/Dist | 2 + sysdeps/unix/sysv/linux/sparc/Dist | 1 + time/Makefile | 2 + 34 files changed, 449 insertions(+), 1021 deletions(-) create mode 100644 dlfcn/eval.c delete mode 100644 elf/eval.c delete mode 100644 io/mknod.c create mode 100644 localedata/tests/test6.ds delete mode 100644 localedata/tests/test6.mne delete mode 100644 login/programs/utmpd-private.h delete mode 100644 login/programs/utmpd.c delete mode 100644 login/programs/utmpd.h delete mode 100644 posix/setpgrp.c create mode 100644 sysdeps/generic/mknod.c create mode 100644 sysdeps/generic/setpgrp.c delete mode 100644 sysdeps/i386/fpu/Version create mode 100644 sysdeps/i386/fpu/Versions create mode 100644 sysdeps/sparc/Subdirs create mode 100644 sysdeps/unix/sysv/aix/Dist create mode 100644 sysdeps/unix/sysv/linux/ia64/Dist diff --git a/ChangeLog b/ChangeLog index c4323e3..dac25c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,65 @@ 2000-06-13 Ulrich Drepper + * crypt/Makefile (distribute): Add ufc-crypt.h, crypt-private.h, + ufc.c, speeds.c, README.ufc-crypt, and Banner. + + * sysdeps/sparc/Subdirs: New file. + + * locale/Makefile (distribute): Add weightwc.h and + programs/localedef.h. + + * time/Makefile (distribute): Add datemsk. + + * sysdeps/ia64/Dist: Add softpipe.h. + + * sysdeps/unix/sysv/aix/Dist: New file. + + * posix/setpgrp.c: Moved to... + * sysdeps/generic/setpgrp.c: ...here. New file. + * io/mknod.c: Moved to... + * sysdeps/generic/mknod.c: ...here. New file. + + * sysdeps/unix/sysv/linux/ia64/Dist: New file. + + * sysdeps/unix/sysv/linux/sparc/Dist: Add sys/procfs.h. + + * sysdeps/unix/sysv/linux/arm/Dist: Add oldgetrlimit64.c. + + * sysdeps/powerpc/Dist: Add fprrest.S, fprsave.S, gprsave1.S, + gprsave0.S, gprrest1.S, and gprrest0.S. + + * sysdeps/generic/Dist: Add bp-thunks.h, bp-sym.h, and bp-start.h. + + * posix/Makefile (routines): Add spawnattr_getsigmask, + spawnattr_getschedpolicy, spawnattr_getschedparam, + spawnattr_setsigmask, spawnattr_setschedpolicy, and + spawnattr_setschedparam. + * posix/Versions: Add posix_spawnattr_getschedpolicy, + posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, and + posix_spawnattr_setschedparam. + + * posix/spawnattr_setschedparam.c: Fix typo. + + * posix/spawnattr_setsigmask.c (posix_spawnattr_setsigmask): + Correct typo. + + * login/programs/utmpd.c: Removed. + * login/programs/utmpd.h: Removed. + * login/programs/utmpd-private.h: Removed. + + * Makefile (distribute): Add include/db_185.h and include/db.h. + + * iconvdata/Makefile (distribute): Add iso-ir-165.c and + iso-ir-165.h. + + * elf/Makefile (distribute): Add missing files. + + * dlfcn/Makefile: Add back rules to include eval in libdl.so. + * elf/eval.c: Moved to... + * dlfcn/eval.c: ...here. New file. + + * Makefile (distribute): Also distribute ChangeLog.1?. + * Make-dist (+tsrcs): Remove .args handling here as well. * rt/Makefile (tests): Add tst-timer. diff --git a/Makefile b/Makefile index 5cf82eb..c7ef4b6 100644 --- a/Makefile +++ b/Makefile @@ -253,13 +253,14 @@ parent_echo-distinfo: distribute := README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS \ PROJECTS COPYING.LIB COPYING ChangeLog ChangeLog.[0-9] \ - Makefile Makeconfig Makerules Rules Make-dist MakeTAGS \ - extra-lib.mk o-iterator.mk configure configure.in \ - aclocal.m4 config.h.in config.make.in config-name.in \ - Makefile.in sysdep.h set-hooks.h libc-symbols.h \ - version.h shlib-versions rpm/Makefile rpm/template \ - rpm/rpmrc glibcbug.in abi-tags stub-tag.h \ - test-skeleton.c include/des.h Versions.def \ + ChangeLog.1[0-9] Makefile Makeconfig Makerules Rules \ + Make-dist MakeTAGS extra-lib.mk o-iterator.mk configure \ + configure.in aclocal.m4 config.h.in config.make.in \ + config-name.in Makefile.in sysdep.h set-hooks.h \ + libc-symbols.h version.h shlib-versions rpm/Makefile \ + rpm/template rpm/rpmrc glibcbug.in abi-tags stub-tag.h \ + test-skeleton.c include/des.h include/db_185.h \ + include/db.h Versions.def \ INTERFACE CONFORMANCE NAMESPACE \ $(addprefix scripts/, \ rellns-sh config.sub config.guess \ diff --git a/crypt/Makefile b/crypt/Makefile index a9ce7da..79f45b8 100644 --- a/crypt/Makefile +++ b/crypt/Makefile @@ -32,6 +32,9 @@ libcrypt-routines := crypt-entry md5-crypt md5 crypt crypt_util tests = cert md5test md5c-test +distribute = ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \ + Banner + include ../Makeconfig ifeq ($(crypt-in-libc),yes) diff --git a/dlfcn/Makefile b/dlfcn/Makefile index ed72563..1f17104 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -19,8 +19,8 @@ subdir := dlfcn headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr -distribute := dlopenold.c glreflib1.c glreflib2.c failtestmod.c +libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr eval +distribute := dlopenold.c glreflib1.c glreflib2.c failtestmod.c eval.c extra-libs-others := libdl @@ -30,15 +30,18 @@ ifeq ($(versioning),yes) libdl-routines += dlopenold libdl-shared-only-routines := dlopenold endif +libdl-shared-only-routines += eval ifeq (yes,$(build-shared)) tests = glrefmain failtest endif modules-names = glreflib1 glreflib2 failtestmod -extra-objs += $(modules-names:=.os) +extra-objs += $(modules-names:=.os) eval.os include ../Rules +LDFLAGS-dl.so = -Wl,-dynamic-linker,$(slibdir)/$(rtld-installed-name) + test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names))) $(test-modules): $(objpfx)%.so: $(objpfx)%.os $(build-module) diff --git a/dlfcn/eval.c b/dlfcn/eval.c new file mode 100644 index 0000000..ce452b7 --- /dev/null +++ b/dlfcn/eval.c @@ -0,0 +1,138 @@ +/* You don't really want to know what this hack is for. + 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include +#include +#include +#include +#include + +static void *funcall (char **stringp); +static void *eval (char **stringp); + +static void * +funcall (char **stringp) +{ + void *args[strlen (*stringp)], **ap = args; + void *argcookie = &args[1]; + + do + { + /* Evaluate the next token. */ + *ap++ = eval (stringp); + + /* Whitespace is irrelevant. */ + while (isspace (**stringp)) + ++*stringp; + + /* Terminate at closing paren or end of line. */ + } while (**stringp != '\0' && **stringp != ')'); + if (**stringp != '\0') + /* Swallow closing paren. */ + ++*stringp; + + if (args[0] == NULL) + { + static const char unknown[] = "Unknown function\n"; + write (1, unknown, sizeof unknown - 1); + return NULL; + } + + /* Do it to it. */ + __builtin_return (__builtin_apply (args[0], + &argcookie, + (char *) ap - (char *) &args[1])); +} + +static void * +eval (char **stringp) +{ + void *value; + char *p = *stringp, c; + + /* Whitespace is irrelevant. */ + while (isspace (*p)) + ++p; + + switch (*p) + { + case '"': + /* String constant. */ + value = ++p; + do + if (*p == '\\') + { + switch (*strcpy (p, p + 1)) + { + case 't': + *p = '\t'; + break; + case 'n': + *p = '\n'; + break; + } + ++p; + } + while (*p != '\0' && *p++ != '"'); + if (p[-1] == '"') + p[-1] = '\0'; + break; + + case '(': + *stringp = ++p; + return funcall (stringp); + + default: + /* Try to parse it as a number. */ + value = (void *) strtol (p, stringp, 0); + if (*stringp != p) + return value; + + /* Anything else is a symbol that produces its address. */ + value = p; + do + ++p; + while (*p != '\0' && !isspace (*p) && (!ispunct (*p) || *p == '_')); + c = *p; + *p = '\0'; + value = dlsym (NULL, value); + *p = c; + break; + } + + *stringp = p; + return value; +} + + +void +_start (void) +{ + char *buf = NULL; + size_t bufsz = 0; + + while (__getdelim (&buf, &bufsz, '\n', stdin) > 0) + { + char *p = buf; + eval (&p); + } + + exit (0); +} diff --git a/elf/Makefile b/elf/Makefile index a31e081..35aa7a1 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -43,7 +43,9 @@ distribute := $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ testobj1.c testobj2.c testobj3.c testobj4.c testobj5.c \ testobj6.c testobj1_1.c failobj.c \ ldconfig.h ldconfig.c cache.c readlib.c readelflib.c \ - dep1.c dep2.c dep3.c dep4.c dl-dtprocnum.h + dep1.c dep2.c dep3.c dep4.c dl-dtprocnum.h \ + vismain.c vismod1.c vismod2.c vismod3.c \ + constload2.c constload3.c include ../Makeconfig diff --git a/elf/eval.c b/elf/eval.c deleted file mode 100644 index ce452b7..0000000 --- a/elf/eval.c +++ /dev/null @@ -1,138 +0,0 @@ -/* You don't really want to know what this hack is for. - 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 - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include -#include -#include -#include -#include -#include - -static void *funcall (char **stringp); -static void *eval (char **stringp); - -static void * -funcall (char **stringp) -{ - void *args[strlen (*stringp)], **ap = args; - void *argcookie = &args[1]; - - do - { - /* Evaluate the next token. */ - *ap++ = eval (stringp); - - /* Whitespace is irrelevant. */ - while (isspace (**stringp)) - ++*stringp; - - /* Terminate at closing paren or end of line. */ - } while (**stringp != '\0' && **stringp != ')'); - if (**stringp != '\0') - /* Swallow closing paren. */ - ++*stringp; - - if (args[0] == NULL) - { - static const char unknown[] = "Unknown function\n"; - write (1, unknown, sizeof unknown - 1); - return NULL; - } - - /* Do it to it. */ - __builtin_return (__builtin_apply (args[0], - &argcookie, - (char *) ap - (char *) &args[1])); -} - -static void * -eval (char **stringp) -{ - void *value; - char *p = *stringp, c; - - /* Whitespace is irrelevant. */ - while (isspace (*p)) - ++p; - - switch (*p) - { - case '"': - /* String constant. */ - value = ++p; - do - if (*p == '\\') - { - switch (*strcpy (p, p + 1)) - { - case 't': - *p = '\t'; - break; - case 'n': - *p = '\n'; - break; - } - ++p; - } - while (*p != '\0' && *p++ != '"'); - if (p[-1] == '"') - p[-1] = '\0'; - break; - - case '(': - *stringp = ++p; - return funcall (stringp); - - default: - /* Try to parse it as a number. */ - value = (void *) strtol (p, stringp, 0); - if (*stringp != p) - return value; - - /* Anything else is a symbol that produces its address. */ - value = p; - do - ++p; - while (*p != '\0' && !isspace (*p) && (!ispunct (*p) || *p == '_')); - c = *p; - *p = '\0'; - value = dlsym (NULL, value); - *p = c; - break; - } - - *stringp = p; - return value; -} - - -void -_start (void) -{ - char *buf = NULL; - size_t bufsz = 0; - - while (__getdelim (&buf, &bufsz, '\n', stdin) > 0) - { - char *p = buf; - eval (&p); - } - - exit (0); -} diff --git a/iconvdata/Makefile b/iconvdata/Makefile index fb6edca..b95d3a4 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -118,7 +118,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \ macintosh.c mac-is.c mac-uk.c nats-dano.c nats-sefi.c sjis.c \ t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c \ isiri-3342.c gbgbk.c iso-2022-cn.c cns11643l2.h iso8859-16.c \ - utf-16.c unicode.c big5hkscs.c + utf-16.c unicode.c big5hkscs.c iso-ir-165.c iso-ir-165.h # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) diff --git a/io/mknod.c b/io/mknod.c deleted file mode 100644 index 8d1dde2..0000000 --- a/io/mknod.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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. - - In addition to the permissions in the GNU Library General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The Library General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - 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, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - - -#include -#include - -/* This definition is only used if inlining fails for this function; see - the last page of . The real work is done by the `x' - function which is passed a version number argument. We arrange in the - makefile that when not inlined this function is always statically - linked; that way a dynamically-linked executable always encodes the - version number corresponding to the data structures it uses, so the `x' - functions in the shared library can adapt without needing to recompile - all callers. */ - -int -__mknod (const char *path, mode_t mode, dev_t dev) -{ - return __xmknod (_MKNOD_VER, path, mode, &dev); -} - -weak_alias (__mknod, mknod) diff --git a/locale/Makefile b/locale/Makefile index 6ab6b54..db71cc2 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -23,7 +23,7 @@ subdir := locale headers = locale.h langinfo.h xlocale.h distribute = localeinfo.h categories.def iso-639.def iso-3166.def \ - iso-4217.def weight.h strlen-hash.h elem-hash.h \ + iso-4217.def weight.h weightwc.h strlen-hash.h elem-hash.h \ indigits.h indigitswc.h outdigits.h outdigitswc.h \ $(addprefix programs/, \ locale.c localedef.c \ @@ -31,7 +31,7 @@ distribute = localeinfo.h categories.def iso-639.def iso-3166.def \ $(lib-modules:=.c) config.h simple-hash.h \ charmap-kw.gperf charmap-kw.h locfile-token.h \ locfile-kw.gperf locfile-kw.h linereader.h \ - locfile.h charmap.h repertoire.h) + locfile.h charmap.h repertoire.h localedef.h) routines = setlocale findlocale loadlocale localeconv nl_langinfo \ mb_cur_max codeset_name \ newlocale duplocale freelocale diff --git a/localedata/Makefile b/localedata/Makefile index 218e68e..05b85e1 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -42,9 +42,10 @@ test-input := de_DE.ISO-8859-1 da_DK.ISO-8859-1 fr_CA,2.13.ISO-8859-1 \ test-input-data = $(addsuffix .in, $(basename $(test-input))) test-output := $(foreach s, .out .xout, \ $(addsuffix $s, $(basename $(test-input)))) -ld-test-names := test1 test2 test3 test4 test5 +ld-test-names := test1 test2 test3 test4 test5 test6 ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \ - $(addsuffix .def,$(ld-test-names))) + $(addsuffix .def,$(ld-test-names)) \ + $(addsuffix .ds,$(ld-test-names))) fmon-tests = n01y12 n02n40 n10y31 n11y41 n12y11 n20n32 n30y20 n41n00 \ y01y10 y02n22 y22n42 y30y21 y32n31 y40y00 y42n21 @@ -57,7 +58,7 @@ distribute := CHECKSUMS README SUPPORTED ChangeLog \ $(charmaps) $(locales) $(repertoiremaps) \ tst-rpmatch.sh tst-locale.sh tst-fmon.sh sort-test.sh \ tst-fmon.data $(test-input-data) $(ld-test-srcs) \ - th_TH.in cs_CZ.in tst-mbswcs.sh + th_TH.in cs_CZ.in tst-mbswcs.sh tst-trans.sh trans.def # Get $(inst_i18ndir) defined. include ../Makeconfig diff --git a/localedata/tests/test6.ds b/localedata/tests/test6.ds new file mode 100644 index 0000000..bb12185 --- /dev/null +++ b/localedata/tests/test6.ds @@ -0,0 +1,113 @@ + HORIZONTAL TABULATION + LINE FEED + VERTICAL TABULATION + FORM FEED + CARRIAGE RETURN + SPACE + SPACE + EXCLAMATION MARK +<"> QUOTATION MARK + NUMBER SIGN + DOLLAR SIGN + DOLLAR SIGN +<%> PERCENT SIGN +<&> AMPERSAND +<'> APOSTROPHE +<(> LEFT PARENTHESIS +<)> RIGHT PARENTHESIS +<*> ASTERISK +<+> PLUS SIGN +<,> COMMA +<-> HYPHEN-MINUS +<.> FULL STOP + SOLIDUS +<0> DIGIT ZERO +<1> DIGIT ONE +<2> DIGIT TWO +<3> DIGIT THREE +<4> DIGIT FOUR +<5> DIGIT FIVE +<6> DIGIT SIX +<7> DIGIT SEVEN +<8> DIGIT EIGHT +<9> DIGIT NINE +<:> COLON +<;> SEMICOLON +<<> LESS-THAN SIGN +<=> EQUALS SIGN +<\>> GREATER-THAN SIGN + QUESTION MARK +<@> COMMERCIAL AT + LATIN CAPITAL LETTER A + LATIN CAPITAL LETTER B + LATIN CAPITAL LETTER C + LATIN CAPITAL LETTER D + LATIN CAPITAL LETTER E + LATIN CAPITAL LETTER F + LATIN CAPITAL LETTER G + LATIN CAPITAL LETTER H + LATIN CAPITAL LETTER I + LATIN CAPITAL LETTER J + LATIN CAPITAL LETTER K + LATIN CAPITAL LETTER L + LATIN CAPITAL LETTER M + LATIN CAPITAL LETTER N + LATIN CAPITAL LETTER O +

LATIN SMALL LETTER P + LATIN SMALL LETTER Q + LATIN SMALL LETTER R + LATIN SMALL LETTER S + LATIN SMALL LETTER T + LATIN SMALL LETTER U + LATIN SMALL LETTER V + LATIN SMALL LETTER W + LATIN SMALL LETTER X + LATIN SMALL LETTER Y + LATIN SMALL LETTER Z +<(!> LEFT CURLY BRACKET + VERTICAL LINE + VERTICAL LINE + RIGHT CURLY BRACKET +<'?> TILDE +

DELETE diff --git a/localedata/tests/test6.mne b/localedata/tests/test6.mne deleted file mode 100644 index bb12185..0000000 --- a/localedata/tests/test6.mne +++ /dev/null @@ -1,113 +0,0 @@ - HORIZONTAL TABULATION - LINE FEED - VERTICAL TABULATION - FORM FEED - CARRIAGE RETURN - SPACE - SPACE - EXCLAMATION MARK -<"> QUOTATION MARK - NUMBER SIGN - DOLLAR SIGN - DOLLAR SIGN -<%> PERCENT SIGN -<&> AMPERSAND -<'> APOSTROPHE -<(> LEFT PARENTHESIS -<)> RIGHT PARENTHESIS -<*> ASTERISK -<+> PLUS SIGN -<,> COMMA -<-> HYPHEN-MINUS -<.> FULL STOP - SOLIDUS -<0> DIGIT ZERO -<1> DIGIT ONE -<2> DIGIT TWO -<3> DIGIT THREE -<4> DIGIT FOUR -<5> DIGIT FIVE -<6> DIGIT SIX -<7> DIGIT SEVEN -<8> DIGIT EIGHT -<9> DIGIT NINE -<:> COLON -<;> SEMICOLON -<<> LESS-THAN SIGN -<=> EQUALS SIGN -<\>> GREATER-THAN SIGN - QUESTION MARK -<@> COMMERCIAL AT - LATIN CAPITAL LETTER A - LATIN CAPITAL LETTER B - LATIN CAPITAL LETTER C - LATIN CAPITAL LETTER D - LATIN CAPITAL LETTER E - LATIN CAPITAL LETTER F - LATIN CAPITAL LETTER G - LATIN CAPITAL LETTER H - LATIN CAPITAL LETTER I - LATIN CAPITAL LETTER J - LATIN CAPITAL LETTER K - LATIN CAPITAL LETTER L - LATIN CAPITAL LETTER M - LATIN CAPITAL LETTER N - LATIN CAPITAL LETTER O -

LATIN SMALL LETTER P - LATIN SMALL LETTER Q - LATIN SMALL LETTER R - LATIN SMALL LETTER S - LATIN SMALL LETTER T - LATIN SMALL LETTER U - LATIN SMALL LETTER V - LATIN SMALL LETTER W - LATIN SMALL LETTER X - LATIN SMALL LETTER Y - LATIN SMALL LETTER Z -<(!> LEFT CURLY BRACKET - VERTICAL LINE - VERTICAL LINE - RIGHT CURLY BRACKET -<'?> TILDE -

LATIN CAPITAL LETTER P - LATIN CAPITAL LETTER Q - LATIN CAPITAL LETTER R - LATIN CAPITAL LETTER S - LATIN CAPITAL LETTER T - LATIN CAPITAL LETTER U - LATIN CAPITAL LETTER V - LATIN CAPITAL LETTER W - LATIN CAPITAL LETTER X - LATIN CAPITAL LETTER Y - LATIN CAPITAL LETTER Z -<<(> LEFT SQUARE BRACKET - LEFT SQUARE BRACKET - REVERSE SOLIDUS - REVERSE SOLIDUS - REVERSE SOLIDUS -<)\>> RIGHT SQUARE BRACKET - RIGHT SQUARE BRACKET -<'\>> CIRCUMFLEX ACCENT - CIRCUMFLEX ACCENT - CIRCUMFLEX ACCENT -<_> LOW LINE - LOW LINE - LOW LINE -<'!> GRAVE ACCENT - GRAVE ACCENT - LATIN SMALL LETTER A - LATIN SMALL LETTER B - LATIN SMALL LETTER C - LATIN SMALL LETTER D - LATIN SMALL LETTER E - LATIN SMALL LETTER F - LATIN SMALL LETTER G - LATIN SMALL LETTER H - LATIN SMALL LETTER I - LATIN SMALL LETTER J - LATIN SMALL LETTER K - LATIN SMALL LETTER L - LATIN SMALL LETTER M - LATIN SMALL LETTER N - LATIN SMALL LETTER O -

DELETE diff --git a/login/programs/utmpd-private.h b/login/programs/utmpd-private.h deleted file mode 100644 index b22e58f..0000000 --- a/login/programs/utmpd-private.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Mark Kettenis , 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _UTMPD_PRIVATE_H -#define _UTMPD_PRIVATE_H 1 - -#include -#include - - -/* The number of connections we allow. */ -#ifndef MAX_CONNECTIONS -#define MAX_CONNECTIONS 16 -#endif - - -typedef struct utmp_database -{ - int fd; - int old_fd; - char *file; - char *old_file; - time_t mtime; -} utmp_database; - - -/* The databases we handle. */ -extern utmp_database *utmp_db; -extern utmp_database *wtmp_db; - - -typedef struct client_connection -{ - int sock; - /* Access permissions. */ - int access; - - /* Read pointer. */ - void *read_base; - void *read_ptr; - void *read_end; - - /* Write buffer. */ - void *write_base; - void *write_ptr; - void *write_end; - - /* Database to use for this connection. */ - utmp_database *database; - /* Position pointer. */ - int position; - - /* Last read entry. */ - struct utmp last_entry; - - /* Pointers to the next and previous connections in the list. */ - struct client_connection *next; - struct client_connection *prev; -} client_connection; - - -/* This variable indicates if we have forked. If set, we log messages - via the system logger. Otherwise we simply print the program name - and the message to standard error. */ -extern int forked; - - -/* Database functions. */ -utmp_database *open_database (const char *file, const char *old_file); -int synchronize_database (utmp_database *database); -void close_database (utmp_database *database); -int read_entry (utmp_database *database, int position, struct utmp *entry); -int write_entry (utmp_database *database, int position, - const struct utmp *entry); -int append_entry (utmp_database *database, const struct utmp *entry); -int read_old_entry (utmp_database *database, int position, struct utmp *entry); -int write_old_entry (utmp_database *database, int position, - const struct utmp *entry); - -/* Connection oriented functions. */ -client_connection *accept_connection (int sock, int access); -client_connection *find_connection (int sock); -void close_connection (client_connection *connection); -int read_data (client_connection *connection); -int write_data (client_connection *connection); - -int proc_utmp_eq (const struct utmp *entry, const struct utmp *match); - -void error (int status, int errnum, const char *message, ...); -void warning (int errnum, const char *message, ...); - - -#endif /* utmpd-private.h */ - diff --git a/login/programs/utmpd.c b/login/programs/utmpd.c deleted file mode 100644 index ec16b9e..0000000 --- a/login/programs/utmpd.c +++ /dev/null @@ -1,419 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Mark Kettenis , 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "utmpd.h" -#include "utmpd-private.h" - -#ifndef DEFAULT_USER -#define DEFAULT_USER "daemon" -#endif - -/* Get libc version number. */ -#include - -#define PACKAGE _libc_intl_domainname - -/* Long options. */ -static const struct option long_options[] = -{ - { "debug", no_argument, NULL, 'd' }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0} -}; - -/* The UTMP database. */ -utmp_database *utmp_db; - -/* The socket for read only requests. */ -int ro_sock = -1; - -/* The socket for read/write requests. */ -int rw_sock = -1; - - -/* Prototypes for the local functions. */ -static void usage (int status) __attribute__ ((noreturn)); -static void drop_priviliges (void); -static int make_socket (const char *name); -static void handle_requests (void) __attribute__ ((noreturn)); -static void termination_handler (int signum); -static int check_pid (const char *file); -static int write_pid (const char *file); - - -int -main (int argc, char *argv[]) -{ - mode_t mask; - int debug; - int do_help; - int do_version; - int opt; - - /* Set locale via LC_ALL. */ - setlocale (LC_ALL, ""); - - /* Set the text message domain. */ - textdomain (PACKAGE); - - /* Initialize local variables. */ - debug = 0; - do_help = 0; - do_version = 0; - - while ((opt = getopt_long (argc, argv, "dhV", long_options, NULL)) != -1) - switch (opt) - { - case '\0': /* Long option. */ - break; - case 'h': - do_help = 1; - break; - case 'd': - debug = 1; - break; - case 'V': - do_version = 1; - break; - default: - usage (EXIT_FAILURE); - } - - /* Version information is reequested. */ - if (do_version) - { - printf ("utmpd (GNU %s) %s\n", PACKAGE, VERSION); - printf (_("\ -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\ -"), "1999"); - printf (_("Written by %s.\n"), "Mark Kettenis"); - - exit (EXIT_SUCCESS); - } - - /* Help is requested. */ - if (do_help) - usage (EXIT_SUCCESS); - - signal (SIGINT, termination_handler); - signal (SIGQUIT, termination_handler); - signal (SIGTERM, termination_handler); - - /* Check if we are already running. */ - if (check_pid (_PATH_UTMPDPID)) - error (EXIT_FAILURE, 0, _("already running")); - - /* Cleanup files created by a previous `bind'. */ - unlink (_PATH_UTMPD_RO); - unlink (_PATH_UTMPD_RW); - - /* Open UTMP database. */ - utmp_db = open_database (_PATH_UTMP "x", _PATH_UTMP); - if (utmp_db == NULL) - exit (EXIT_FAILURE); - - /* Create sockets, with the right permissions. */ - mask = umask (S_IXUSR | S_IXGRP | S_IXOTH); - ro_sock = make_socket (_PATH_UTMPD_RO); - umask (S_IXUSR | S_IRWXG | S_IRWXO); - rw_sock = make_socket (_PATH_UTMPD_RW); - umask (mask); - - /* Set the sockets up to accept connections. */ - if (listen (ro_sock, MAX_CONNECTIONS) < 0 - || listen (rw_sock, MAX_CONNECTIONS) < 0) - error (EXIT_FAILURE, errno, - _("cannot enable socket to accept connections")); - - /* Behave like a daemon. */ - if (!debug) - { - openlog ("utmpd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - - if (daemon (0, 0) < 0) - error (EXIT_FAILURE, errno, _("cannot auto-background")); - forked = 1; - - if (write_pid (_PATH_UTMPDPID) < 0) - warning (errno, "%s", _PATH_UTMPDPID); - - /* Ignore job control signals. */ - signal (SIGTTOU, SIG_IGN); - signal (SIGTTIN, SIG_IGN); - signal (SIGTSTP, SIG_IGN); - } - - /* Drop priviliges. */ - drop_priviliges (); - - /* Handle incoming requests. */ - handle_requests (); -} - - -/* Display usage information and exit. */ -static void -usage (int status) -{ - if (status != EXIT_SUCCESS) - fprintf (stderr, _("Try `%s --help' for more information.\n"), - program_invocation_name); - else - { - printf (_("\ -Usage: %s [OPTION]...\n\ - -d, --debug do not fork and display messages on the current tty\n\ - -h, --help display this help and exit\n\ - -V, --version output version information and exit\n"), - program_invocation_name); - fputs (_("\ -Report bugs using the `glibcbug' script to .\n"), - stdout); - } - - exit (status); -} - - -/* Drop priviliges. */ -static void -drop_priviliges (void) -{ - struct passwd *pw; - - pw = getpwnam (DEFAULT_USER); - if (pw) - { - seteuid (pw->pw_uid); - setegid (pw->pw_gid); - } -} - - -/* Make a socket in the file namespace using the filename NAME as the - socket's address. */ -static int -make_socket (const char *name) -{ - struct sockaddr_un addr; - size_t size; - int sock; - - /* Create the socket. */ - sock = socket (PF_UNIX, SOCK_STREAM, 0); - if (sock < 0) - error (EXIT_FAILURE, errno, _("cannot create socket")); - - /* Bind a name to the socket. */ - addr.sun_family = AF_UNIX; - strcpy (addr.sun_path, name); - - /* The size of the address is the offset of the start - of the filename, plus its length, plus one for the - terminating null byte. */ - size = (offsetof (struct sockaddr_un, sun_path) - + strlen (addr.sun_path)); - - - if (bind (sock, (struct sockaddr *) &addr, size) < 0) - error (EXIT_FAILURE, errno, "%s", name); - - return sock; -} - - -/* Hanlde incoming requests. */ -static -void handle_requests (void) -{ - client_connection *connection; - fd_set active_read_fd_set; - fd_set active_write_fd_set; - fd_set read_fd_set; - fd_set write_fd_set; - int fd; - int maxfd; /* Highest used fd to optimize select/loop. */ - - /* Initialize the set of active sockets. */ - FD_ZERO (&active_read_fd_set); - FD_ZERO (&active_write_fd_set); - FD_SET (rw_sock, &active_read_fd_set); - FD_SET (ro_sock, &active_read_fd_set); - - maxfd = MAX (rw_sock, ro_sock); - - while (1) - { - /* Block until input arrives on one or more active sockets. */ - read_fd_set = active_read_fd_set; - write_fd_set = active_write_fd_set; - if (select (maxfd + 1, &read_fd_set, &write_fd_set, NULL, NULL) < 0) - error (EXIT_FAILURE, errno, _("cannot get input on sockets")); - - /* Service all the sockets with input pending. */ - for (fd = 0; fd <= maxfd; ++fd) - { - if (FD_ISSET (fd, &read_fd_set)) - { - if (fd == ro_sock || fd == rw_sock) - { - int access = ((fd == rw_sock) ? (R_OK | W_OK) : R_OK); - - connection = accept_connection (fd, access); - if (connection == NULL) - error (0, errno, _("cannot accept connection")); - - FD_SET (connection->sock, &active_read_fd_set); - maxfd = MAX (maxfd, connection->sock); - } - else - { - connection = find_connection (fd); - if (connection == NULL) - error (EXIT_FAILURE, 0, _("cannot find connection")); - - if (read_data (connection) < 0) - { - close_connection (connection); - FD_CLR (fd, &active_read_fd_set); - FD_CLR (fd, &active_write_fd_set); - } - - if (connection->write_ptr > connection->write_base) - FD_SET (fd, &active_write_fd_set); - } - } - if (FD_ISSET (fd, &write_fd_set) && - fd != rw_sock && fd != ro_sock) - { - connection = find_connection (fd); - if (connection == NULL) - error (EXIT_FAILURE, 0, _("cannot find connection")); - - if (write_data (connection) < 0) - { - close_connection (connection); - FD_CLR (fd, &active_read_fd_set); - FD_CLR (fd, &active_write_fd_set); - } - - if (connection->write_ptr == connection->write_base) - FD_CLR (fd, &active_write_fd_set); - } - } - - /* Check if maxfd can be lowered. */ - for (; maxfd >= 0; --maxfd) - { - if (FD_ISSET (maxfd, &active_read_fd_set) - || FD_ISSET (maxfd, &active_write_fd_set)) - break; - } - } -} - - -/* Cleanup. */ -static void -termination_handler (int signum) -{ - /* Close sockets. */ - close (ro_sock); - close (rw_sock); - - /* Restore user id. */ - seteuid (getuid ()); - - /* Clean up the files created by `bind'. */ - unlink (_PATH_UTMPD_RO); - unlink (_PATH_UTMPD_RW); - - if (utmp_db) - close_database (utmp_db); - - /* Clean up pid file. */ - unlink (_PATH_UTMPDPID); - - exit (EXIT_SUCCESS); -} - - -/* Returns 1 if the process in pid file FILE is running, 0 if not. */ -static int -check_pid (const char *file) -{ - FILE *fp; - - fp = fopen (_PATH_UTMPDPID, "r"); - if (fp) - { - pid_t pid; - - fscanf (fp, "%d", &pid); - fclose (fp); - - if (kill (pid, 0) == 0) - return 1; - } - - return 0; -} - -/* Write the current process id to the file FILE. Returns 0 if - successful, -1 if not. */ -static int -write_pid (const char *file) -{ - FILE *fp; - - fp = fopen (_PATH_UTMPDPID, "w"); - if (fp == NULL) - return -1; - - fprintf (fp, "%d\n", getpid ()); - if (ferror (fp)) - return -1; - - fclose (fp); - - return 0; -} diff --git a/login/programs/utmpd.h b/login/programs/utmpd.h deleted file mode 100644 index ef92a14..0000000 --- a/login/programs/utmpd.h +++ /dev/null @@ -1,140 +0,0 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Mark Kettenis , 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _UTMPD_H -#define _UTMPD_H 1 - -/* This is an *internal* header. */ - -#include -#include - - -/* Paths to daemon sockets. */ -#define _PATH_UTMPD_RO "/var/run/utmpd.ro" -#define _PATH_UTMPD_RW "/var/run/utmpd.rw" - - -/* Path to PID file. */ -#define _PATH_UTMPDPID "/var/run/utmpd.pid" - - -/* Version number of the daemon interface. */ -#define UTMPD_VERSION 1 - - -/* Services provided. */ -typedef enum -{ - UTMPD_REQ_SETUTENT, - UTMPD_REQ_GETUTENT, - UTMPD_REQ_ENDUTENT, - UTMPD_REQ_GETUTLINE, - UTMPD_REQ_GETUTID, - UTMPD_REQ_PUTUTLINE, - UTMPD_REQ_UPDWTMP -} request_type; - - -/* Header common to all requests. */ -typedef struct -{ - /* Version number of the daemon interface. */ - int version; - /* Number of bytes in this request. */ - size_t size; - /* Service requested. */ - request_type type; -} request_header; - -typedef struct -{ - request_header header; - /* File to use. */ - char file[0]; -} setutent_request; - -typedef struct -{ - request_header header; -} getutent_request, endutent_request; - -typedef struct -{ - request_header header; - /* Entry to match. */ - struct utmp line; -} getutline_request; - -typedef struct -{ - request_header header; - /* Entry to match. */ - struct utmp id; -} getutid_request; - -typedef struct -{ - request_header header; - /* Entry to write. */ - struct utmp utmp; -} pututline_request; - -typedef struct -{ - request_header header; - /* Entry to write. */ - struct utmp utmp; - /* File to use. */ - char file[0]; -} updwtmp_request; - - -/* Header common to all replies. */ -typedef struct -{ - /* Version number of the daemon interface. */ - int version; - /* Number of bytes in this reply. */ - size_t size; - /* Answer to the request. */ - request_type type; -} reply_header; - -typedef struct -{ - reply_header header; - /* Error code. */ - int errnum; - /* Return value. */ - int result; -} setutent_reply, endutent_reply, pututline_reply, updwtmp_reply; - -typedef struct -{ - reply_header header; - /* Found entry. */ - struct utmp entry; - /* Error code. */ - int errnum; - /* Return value. */ - int result; -} getutent_reply, getutline_reply, getutid_reply; - -#endif /* utmpd.h */ diff --git a/posix/Makefile b/posix/Makefile index 2e510a1..174074e 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -58,7 +58,9 @@ routines := \ spawnattr_init spawnattr_destroy \ spawnattr_getdefault spawnattr_setdefault \ spawnattr_getflags spawnattr_setflags \ - spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni + spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni \ + spawnattr_getsigmask spawnattr_getschedpolicy spawnattr_getschedparam \ + spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam include ../Makeconfig diff --git a/posix/Versions b/posix/Versions index 164d187..9830841 100644 --- a/posix/Versions +++ b/posix/Versions @@ -102,6 +102,8 @@ libc { posix_spawnattr_getflags; posix_spawnattr_setflags; posix_spawnattr_getpgroup; posix_spawnattr_setpgroup; posix_spawnattr_setsigmask; posix_spawnattr_getsigmask; - posix_spawn; posix_spawnp; + posix_spawn; posix_spawnp; posix_spawnattr_getschedpolicy; + posix_spawnattr_setschedpolicy; posix_spawnattr_getschedparam; + posix_spawnattr_setschedparam; } } diff --git a/posix/setpgrp.c b/posix/setpgrp.c deleted file mode 100644 index a511e05..0000000 --- a/posix/setpgrp.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include - -int -setpgrp () -{ - return __setpgid (0, 0); -} diff --git a/posix/spawnattr_setschedparam.c b/posix/spawnattr_setschedparam.c index ffcd893..39d6b7a 100644 --- a/posix/spawnattr_setschedparam.c +++ b/posix/spawnattr_setschedparam.c @@ -22,10 +22,10 @@ /* Store scheduling parameters in the attribute structure. */ int posix_spawnattr_setschedparam (posix_spawnattr_t *attr, - const struct shed_param *schedparam) + const struct sched_param *schedparam) { - /* Store the flag word. */ - attr->__flags = flags; + /* Store the scheduling parameters. */ + attr->__sp = *schedparam; return 0; } diff --git a/posix/spawnattr_setsigmask.c b/posix/spawnattr_setsigmask.c index aa917ff..e0a94cb 100644 --- a/posix/spawnattr_setsigmask.c +++ b/posix/spawnattr_setsigmask.c @@ -25,7 +25,7 @@ posix_spawnattr_setsigmask (posix_spawnattr_t *attr, const sigset_t *sigmask) { /* Copy the sigset_t data to the user buffer. */ - memcpy (&attr->__ss, sigdefault, sizeof (sigset_t)); + memcpy (&attr->__ss, sigmask, sizeof (sigset_t)); return 0; } diff --git a/sysdeps/generic/Dist b/sysdeps/generic/Dist index 14baf3e..ffcebf9 100644 --- a/sysdeps/generic/Dist +++ b/sysdeps/generic/Dist @@ -15,3 +15,6 @@ updwtmpx.c utmpxname.c bits/libc-tsd.h siglist.h +bp-thunks.h +bp-sym.h +bp-start.h diff --git a/sysdeps/generic/mknod.c b/sysdeps/generic/mknod.c new file mode 100644 index 0000000..8d1dde2 --- /dev/null +++ b/sysdeps/generic/mknod.c @@ -0,0 +1,47 @@ +/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + 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. + + In addition to the permissions in the GNU Library General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file with other + programs, and to distribute those programs without any restriction + coming from the use of this file. (The Library General Public + License restrictions do apply in other respects; for example, they + cover modification of the file, and distribution when not linked + into another program.) + + 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, 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + +#include +#include + +/* This definition is only used if inlining fails for this function; see + the last page of . The real work is done by the `x' + function which is passed a version number argument. We arrange in the + makefile that when not inlined this function is always statically + linked; that way a dynamically-linked executable always encodes the + version number corresponding to the data structures it uses, so the `x' + functions in the shared library can adapt without needing to recompile + all callers. */ + +int +__mknod (const char *path, mode_t mode, dev_t dev) +{ + return __xmknod (_MKNOD_VER, path, mode, &dev); +} + +weak_alias (__mknod, mknod) diff --git a/sysdeps/generic/setpgrp.c b/sysdeps/generic/setpgrp.c new file mode 100644 index 0000000..a511e05 --- /dev/null +++ b/sysdeps/generic/setpgrp.c @@ -0,0 +1,25 @@ +/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +int +setpgrp () +{ + return __setpgid (0, 0); +} diff --git a/sysdeps/i386/fpu/Version b/sysdeps/i386/fpu/Version deleted file mode 100644 index a2eec37..0000000 --- a/sysdeps/i386/fpu/Version +++ /dev/null @@ -1,6 +0,0 @@ -libm { - GLIBC_2.2 { - # functions used in inline functions or macros - __expl; __expm1l; - } -} diff --git a/sysdeps/i386/fpu/Versions b/sysdeps/i386/fpu/Versions new file mode 100644 index 0000000..a2eec37 --- /dev/null +++ b/sysdeps/i386/fpu/Versions @@ -0,0 +1,6 @@ +libm { + GLIBC_2.2 { + # functions used in inline functions or macros + __expl; __expm1l; + } +} diff --git a/sysdeps/ia64/Dist b/sysdeps/ia64/Dist index 9fc1de2..dcaac62 100644 --- a/sysdeps/ia64/Dist +++ b/sysdeps/ia64/Dist @@ -1,2 +1,3 @@ dl-symaddr.c dl-fptr.c +softpipe.h diff --git a/sysdeps/powerpc/Dist b/sysdeps/powerpc/Dist index 4513e6c..5a5c15c 100644 --- a/sysdeps/powerpc/Dist +++ b/sysdeps/powerpc/Dist @@ -2,3 +2,9 @@ dl-machine.c dl-start.S ppc-mcount.S fe_nomask.c +fprrest.S +fprsave.S +gprsave1.S +gprsave0.S +gprrest1.S +gprrest0.S diff --git a/sysdeps/sparc/Subdirs b/sysdeps/sparc/Subdirs new file mode 100644 index 0000000..87eadf3 --- /dev/null +++ b/sysdeps/sparc/Subdirs @@ -0,0 +1 @@ +soft-fp diff --git a/sysdeps/unix/sysv/aix/Dist b/sysdeps/unix/sysv/aix/Dist new file mode 100644 index 0000000..9db1d74 --- /dev/null +++ b/sysdeps/unix/sysv/aix/Dist @@ -0,0 +1,6 @@ +dl-sym.c +dl-open.c +dl-close.c +kernel_proto.h +bits/utmpx.h +gnu/lib-names.h diff --git a/sysdeps/unix/sysv/linux/arm/Dist b/sysdeps/unix/sysv/linux/arm/Dist index 49bdaf3..60513f7 100644 --- a/sysdeps/unix/sysv/linux/arm/Dist +++ b/sysdeps/unix/sysv/linux/arm/Dist @@ -10,3 +10,4 @@ sys/elf.h sys/io.h sys/procfs.h sys/user.h +oldgetrlimit64.c diff --git a/sysdeps/unix/sysv/linux/ia64/Dist b/sysdeps/unix/sysv/linux/ia64/Dist new file mode 100644 index 0000000..6b4b44b --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/Dist @@ -0,0 +1,2 @@ +xstatconv.c +kernel_stat.h diff --git a/sysdeps/unix/sysv/linux/sparc/Dist b/sysdeps/unix/sysv/linux/sparc/Dist index b8abd55..174d053 100644 --- a/sysdeps/unix/sysv/linux/sparc/Dist +++ b/sysdeps/unix/sysv/linux/sparc/Dist @@ -1,3 +1,4 @@ kernel_termios.h sys/trap.h ldd-rewrite.sed +sys/procfs.h diff --git a/time/Makefile b/time/Makefile index ff1e42e..b675f74 100644 --- a/time/Makefile +++ b/time/Makefile @@ -30,6 +30,8 @@ routines := offtime asctime clock ctime ctime_r difftime \ stime dysize timegm ftime \ strptime getdate wcsftime +distribute := datemsk + tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ tst-getdate -- cgit v1.1

LATIN CAPITAL LETTER P + LATIN CAPITAL LETTER Q + LATIN CAPITAL LETTER R + LATIN CAPITAL LETTER S + LATIN CAPITAL LETTER T + LATIN CAPITAL LETTER U + LATIN CAPITAL LETTER V + LATIN CAPITAL LETTER W + LATIN CAPITAL LETTER X + LATIN CAPITAL LETTER Y + LATIN CAPITAL LETTER Z +<<(> LEFT SQUARE BRACKET + LEFT SQUARE BRACKET + REVERSE SOLIDUS + REVERSE SOLIDUS + REVERSE SOLIDUS +<)\>> RIGHT SQUARE BRACKET + RIGHT SQUARE BRACKET +<'\>> CIRCUMFLEX ACCENT + CIRCUMFLEX ACCENT + CIRCUMFLEX ACCENT +<_> LOW LINE + LOW LINE + LOW LINE +<'!> GRAVE ACCENT + GRAVE ACCENT + LATIN SMALL LETTER A + LATIN SMALL LETTER B + LATIN SMALL LETTER C + LATIN SMALL LETTER D + LATIN SMALL LETTER E + LATIN SMALL LETTER F + LATIN SMALL LETTER G + LATIN SMALL LETTER H + LATIN SMALL LETTER I + LATIN SMALL LETTER J + LATIN SMALL LETTER K + LATIN SMALL LETTER L + LATIN SMALL LETTER M + LATIN SMALL LETTER N + LATIN SMALL LETTER O +