Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 30 Mar 1998 13:01:46 +0000 (13:01 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 30 Mar 1998 13:01:46 +0000 (13:01 +0000)
1998-03-30 12:53  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/i386/i486/bits/string.h (__strcat_c) [__i686__]: Correct
scanning for \0.
(__strncat_g): Add i686 specific code.

1998-03-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* manual/install.texi (Reporting Bugs): Ask to include section
names in reports.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): Emit
guard against direct inclusion.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

Rework support for libc_nonshared.a:
* Makeconfig (object-suffixes-for-libc): New variable.
* Rules: Remove handling of static-only and shared-only routines.
* Makerules: Handle them here instead.  Use
object-suffixes-for-libc instead of object-suffixes when dealing
with libc objects.
(object-suffixes-for-rules): Remove variable.
(elide-routines.oS): Elide all routines except static-only
routines.
($(objpfx)stamp.oS): Special rule for when static-only-routines is
empty.
(installed-libcs): Remove special case for .oS.
(rmobjs): Likewise.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* Makefile (do-collate-test, do-xfrm-test, do-tst-fmon,
do-tst-rpmatch): New targets.
(test): Use them.
(install-locales): Ignore comment lines.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* elf/Makefile ($(objpfx)ld.so): Depend on version script.
($(objpfx)trusted-dirs.h): Depend also on $(..)Makeconfig.
($(objpfx)rtldtbl.h): Likewise.
(CPPFLAGS-dl-load.c): Fix reference to object directory.

1998-03-30 09:36  Ulrich Drepper  <drepper@cygnus.com>

* manual/string.texi (Finding Tokens in a String): Extend strsep
description and correct example.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* manual/socket.texi: Remove misguided explicit line breaks and
fix the formatting problem instead by reformulating the
paragraphs.
* manual/filesys.texi: Likewise.
* manual/conf.texi: Likewise.  Don't typeset table with index
fonts, that looks worse than a minimally overfull line.

1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* nscd/Makefile (nscd-modules): Move definition outside of
conditional.

* pwd/Makefile: Use have-thread-library to test for thread
library.

1998-03-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* nss/getXXent_r.c (INTERNAL): Remove unused variable current_nip.

* iconvdata/uhc.c (gconv): Remove unused variable idx.

1998-03-30  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/Dist: Add lddlibc4.c.

18 files changed:
ChangeLog
Makeconfig
Makerules
Rules
elf/Makefile
iconvdata/uhc.c
localedata/Makefile
manual/conf.texi
manual/filesys.texi
manual/install.texi
manual/socket.texi
manual/string.texi
nscd/Makefile
nss/getXXent_r.c
pwd/Makefile
sysdeps/i386/i486/bits/string.h
sysdeps/unix/sysv/linux/Dist
sysdeps/unix/sysv/linux/Makefile

index 14b5008..29a2c50 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,81 @@
+1998-03-30 12:53  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/i386/i486/bits/string.h (__strcat_c) [__i686__]: Correct
+       scanning for \0.
+       (__strncat_g): Add i686 specific code.
+
+1998-03-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * manual/install.texi (Reporting Bugs): Ask to include section
+       names in reports.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): Emit
+       guard against direct inclusion.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       Rework support for libc_nonshared.a:
+       * Makeconfig (object-suffixes-for-libc): New variable.
+       * Rules: Remove handling of static-only and shared-only routines.
+       * Makerules: Handle them here instead.  Use
+       object-suffixes-for-libc instead of object-suffixes when dealing
+       with libc objects.
+       (object-suffixes-for-rules): Remove variable.
+       (elide-routines.oS): Elide all routines except static-only
+       routines.
+       ($(objpfx)stamp.oS): Special rule for when static-only-routines is
+       empty.
+       (installed-libcs): Remove special case for .oS.
+       (rmobjs): Likewise.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * Makefile (do-collate-test, do-xfrm-test, do-tst-fmon,
+       do-tst-rpmatch): New targets.
+       (test): Use them.
+       (install-locales): Ignore comment lines.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * elf/Makefile ($(objpfx)ld.so): Depend on version script.
+       ($(objpfx)trusted-dirs.h): Depend also on $(..)Makeconfig.
+       ($(objpfx)rtldtbl.h): Likewise.
+       (CPPFLAGS-dl-load.c): Fix reference to object directory.
+
+1998-03-30 09:36  Ulrich Drepper  <drepper@cygnus.com>
+
+       * manual/string.texi (Finding Tokens in a String): Extend strsep
+       description and correct example.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * manual/socket.texi: Remove misguided explicit line breaks and
+       fix the formatting problem instead by reformulating the
+       paragraphs.
+       * manual/filesys.texi: Likewise.
+       * manual/conf.texi: Likewise.  Don't typeset table with index
+       fonts, that looks worse than a minimally overfull line.
+
+1998-03-28  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * nscd/Makefile (nscd-modules): Move definition outside of
+       conditional.
+
+       * pwd/Makefile: Use have-thread-library to test for thread
+       library.
+
+1998-03-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * nss/getXXent_r.c (INTERNAL): Remove unused variable current_nip.
+
+       * iconvdata/uhc.c (gconv): Remove unused variable idx.
+
+1998-03-30  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/Dist: Add lddlibc4.c.
+
 1998-03-29  Ulrich Drepper  <drepper@cygnus.com>
 
        * nss/getXXent_r.c: Correctly handle failing setXXent function.
index e20056e..66a0463 100644 (file)
@@ -571,7 +571,7 @@ endif
 # Various things use $(object-suffixes) to know what all to make.
 # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
 # to pass different flags for each flavor.
-libtypes = $(foreach o,$(object-suffixes-for-rules),$(libtype$o))
+libtypes = $(foreach o,$(object-suffixes),$(libtype$o))
 all-object-suffixes := .o .os .op .og .ob .oS
 object-suffixes :=
 ifeq (yes,$(build-static))
@@ -589,13 +589,6 @@ CFLAGS-.os = $(filter %frame-pointer,$(+cflags)) $(pic-ccflag)
 libtype.os := lib%_pic.a
 # This can be changed by a sysdep makefile
 pic-ccflag = -fPIC
-# Special library that contains the static-only routines for libc.
-libtype.oS = lib%_nonshared.a
-# Must build the routines as PIC, though, because they can end up in (users')
-# 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) -DPIC
 endif
 ifeq (yes,$(build-profile))
 # Under --enable-profile, we will build a static library of profiled objects.
@@ -625,6 +618,21 @@ CFLAGS-.ob = -g -fbounded-pointers
 libtype.ob = lib%_b.a
 endif
 
+object-suffixes-for-libc := $(object-suffixes)
+
+ifeq (yes,$(build-shared))
+# Build special library that contains the static-only routines for libc.
+object-suffixes-for-libc += .oS
+
+# Must build the routines as PIC, though, because they can end up in (users')
+# 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)
+libtype.oS = lib%_nonshared.a
+endif
+
+
 +gnu-stabs = $(shell echo>&2 '*** BARF ON ME')
 
 ifndef BUILD_CC
index 62cceac..3a34da4 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -172,12 +172,6 @@ endef
 $(common-objpfx)dummy.d:
        echo '# .s files cannot contain includes, so they need no deps.' > $@
 
-object-suffixes-for-rules := $(object-suffixes)
-
-ifeq (yes,$(build-shared))
-object-suffixes-for-rules += .oS
-endif
-
 # It matters that this set of rules, for compiling from sources in
 # the current directory (the $srcdir/$subdir) come before the
 # generated sysdep rules in included from sysd-rules below.  When
@@ -186,21 +180,21 @@ endif
 define o-iterator-doit
 $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: %.S $(before-compile); $(+make-deps)
 
 define o-iterator-doit
 $(objpfx)%$o: %.s $(before-compile); $$(compile-command.s)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: %.s $(common-objpfx)dummy.d; $(make-dummy-dep)
 
 define o-iterator-doit
 $(objpfx)%$o: %.c $(before-compile); $$(compile-command.c)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: %.c $(before-compile); $(+make-deps)
 
@@ -212,21 +206,21 @@ ifdef objpfx
 define o-iterator-doit
 $(objpfx)%$o: $(objpfx)%.S $(before-compile); $$(compile-command.S)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: $(objpfx)%.S $(before-compile); $(+make-deps)
 
 define o-iterator-doit
 $(objpfx)%$o: $(objpfx)%.s $(before-compile); $$(compile-command.s)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: $(objpfx)%.s $(common-objpfx)dummy.d; $(make-dummy-dep)
 
 define o-iterator-doit
 $(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c)
 endef
-object-suffixes-left := $(object-suffixes-for-rules)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 $(objpfx)%.d: $(objpfx)%.c $(before-compile); $(+make-deps)
 endif
@@ -379,6 +373,34 @@ $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
          $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
 endef
 
+ifndef libc.so-version
+# Undefine this because it can't work when we libc.so is unversioned.
+static-only-routines =
+endif
+
+elide-routines.oS = $(filter-out $(static-only-routines),\
+                                $(routines) $(aux) $(sysdep_routines))
+
+ifdef static-only-routines
+# These routines are to be omitted from the shared library object,
+# so we replace the PIC objects for them with the empty object file.
+$(static-only-routines:%=$(objpfx)%.os): %.os: $(common-objpfx)empty.os
+       rm -f $@
+       ln $< $@
+endif
+
+ifdef shared-only-routines
+# If we have versioned code we don't need the old versions in any of the
+# static libraries.
+define o-iterator-doit
+$(shared-only-routines:%=$(objpfx)%$o): %$o: $(common-objpfx)empty$o;
+       rm -f $$@
+       ln $$< $$@
+endef
+object-suffixes-left := $(filter-out .os,$(object-suffixes))
+include $(o-iterator)
+endif
+
 # Don't try to use -lc when making libc.so itself.
 # Also omits crti.o and crtn.o, which we do not want
 # since we define our own `.init' section specially.
@@ -475,7 +497,7 @@ MAKEFLAGS := $(MAKEFLAGS)r
 \f
 # Make sure that object files are not removed
 # when they are intermediates between sources and library members.
-.PRECIOUS: $(addprefix $(objpfx)%,$(object-suffixes))
+.PRECIOUS: $(addprefix $(objpfx)%,$(all-object-suffixes))
 
 # Make sure that the parent library archive is never removed.
 .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c))
@@ -508,7 +530,7 @@ o-objects = $(patsubst %.o,%$o,$(filter-out $(patsubst %,$(objpfx)%.o,\
                                                       $(elide-routines$o)),\
                                            $(objects)))
 
-libobjs: $(foreach o,$(object-suffixes),\
+libobjs: $(foreach o,$(object-suffixes-for-libc),\
                   $(common-objpfx)$(patsubst %,$(libtype$o),c)(\
                   $(notdir $(o-objects))))
 lib-noranlib: libobjs
@@ -517,8 +539,8 @@ others: $(addprefix $(objpfx),$(install-lib))
 ifndef objects
 
 # Create the stamp$o files to keep the parent makefile happy.
-subdir_lib: $(foreach o,$(object-suffixes),$(objpfx)stamp$o)
-$(foreach o,$(object-suffixes),$(objpfx)stamp$o):
+subdir_lib: $(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o)
+$(foreach o,$(object-suffixes-for-libc),$(objpfx)stamp$o):
        $(make-target-directory)
        rm -f $@; > $@
 else
@@ -532,7 +554,7 @@ $(common-objpfx)$(patsubst %,$(libtype$o),c)(\
 $(addsuffix .%,$(filter-out $(elide-routines$o),$(notdir $(objects:.o=))))): \
   $(objpfx)stamp.% ;
 endef
-object-suffixes-left := $(object-suffixes)
+object-suffixes-left := $(object-suffixes-for-libc)
 include $(o-iterator)
 
 # The pattern rule tells Make to remake $(objpfx)stamp.% as
@@ -544,7 +566,11 @@ include $(o-iterator)
 define o-iterator-doit
 $(objpfx)stamp$o: $(objpfx)stamp%: $(o-objects); $$(do-ar)
 endef
+ifdef static-only-routines
+object-suffixes-left := $(object-suffixes-for-libc)
+else
 object-suffixes-left := $(object-suffixes)
+endif
 include $(o-iterator)
 define do-ar
 topdir=`cd $(..).; pwd`; \
@@ -558,6 +584,13 @@ O%-lib = $(..)$(patsubst %,$(libtype$*),c)
 
 endif
 
+ifndef static-only-routines
+subdir_lib: $(objpfx)stamp.oS
+$(objpfx)stamp.oS:
+       $(make-target-directory)
+       rm -f $@; > $@
+endif
+
 # Rules to update the $(ar-symtab-name) member with ranlib,
 # one for each object flavor.
 define o-iterator-doit
@@ -573,22 +606,13 @@ subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%)
 subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps))
 $(subdirs-stamps): subdir_lib;
 endif
-object-suffixes-left = $(object-suffixes)
+object-suffixes-left = $(object-suffixes-for-libc)
 include $(o-iterator)
-ifeq (yes,$(build-shared))
-$(common-objpfx)$(patsubst %,$(libtype.oS),c)($(ar-symtab-name)): \
-       $(common-objpfx)$(patsubst %,$(libtype.oS),c)(\
-         $(patsubst %,%.oS,$(static-only-routines))) \
-       $(wildcard $(foreach d,$(subdirs),$(common-objpfx)$d/stamp.oS))
-       $(SHELL) $(..)./autolock.sh \
-         $(common-objpfx)$(patsubst %,$(libtype.oS),c).lck \
-         $(RANLIB) $(common-objpfx)$(patsubst %,$(libtype.oS),c)
-endif
 
 
 # This makes all the object files.
 .PHONY: objects objs
-objects objs: $(foreach o,$(object-suffixes),$(o-objects)) \
+objects objs: $(foreach o,$(object-suffixes-for-libc),$(o-objects)) \
              $(addprefix $(objpfx),$(extra-objs))
 
 # Canned sequence for building an extra library archive.
@@ -632,14 +656,9 @@ endef
 # should install libc.a; this way "make install" in a subdir is guaranteed
 # to install everything it changes.
 ifdef objects
-installed-libcs := $(foreach o,$(object-suffixes),\
+installed-libcs := $(foreach o,$(filter-out .so,$(object-suffixes-for-libc)),\
                             $(inst_libdir)/$(patsubst %,$(libtype$o),\
                                                     $(libprefix)$(libc-name)))
-installed-libcs := $(filter-out %_pic.a,$(installed-libcs))
-ifdef libc.so-version
-installed-libcs += $(inst_libdir)/$(patsubst %,$(libtype.oS),\
-                                            $(libprefix)$(libc-name))
-endif
 install: $(installed-libcs)
 $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib
        $(make-target-directory)
@@ -925,9 +944,8 @@ common-mostlyclean:
        -rm -f core $(common-objpfx)stub-$(subdir)
        $(rmobjs)
 define rmobjs
-$(foreach o,$(object-suffixes),
+$(foreach o,$(object-suffixes-for-libc),
 -rm -f $(objpfx)stamp$o $(o-objects))
--rm -f $(objpfx)stamp.oS $(patsubst %,$(objpfx)%.oS,$(static-only-routines))
 endef
 
 # Also remove the dependencies and generated source files.
diff --git a/Rules b/Rules
index d9efdc2..8ff4955 100644 (file)
--- a/Rules
+++ b/Rules
@@ -188,36 +188,3 @@ $(common-objpfx)dummy$o: $(common-objpfx)dummy.c $(before-compile);
 endef
 object-suffixes-left := $(object-suffixes)
 include $(o-iterator)
-
-ifndef libc.so-version
-# Undefine this because it can't work when we libc.so is unversioned.
-static-only-routines =
-endif
-
-ifdef static-only-routines
-# These routines are to be omitted from the shared library object,
-# so we replace the PIC objects for them with the empty object file.
-$(static-only-routines:%=$(objpfx)%.os): %.os: $(common-objpfx)empty.os
-       rm -f $@
-       ln $< $@
-       touch $@
-
-subdir_lib: $(objpfx)stamp.oS
-$(objpfx)stamp.oS: $(objpfx)stamp%: $(static-only-routines:%=$(objpfx)%.oS)
-       $(do-ar)
-$(common-objpfx)$(patsubst %,$(libtype.oS),c)(\
-$(addsuffix .%,$(static-only-routines))): $(objpfx)stamp.%;
-endif
-
-ifdef shared-only-routines
-# If we have versioned code we don't need the old versions in any of the
-# static libraries.
-define o-iterator-doit
-$(shared-only-routines:%=$(objpfx)%$o): %$o: $(common-objpfx)empty$o;
-       rm -f $$@
-       ln $$< $$@
-       touch $$@
-endef
-object-suffixes-left := $(filter-out .os,$(object-suffixes))
-include $(o-iterator)
-endif
index e5c4095..106e863 100644 (file)
@@ -110,7 +110,8 @@ $(rtld-ldscript): $(rtld-ldscript-in) $(rtld-parms)
            -e 's#@@rtld-base@@#$(rtld-base)#' $< >$@
 endif
 
-$(objpfx)ld.so: $(objpfx)librtld.os $(addprefix $(objpfx),$(rtld-ldscript)) $(load-map-file)
+$(objpfx)ld.so: $(objpfx)librtld.os $(addprefix $(objpfx),$(rtld-ldscript)) \
+               $(ld-map)
        $(rtld-link) -Wl,-soname=$(rtld-installed-name)
 
 define rtld-link
@@ -136,18 +137,18 @@ endif
 # libraries when using LD_LIBRARY_PATH in a setuid program.  The user can
 # add directories to the list by defining $(user-defined-trusted-dirs)
 # before starting make.
-$(objpfx)trusted-dirs.h: Makefile
+$(objpfx)trusted-dirs.h: Makefile $(..)Makeconfig
        $(make-target-directory)
        (for dir in `echo "$(default-rpath) $(user-defined-trusted-dirs)" |   \
                     sed 's/:/ /g'`; do                                       \
           echo "  \"$$dir\",";                                               \
         done;) > $@T
        mv -f $@T $@
-$(objpfx)rtldtbl.h: Makefile genrtldtbl.awk
+$(objpfx)rtldtbl.h: Makefile $(..)Makeconfig genrtldtbl.awk
        $(make-target-directory)
        echo "$(default-rpath)" | awk -f genrtldtbl.awk > $@T
        mv -f $@T $@
-CPPFLAGS-dl-load.c = -I$(objdir)/$(subdir)
+CPPFLAGS-dl-load.c = -I$(objpfx).
 CFLAGS-dl-load.c += -Wno-uninitialized
 
 # Specify the dependencies of libdl.so; its commands come from the generic
index 1845100..c64ff1b 100644 (file)
@@ -2730,7 +2730,6 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
                      /* Two-byte character.  First test whether the next
                         character is also available.  */
                      int inchar2;
-                     int idx;
 
                      if (cnt + 1 >= inchars)
                        {
index fbe40ee..6e9bc20 100644 (file)
@@ -60,12 +60,16 @@ $(inst_i18ndir)/locales/%: locales/%; $(do-install)
 
 
 ifeq (no,$(cross-compiling))
-tests: $(objpfx)collate-test $(objpfx)xfrm-test $(objpfx)tst-fmon \
-       $(objpfx)tst-rpmatch
-       $(SHELL) -e sort-test.sh $(common-objpfx) $(test-input)
-       $(SHELL) -e tst-fmon.sh $(common-objpfx) tst-fmon.data
-       $(SHELL) -e tst-locale.sh $(common-objpfx)
-       $(SHELL) -e tst-rpmatch.sh $(common-objpfx)
+.PHONY: do-collate-test do-xfrm-test do-tst-fmon do-tst-rpmatch
+tests: do-collate-test do-xfrm-test do-tst-fmon do-tst-rpmatch
+do-collate-test: sort-test.sh $(objpfx)collate-test $(test-input)
+       $(SHELL) -e $< $(common-objpfx) $(test-input)
+do-xfrm-test: tst-fmon.sh $(objpfx)xfrm-test tst-fmon.data
+       $(SHELL) -e $< $(common-objpfx) tst-fmon.data
+do-tst-fmon: tst-locale.sh $(objpfx)tst-fmon $(ld-test-srcs)
+       $(SHELL) -e $< $(common-objpfx)
+do-tst-rpmatch: tst-rpmatch.sh $(objpfx)tst-rpmatch
+       $(SHELL) -e $< $(common-objpfx)
 endif
 
 # Sometimes the whole collection of locale files should be installed.
@@ -75,6 +79,7 @@ else
 LOCALEDEF=$(common-objpfx)locale/localedef
 endif
 install-locales:
-       (while read locale charset; do \
+       while read locale charset; do \
+          case $$locale in \#*) continue;; esac; \
           $(LOCALEDEF) -c -i $$locale -f $$charset $$locale; \
-        done) < SUPPORTED
+       done < SUPPORTED
index 34554bc..86e29a8 100644 (file)
@@ -315,10 +315,6 @@ Here are the symbolic constants for use as the @var{parameter} argument
 to @code{sysconf}.  The values are all integer constants (more
 specifically, enumeration type values).
 
-@c This table runs a bit wide.
-@iftex
-@indexfonts
-@end iftex
 @table @code
 @comment unistd.h
 @comment POSIX.1
@@ -608,7 +604,7 @@ Inquire about the parameter corresponding to @code{_POSIX_TTY_NAME_MAX}.
 @comment POSIX.1
 @item _SC_THREAD_DESTRUCTOR_ITERATIONS
 Inquire about the parameter corresponding to
-@code{_POSIX_THREAD_DESTRUCTOR_@*ITERATIONS}.
+@code{_POSIX_THREAD_DESTRUCTOR_ITERATIONS}.
 
 @comment unistd.h
 @comment POSIX.1
@@ -964,9 +960,6 @@ Inquire about  the parameter corresponding to @code{NL_SETMAX}.
 @item _SC_NL_TEXTMAX
 Inquire about  the parameter corresponding to @code{NL_TEXTMAX}.
 @end table
-@iftex
-@textfonts
-@end iftex
 
 @node Examples of Sysconf
 @subsection Examples of @code{sysconf}
index 47f43ad..c3ab7c5 100644 (file)
@@ -86,9 +86,8 @@ Permission to read or search a component of the file name was denied.
 @end table
 @end deftypefun
 
-Here is an example showing how you could implement the behavior of GNU's@*
-@w{@code{getcwd (NULL, 0)}} using only the standard behavior of
-@code{getcwd}:
+You could implement the behavior of GNU's @w{@code{getcwd (NULL, 0)}}
+using only the standard behavior of @code{getcwd}:
 
 @smallexample
 char *
index 0efffde..35e257e 100644 (file)
@@ -406,4 +406,6 @@ doesn't tell you, that's a bug in the manual.  Report that too!  If the
 function's behavior disagrees with the manual, then either the library
 or the manual has a bug, so report the disagreement.  If you find any
 errors or omissions in this manual, please report them to the Internet
-address @email{bug-glibc-manual@@gnu.org}.
+address @email{bug-glibc-manual@@gnu.org}.  If you refer to specific
+sections when reporting on the manual, please include the section names
+for easier identification.
index dcd288b..cc84969 100644 (file)
@@ -791,8 +791,8 @@ packaged inside a structure of type @code{struct in_addr}.  It would
 be better if the usage were made consistent, but it is not hard to extract
 the integer from the structure or put the integer into a structure.
 
-The following basic definitions for Internet addresses appear in the
-header file@*@file{netinet/in.h}:
+The following basic definitions for Internet addresses are declared in
+the header file @file{netinet/in.h}:
 @pindex netinet/in.h
 
 @comment netinet/in.h
@@ -868,10 +868,10 @@ own variables to this value.
 @pindex arpa/inet.h
 @noindent
 These additional functions for manipulating Internet addresses are
-declared in@*@file{arpa/inet.h}.  They represent Internet addresses in
-network byte order; they represent network numbers and
-local-address-within-network numbers in host byte order.
-@xref{Byte Order}, for an explanation of network and host byte order.
+declared in the header file @file{arpa/inet.h}.  They represent Internet
+addresses in network byte order; they represent network numbers and
+local-address-within-network numbers in host byte order.  @xref{Byte
+Order}, for an explanation of network and host byte order.
 
 @comment arpa/inet.h
 @comment BSD
@@ -2718,7 +2718,7 @@ this section.
 @pindex sys/socket.h
 @noindent
 Here is a table of socket-level option names; all are defined in the
-header file@*@file{sys/socket.h}.
+header file @file{sys/socket.h}.
 
 @table @code
 @comment sys/socket.h
index f33303b..dd3c68d 100644 (file)
@@ -1182,6 +1182,12 @@ moving pointer has to be done by the user.  Successive calls to
 @var{delimiter}, returning the address of the next token and updating
 @var{string_ptr} to point to the beginning of the next token.
 
+If the input string contains more than one character from
+@var{delimiter} in a row @code{strsep} returns an empty string for each
+pair of characters from @var{delimiter}.  This means that a program
+normally should test for @code{strsep} returning an empty string before
+processing it.
+
 This function was introduced in 4.3BSD and therefore is widely available.
 @end deftypefun
 
@@ -1206,8 +1212,13 @@ token = strsep (&running, delimiters);    /* token => "words" */
 token = strsep (&running, delimiters);    /* token => "separated" */
 token = strsep (&running, delimiters);    /* token => "by" */
 token = strsep (&running, delimiters);    /* token => "spaces" */
+token = strsep (&running, delimiters);    /* token => "" */
+token = strsep (&running, delimiters);    /* token => "" */
+token = strsep (&running, delimiters);    /* token => "" */
 token = strsep (&running, delimiters);    /* token => "and" */
+token = strsep (&running, delimiters);    /* token => "" */
 token = strsep (&running, delimiters);    /* token => "punctuation" */
+token = strsep (&running, delimiters);    /* token => "" */
 token = strsep (&running, delimiters);    /* token => NULL */
 @end smallexample
 
index aace588..f00b2f0 100644 (file)
@@ -25,13 +25,14 @@ routines := nscd_getpw_r nscd_getgr_r
 
 include ../Makeconfig
 
+nscd-modules := nscd connections pwdcache getpwnam_r getpwuid_r grpcache \
+               getgrnam_r getgrgid_r dbg_log nscd_conf nscd_stat
+
 ifeq ($(have-thread-library),yes)
 
 others := nscd
 install-sbin := nscd
 
-nscd-modules := nscd connections pwdcache getpwnam_r getpwuid_r grpcache \
-               getgrnam_r getgrgid_r dbg_log nscd_conf nscd_stat
 extra-objs := $(nscd-modules:=.o)
 
 endif
index 1d27cfc..5c8384f 100644 (file)
@@ -244,7 +244,6 @@ INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen,
   while (! no_more)
     {
       int is_last_nip = nip == last_nip;
-      service_user *current_nip = nip;
 
       status = (*fct) (resbuf, buffer, buflen, __errno_location ()
                       H_ERRNO_VAR);
index 6bb5b66..ca0e363 100644 (file)
@@ -29,7 +29,7 @@ routines := fgetpwent getpw putpwent \
 include ../Rules
 
 # We can later add the names of other thread packages here.
-ifneq (,$(findstring linuxthreads,$(add-ons)))
+ifeq ($(have-thread-library),yes)
 
 CFLAGS-getpwuid_r.c = -DUSE_NSCD=1
 CFLAGS-getpwnam_r.c = -DUSE_NSCD=1
index 60148b7..2cbac10 100644 (file)
@@ -742,10 +742,11 @@ __strcat_c (char *__dest, __const char __src[], size_t __srclen)
   register unsigned long int __d0;
   register char *__tmp;
   __asm__ __volatile__
-    ("repne; cmpsb"
-     : "=S" (__tmp), "=&c" (__d0)
+    ("repne; scasb"
+     : "=D" (__tmp), "=&c" (__d0)
      : "0" (__dest), "1" (0xffffffff), "a" (0)
      : "cc");
+  --__tmp;
 #else
   register char *__tmp = __dest - 1;
   __asm__ __volatile__
@@ -798,8 +799,27 @@ __strcat_g (char *__dest, __const char *__src)
 __STRING_INLINE char *
 __strncat_g (char *__dest, __const char __src[], size_t __n)
 {
-  register char *__tmp = __dest - 1;
+  register char *__tmp = __dest;
   register char __dummy;
+#ifdef __i686__
+  __asm__ __volatile__
+    ("repne; scasb\n"
+     "decl %1\n\t"
+     "1:\n\t"
+     "decl     %3\n\t"
+     "js       2f\n\t"
+     "movb     (%2),%b0\n\t"
+     "movsb\n\t"
+     "testb    %b0,%b0\n\t"
+     "jne      1b\n\t"
+     "decl     %1\n"
+     "2:\n\t"
+     "movb     $0,(%1)"
+     : "=&a" (__dummy), "=&D" (__tmp), "=&S" (__src), "=&r" (__n)
+     : "0" (0), "1" (__tmp), "2" (__src), "3" (__n)
+     : "memory", "cc");
+#else
+  --__tmp;
   __asm__ __volatile__
     ("1:\n\t"
      "cmpb     $0,1(%1)\n\t"
@@ -816,10 +836,11 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
      "jne      2b\n\t"
      "decl     %1\n"
      "3:\n\t"
-     "movb     $0,(%1)\n\t"
+     "movb     $0,(%1)"
      : "=&q" (__dummy), "=&r" (__tmp), "=&r" (__src), "=&r" (__n)
      : "1" (__tmp), "2" (__src), "3" (__n)
      : "memory", "cc");
+#endif
   return __dest;
 }
 
index 709f9ab..181ac53 100644 (file)
@@ -5,6 +5,7 @@ init-first.h
 kernel_sigaction.h
 kernel_stat.h
 kernel_termios.h
+lddlibc4.c
 llseek.c
 s_pread64.c
 s_pwrite64.c
index 7a73ded..2bc1943 100644 (file)
@@ -23,13 +23,18 @@ install-others += $(inst_includedir)/bits/syscall.h
 # Generate the list of SYS_* macros for the system calls (__NR_* macros).
 $(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h
        rm -f $(@:.h=.d)
-       echo > $(@:.d=.h).new \
-            '/* Generated at libc build time from kernel syscall list.  */'
-       SUNPRO_DEPENDENCIES='$(@:.h=.d) $(patsubst $(objpfx)%,$$(objpfx)%,\
-                                                  $(@:.d=.h) $(@:.h=.d))' \
-       $(CC) -E -x c $< -D_LIBC -dM | \
-       sed -n >> $(@:.d=.h).new \
-             's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p'
+       { \
+        echo '/* Generated at libc build time from kernel syscall list.  */';\
+        echo ''; \
+        echo '#ifndef _SYSCALL_H'; \
+        echo '# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."'; \
+        echo '#endif'; \
+        echo ''; \
+        SUNPRO_DEPENDENCIES='$(@:.h=.d) $(patsubst $(objpfx)%,$$(objpfx)%,\
+                                                   $(@:.d=.h) $(@:.h=.d))' \
+        $(CC) -E -x c $< -D_LIBC -dM | \
+        sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p'; \
+       } > $(@:.d=.h).new
        mv -f $(@:.d=.h).new $(@:.d=.h)
 
 $(inst_includedir)/bits/syscall.h: $(objpfx)syscall-list.h