diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-04-07 16:19:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-04-07 16:19:36 +0000 |
commit | 6ca96fe202d5031bd34794b81798651a07839075 (patch) | |
tree | 5684b91ae1d63086f43b1742b04a6b0440fd0e5b | |
parent | 6916c5e1fa03596836767d10648a26eff9d6a8e2 (diff) | |
download | glibc-6ca96fe202d5031bd34794b81798651a07839075.tar glibc-6ca96fe202d5031bd34794b81798651a07839075.tar.gz glibc-6ca96fe202d5031bd34794b81798651a07839075.tar.bz2 glibc-6ca96fe202d5031bd34794b81798651a07839075.zip |
Update.
1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* resolv/Makefile: Include ../Makeconfig - needed for building
static NSS module.
1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* hesiod/Makefile (libnss_hesiod-inhibit-o): Remove condition for
static-nss since we don't want hesiod in the static NSS.
* nss/Makefile: Build only nss_files as static.
* nss/function.def: Remove support for service db.
1998-04-04 09:44 H.J. Lu <hjl@gnu.org>
* Makeconfig (CPPFLAGS-.oS): Add -DPIC.
1998-04-04 18:29 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Make IFS per test-case.
-rw-r--r-- | ChangeLog | 22 | ||||
-rw-r--r-- | FAQ.in | 27 | ||||
-rw-r--r-- | Makeconfig | 2 | ||||
-rw-r--r-- | glibcbug.in | 1 | ||||
-rw-r--r-- | hesiod/Makefile | 5 | ||||
-rw-r--r-- | nss/Makefile | 3 | ||||
-rw-r--r-- | nss/function.def | 29 | ||||
-rw-r--r-- | posix/wordexp-test.c | 189 | ||||
-rw-r--r-- | resolv/Makefile | 4 |
9 files changed, 160 insertions, 122 deletions
@@ -1,3 +1,25 @@ +1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * resolv/Makefile: Include ../Makeconfig - needed for building + static NSS module. + +1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * hesiod/Makefile (libnss_hesiod-inhibit-o): Remove condition for + static-nss since we don't want hesiod in the static NSS. + + * nss/Makefile: Build only nss_files as static. + + * nss/function.def: Remove support for service db. + +1998-04-04 09:44 H.J. Lu <hjl@gnu.org> + + * Makeconfig (CPPFLAGS-.oS): Add -DPIC. + +1998-04-04 18:29 Tim Waugh <tim@cyberelk.demon.co.uk> + + * posix/wordexp-test.c: Make IFS per test-case. + 1998-04-07 17:50 Zack Weinberg <zack@rabi.phys.columbia.edu> * glibcbug.in: Report version of gcc in use. Remove unused variable @@ -625,6 +625,33 @@ If you're upgrading from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library compiled for 2.0 is not compatible due to the new Large File Support (LFS) in version 2.1. +?? Even statically linked programs need some shared libraries + which is not acceptable for me. What can I do? + +{AJ} NSS (for details just type `info libc "Name Service Switch"') +won't work properly without shared libraries. NSS allows using +different services (e.g. NIS, files, db, hesiod) by just changing one +configuration file (/etc/nsswitch.conf) without relinking any +programs. The only disadvantage is that now static libraries need to +access shared libraries. This is handled transparently by the GNU C +library. + +A solution is to configure glibc with --enable-static-nss. In this +case you can create a static binary that will use only the services +dns and files (change /etc/nsswitch.conf for this). You need +to link explicitly against all these services. For example: + + gcc -static test-netdb.c -o test-netdb.c \ + -lc -lnss_files -lnss_dns -lresolv + +The problem with this approach is that you've got to link every static +program that uses NSS routines with all those libraries. + +{UD} In fact, one cannot say anymore that a libc compiled with this +option is using NSS. There is no switch anymore. Therefore it is +*highly* recommended *not* to use --enable-static-nss since this makes +the behaviour of the programs on the system inconsistent. + ? Source and binary incompatibilities, and what to do about them ?? I expect GNU libc to be 100% source code compatible with diff --git a/Makeconfig b/Makeconfig index d9f5841159..d38ff67289 100644 --- a/Makeconfig +++ b/Makeconfig @@ -628,7 +628,7 @@ object-suffixes-for-libc += .oS # shared objects. We don't want to use CFLAGS-os because users may, for # example, make that processor-specific. CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag) -CPPFLAGS-.oS = $(CPPFLAGS-.o) +CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC libtype.oS = lib%_nonshared.a endif diff --git a/glibcbug.in b/glibcbug.in index 0ad6ac45d6..dd953c5c2d 100644 --- a/glibcbug.in +++ b/glibcbug.in @@ -38,7 +38,6 @@ if test $? -ne 0; then fi BUGADDR=${1-$BUGGLIBC} -ENVIRONMENT=`uname -a` : ${EDITOR=emacs} diff --git a/hesiod/Makefile b/hesiod/Makefile index a7e039b224..9959cee3fc 100644 --- a/hesiod/Makefile +++ b/hesiod/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. +# Copyright (C) 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 @@ -31,9 +31,8 @@ vpath %.c nss_hesiod libnss_hesiod-routines := hesiod hesiod-grp hesiod-pwd hesiod-service libnss_hesiod-map := libnss_hesiod.map -ifneq ($(build-static-nss),yes) +# Build only shared library libnss_hesiod-inhibit-o = $(filter-out .os,$(object-suffixes)) -endif include ../Rules diff --git a/nss/Makefile b/nss/Makefile index e0fceee93e..cf953f1019 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -68,11 +68,12 @@ libnss_ldap-routines := $(addprefix ldap-,proto) util ldap-nss libnss_ldap-map := libnss_ldap.map +# Build static module if requested ifneq ($(build-static-nss),yes) libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes)) +endif libnss_db-inhibit-o = $(filter-out .os,$(object-suffixes)) libnss_ldap-inhibit-o = $(filter-out .os,$(object-suffixes)) -endif # If we compile the LDAP module we need the headers from the LDAP library. ifneq ($(LDAP),) diff --git a/nss/function.def b/nss/function.def index 430f4fa5d0..26592c0b7a 100644 --- a/nss/function.def +++ b/nss/function.def @@ -1,5 +1,5 @@ -/* List of all functions defined for the NSS in GNU C Library. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* List of functions defined for static NSS in GNU C Library. + 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 @@ -17,23 +17,21 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* + This is a minimal config. Only services `files' and `dns' are supported. +*/ + /* aliases */ DEFINE_ENT (files, alias) DEFINE_GETBY (files, alias, name) -DEFINE_ENT (db, alias) -DEFINE_GETBY (db, alias, name) /* ethers */ DEFINE_ENT (files, ether) -DEFINE_ENT (db, ether) /* group */ DEFINE_ENT (files, gr) DEFINE_GET (files, grgid) DEFINE_GET (files, grnam) -DEFINE_ENT (db, gr) -DEFINE_GET (db, grgid) -DEFINE_GET (db, grnam) /* hosts */ DEFINE_ENT (files, host) @@ -47,7 +45,6 @@ DEFINE_GETBY (dns, host, name2) /* netgroup */ DEFINE_ENT (files, netgr) -DEFINE_ENT (db, netgr) /* networks */ DEFINE_ENT (files, net) @@ -60,36 +57,22 @@ DEFINE_GETBY (dns, net, addr) DEFINE_ENT (files, proto) DEFINE_GETBY (files, proto, name) DEFINE_GETBY (files, proto, number) -DEFINE_ENT (db, proto) -DEFINE_GETBY (db, proto, name) -DEFINE_GETBY (db, proto, number) /* passwd */ DEFINE_ENT (files, pw) DEFINE_GET (files, pwnam) DEFINE_GET (files, pwuid) -DEFINE_ENT (db, pw) -DEFINE_GET (db, pwnam) -DEFINE_GET (db, pwuid) /* rpc */ DEFINE_ENT (files, rpc) DEFINE_GETBY (files, rpc, name) DEFINE_GETBY (files, rpc, number) -DEFINE_ENT (db, rpc) -DEFINE_GETBY (db, rpc, name) -DEFINE_GETBY (db, rpc, number) /* services */ DEFINE_ENT (files, serv) DEFINE_GETBY (files, serv, name) DEFINE_GETBY (files, serv, port) -DEFINE_ENT (db, serv) -DEFINE_GETBY (db, serv, name) -DEFINE_GETBY (db, serv, port) /* shadow */ DEFINE_ENT (files, sp) DEFINE_GET (files, spnam) -DEFINE_ENT (db, sp) -DEFINE_GET (db, spnam) diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c index 9ee1ab79c9..ba69476e4c 100644 --- a/posix/wordexp-test.c +++ b/posix/wordexp-test.c @@ -25,7 +25,7 @@ #include <stdlib.h> #include <wordexp.h> -#define IFS ", \n\t" +#define IFS " \n\t" struct test_case_struct { @@ -35,117 +35,118 @@ struct test_case_struct int flags; int wordc; const char *wordv[10]; + const char *ifs; } test_case[] = { /* Simple field-splitting */ - { 0, NULL, "one", 0, 1, { "one", } }, - { 0, NULL, "one two", 0, 2, { "one", "two", } }, - { 0, NULL, "one two three", 0, 3, { "one", "two", "three", } }, - { 0, NULL, " \tfoo\t\tbar ", 0, 2, { "foo", "bar", } }, - { 0, NULL, " red , white blue", 0, 3, { "red", "white", "blue", } }, + { 0, NULL, "one", 0, 1, { "one", }, IFS }, + { 0, NULL, "one two", 0, 2, { "one", "two", }, IFS }, + { 0, NULL, "one two three", 0, 3, { "one", "two", "three", }, IFS }, + { 0, NULL, " \tfoo\t\tbar ", 0, 2, { "foo", "bar", }, IFS }, + { 0, NULL, " red , white blue", 0, 3, { "red", "white", "blue", }, ", \n\t" }, /* Simple parameter expansion */ - { 0, "foo", "${var}", 0, 1, { "foo", } }, - { 0, "foo", "$var", 0, 1, { "foo", } }, - { 0, "foo", "\\\"$var\\\"", 0, 1, { "\"foo\"", } }, - { 0, "foo", "%$var%", 0, 1, { "%foo%", } }, - { 0, "foo", "-$var-", 0, 1, { "-foo-", } }, + { 0, "foo", "${var}", 0, 1, { "foo", }, IFS }, + { 0, "foo", "$var", 0, 1, { "foo", }, IFS }, + { 0, "foo", "\\\"$var\\\"", 0, 1, { "\"foo\"", }, IFS }, + { 0, "foo", "%$var%", 0, 1, { "%foo%", }, IFS }, + { 0, "foo", "-$var-", 0, 1, { "-foo-", }, IFS }, /* Simple quote removal */ - { 0, NULL, "\"quoted\"", 0, 1, { "quoted", } }, - { 0, "foo", "\"$var\"\"$var\"", 0, 1, { "foofoo", } }, - { 0, NULL, "'singly-quoted'", 0, 1, { "singly-quoted", } }, + { 0, NULL, "\"quoted\"", 0, 1, { "quoted", }, IFS }, + { 0, "foo", "\"$var\"\"$var\"", 0, 1, { "foofoo", }, IFS }, + { 0, NULL, "'singly-quoted'", 0, 1, { "singly-quoted", }, IFS }, /* Simple command substitution */ - { 0, NULL, "$(echo hello)", 0, 1, { "hello", } }, - { 0, NULL, "$( (echo hello) )", 0, 1, { "hello", } }, - { 0, NULL, "$((echo hello);(echo there))", 0, 2, { "hello", "there", } }, - { 0, NULL, "`echo one two`", 0, 2, { "one", "two", } }, - { 0, NULL, "$(echo ')')", 0, 1, { ")" } }, - { 0, NULL, "$(echo hello; echo)", 0, 1, { "hello", } }, + { 0, NULL, "$(echo hello)", 0, 1, { "hello", }, IFS }, + { 0, NULL, "$( (echo hello) )", 0, 1, { "hello", }, IFS }, + { 0, NULL, "$((echo hello);(echo there))", 0, 2, { "hello", "there", }, IFS }, + { 0, NULL, "`echo one two`", 0, 2, { "one", "two", }, IFS }, + { 0, NULL, "$(echo ')')", 0, 1, { ")" }, IFS }, + { 0, NULL, "$(echo hello; echo)", 0, 1, { "hello", }, IFS }, /* Simple arithmetic expansion */ - { 0, NULL, "$((1 + 1))", 0, 1, { "2", } }, - { 0, NULL, "$((2-3))", 0, 1, { "-1", } }, - { 0, NULL, "$((-1))", 0, 1, { "-1", } }, - { 0, NULL, "$[50+20]", 0, 1, { "70", } }, - { 0, NULL, "$(((2+3)*(4+5)))", 0, 1, { "45", } }, + { 0, NULL, "$((1 + 1))", 0, 1, { "2", }, IFS }, + { 0, NULL, "$((2-3))", 0, 1, { "-1", }, IFS }, + { 0, NULL, "$((-1))", 0, 1, { "-1", }, IFS }, + { 0, NULL, "$[50+20]", 0, 1, { "70", }, IFS }, + { 0, NULL, "$(((2+3)*(4+5)))", 0, 1, { "45", }, IFS }, /* Advanced parameter expansion */ - { 0, NULL, "${var:-bar}", 0, 1, { "bar", } }, - { 0, NULL, "${var-bar}", 0, 1, { "bar", } }, - { 0, "", "${var:-bar}", 0, 1, { "bar", } }, - { 0, "foo", "${var:-bar}", 0, 1, { "foo", } }, - { 0, "", "${var-bar}", 0, 0, { NULL, } }, - { 0, NULL, "${var:=bar}", 0, 1, { "bar", } }, - { 0, NULL, "${var=bar}", 0, 1, { "bar", } }, - { 0, "", "${var:=bar}", 0, 1, { "bar", } }, - { 0, "foo", "${var:=bar}", 0, 1, { "foo", } }, - { 0, "", "${var=bar}", 0, 0, { NULL, } }, - { 0, "foo", "${var:?bar}", 0, 1, { "foo", } }, - { 0, NULL, "${var:+bar}", 0, 0, { NULL, } }, - { 0, NULL, "${var+bar}", 0, 0, { NULL, } }, - { 0, "", "${var:+bar}", 0, 0, { NULL, } }, - { 0, "foo", "${var:+bar}", 0, 1, { "bar", } }, - { 0, "", "${var+bar}", 0, 1, { "bar", } }, - { 0, "12345", "${#var}", 0, 1, { "5", } }, - { 0, NULL, "${var:-'}'}", 0, 1, { "}", } }, - { 0, NULL, "${var-}", 0, 0, { NULL } }, - - { 0, "banana", "${var%na*}", 0, 1, { "bana", } }, - { 0, "banana", "${var%%na*}", 0, 1, { "ba", } }, - { 0, "borabora-island", "${var#*bora}", 0, 1, { "bora-island", } }, - { 0, "borabora-island", "${var##*bora}", 0, 1, {"-island", } }, - { 0, "100%", "${var%0%}", 0, 1, { "10" } }, + { 0, NULL, "${var:-bar}", 0, 1, { "bar", }, IFS }, + { 0, NULL, "${var-bar}", 0, 1, { "bar", }, IFS }, + { 0, "", "${var:-bar}", 0, 1, { "bar", }, IFS }, + { 0, "foo", "${var:-bar}", 0, 1, { "foo", }, IFS }, + { 0, "", "${var-bar}", 0, 0, { NULL, }, IFS }, + { 0, NULL, "${var:=bar}", 0, 1, { "bar", }, IFS }, + { 0, NULL, "${var=bar}", 0, 1, { "bar", }, IFS }, + { 0, "", "${var:=bar}", 0, 1, { "bar", }, IFS }, + { 0, "foo", "${var:=bar}", 0, 1, { "foo", }, IFS }, + { 0, "", "${var=bar}", 0, 0, { NULL, }, IFS }, + { 0, "foo", "${var:?bar}", 0, 1, { "foo", }, IFS }, + { 0, NULL, "${var:+bar}", 0, 0, { NULL, }, IFS }, + { 0, NULL, "${var+bar}", 0, 0, { NULL, }, IFS }, + { 0, "", "${var:+bar}", 0, 0, { NULL, }, IFS }, + { 0, "foo", "${var:+bar}", 0, 1, { "bar", }, IFS }, + { 0, "", "${var+bar}", 0, 1, { "bar", }, IFS }, + { 0, "12345", "${#var}", 0, 1, { "5", }, IFS }, + { 0, NULL, "${var:-'}'}", 0, 1, { "}", }, IFS }, + { 0, NULL, "${var-}", 0, 0, { NULL }, IFS }, + + { 0, "banana", "${var%na*}", 0, 1, { "bana", }, IFS }, + { 0, "banana", "${var%%na*}", 0, 1, { "ba", }, IFS }, + { 0, "borabora-island", "${var#*bora}", 0, 1, { "bora-island", }, IFS }, + { 0, "borabora-island", "${var##*bora}", 0, 1, {"-island", }, IFS }, + { 0, "100%", "${var%0%}", 0, 1, { "10" }, IFS }, /* Pathname expansion */ - { 0, NULL, "???", 0, 2, { "one", "two", } }, - { 0, NULL, "[ot]??", 0, 2, { "one", "two", } }, - { 0, NULL, "t*", 0, 2, { "three", "two", } }, - { 0, NULL, "\"t\"*", 0, 2, { "three", "two", } }, + { 0, NULL, "???", 0, 2, { "one", "two", }, IFS }, + { 0, NULL, "[ot]??", 0, 2, { "one", "two", }, IFS }, + { 0, NULL, "t*", 0, 2, { "three", "two", }, IFS }, + { 0, NULL, "\"t\"*", 0, 2, { "three", "two", }, IFS }, /* Nested constructs */ - { 0, "one two", "$var", 0, 2, { "one", "two", } }, - { 0, "one two three", "$var", 0, 3, { "one", "two", "three", } }, - { 0, " \tfoo\t\tbar ", "$var", 0, 2, { "foo", "bar", } }, - { 0, " red , white blue", "$var", 0, 3, { "red", "white", "blue", } }, - { 0, " red , white blue", "\"$var\"", 0, 1, { " red , white blue", } }, - { 0, NULL, "\"$(echo hello there)\"", 0, 1, { "hello there", } }, - { 0, NULL, "\"$(echo \"hello there\")\"", 0, 1, { "hello there", } }, - { 0, NULL, "${var=one two} \"$var\"", 0, 3, { "one", "two", "one two", } }, - { 0, "1", "$(( $(echo 3)+$var ))", 0, 1, { "4", } }, - { 0, NULL, "\"$(echo \"*\")\"", 0, 1, { "*", } }, - { 0, "foo", "*$var*", 0, 1, { "*foo*", } }, - { 0, "o thr", "*$var*", 0, 2, { "two", "three" } }, + { 0, "one two", "$var", 0, 2, { "one", "two", }, IFS }, + { 0, "one two three", "$var", 0, 3, { "one", "two", "three", }, IFS }, + { 0, " \tfoo\t\tbar ", "$var", 0, 2, { "foo", "bar", }, IFS }, + { 0, " red , white blue", "$var", 0, 3, { "red", "white", "blue", }, ", \n\t" }, + { 0, " red , white blue", "\"$var\"", 0, 1, { " red , white blue", }, ", \n\t" }, + { 0, NULL, "\"$(echo hello there)\"", 0, 1, { "hello there", }, IFS }, + { 0, NULL, "\"$(echo \"hello there\")\"", 0, 1, { "hello there", }, IFS }, + { 0, NULL, "${var=one two} \"$var\"", 0, 3, { "one", "two", "one two", }, IFS }, + { 0, "1", "$(( $(echo 3)+$var ))", 0, 1, { "4", }, IFS }, + { 0, NULL, "\"$(echo \"*\")\"", 0, 1, { "*", }, IFS }, + { 0, "foo", "*$var*", 0, 1, { "*foo*", }, IFS }, + { 0, "o thr", "*$var*", 0, 2, { "two", "three" }, IFS }, /* Other things that should succeed */ - { 0, NULL, "\\*\"|&;<>\"\\(\\)\\{\\}", 0, 1, { "*|&;<>(){}", } }, - { 0, "???", "$var", 0, 1, { "???", } }, - { 0, NULL, "$var", 0, 0, { NULL, } }, - { 0, NULL, "\"\\n\"", 0, 1, { "\\n", } }, - { 0, NULL, "", 0, 0, { NULL, } }, + { 0, NULL, "\\*\"|&;<>\"\\(\\)\\{\\}", 0, 1, { "*|&;<>(){}", }, IFS }, + { 0, "???", "$var", 0, 1, { "???", }, IFS }, + { 0, NULL, "$var", 0, 0, { NULL, }, IFS }, + { 0, NULL, "\"\\n\"", 0, 1, { "\\n", }, IFS }, + { 0, NULL, "", 0, 0, { NULL, }, IFS }, /* Things that should fail */ - { WRDE_BADCHAR, NULL, "new\nline", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "pipe|symbol", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "&ersand", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "semi;colon", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "<greater", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "less>", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "(open-paren", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "close-paren)", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "{open-brace", 0, 0, { NULL, } }, - { WRDE_BADCHAR, NULL, "close-brace}", 0, 0, { NULL, } }, - { WRDE_CMDSUB, NULL, "$(ls)", WRDE_NOCMD, 0, { NULL, } }, - { WRDE_BADVAL, NULL, "$var", WRDE_UNDEF, 0, { NULL, } }, - { WRDE_BADVAL, NULL, "$9", WRDE_UNDEF, 0, { NULL, } }, - { WRDE_SYNTAX, NULL, "$[50+20))", 0, 0, { NULL, } }, - { WRDE_SYNTAX, NULL, "${%%noparam}", 0, 0, { NULL, } }, - { WRDE_SYNTAX, NULL, "${missing-brace", 0, 0, { NULL, } }, - { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, } }, - { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, } }, - - { -1, NULL, NULL, 0, 0, { NULL, } }, + { WRDE_BADCHAR, NULL, "new\nline", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "pipe|symbol", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "&ersand", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "semi;colon", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "<greater", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "less>", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "(open-paren", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "close-paren)", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "{open-brace", 0, 0, { NULL, }, IFS }, + { WRDE_BADCHAR, NULL, "close-brace}", 0, 0, { NULL, }, IFS }, + { WRDE_CMDSUB, NULL, "$(ls)", WRDE_NOCMD, 0, { NULL, }, IFS }, + { WRDE_BADVAL, NULL, "$var", WRDE_UNDEF, 0, { NULL, }, IFS }, + { WRDE_BADVAL, NULL, "$9", WRDE_UNDEF, 0, { NULL, }, IFS }, + { WRDE_SYNTAX, NULL, "$[50+20))", 0, 0, { NULL, }, IFS }, + { WRDE_SYNTAX, NULL, "${%%noparam}", 0, 0, { NULL, }, IFS }, + { WRDE_SYNTAX, NULL, "${missing-brace", 0, 0, { NULL, }, IFS }, + { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS }, + { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS }, + + { -1, NULL, NULL, 0, 0, { NULL, }, IFS }, }; static int testit (struct test_case_struct *tc); @@ -179,7 +180,6 @@ main (int argc, char *argv[]) } cwd = getcwd (NULL, 0); - setenv ("IFS", IFS, 1); /* Set up arena for pathname expansion */ tmpnam (tmpdir); @@ -243,6 +243,11 @@ testit (struct test_case_struct *tc) else unsetenv ("var"); + if (tc->ifs) + setenv ("IFS", tc->ifs, 1); + else + unsetenv ("IFS"); + printf ("Test %d: ", ++test); retval = wordexp (tc->words, &we, tc->flags); diff --git a/resolv/Makefile b/resolv/Makefile index 763c13fcb8..178aae52a1 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 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 @@ -27,6 +27,8 @@ distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \ routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init +include ../Makeconfig + extra-libs := libresolv libnss_dns extra-libs-others = $(extra-libs) libresolv-routines := gethnamaddr res_comp res_debug \ |