]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 15 May 1998 14:46:36 +0000 (14:46 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 15 May 1998 14:46:36 +0000 (14:46 +0000)
1998-05-15 14:36  Ulrich Drepper  <drepper@cygnus.com>

* posix/wordexp-test.c: Avoid duplicate messages.

* sysdeps/generic/setenv.c: Use __tfind and __tsearch, not tfind and
tsearch.  Correctly interpret values returned by those functions.
(unsetenv): Store pointer to string, not pointer to string pointer.

* time/tzfile.c (__tzfile_compute): Take new arguments.  Store
DST information and offset in them.
* time/tzset.c (__tz_convert): Pass extra parameters to
__tzfile_compute.  Compute equivalent values for use of tz_rules.

1998-05-15 00:49:11  Zack Weinberg  <zack@rabi.phys.columbia.edu>

* iconvdata/Makefile (gen-8bit-table): Use move-if-change and
stamp files to avoid unnecessary recompilation.
(gen-8bit-gap-table): Likewise.
(move-if-change): New variable.
(all generated .h rules): Change to be .stmp rules.
(%.h): New rule; depend on %.stmp; no commands.
(distribute): Add gen-8bit.sh, gen-8bit-gap.sh,
gen-8bit-gap-1.sh.

1998-05-15 01:09  Zack Weinberg  <zack@rabi.phys.columbia.edu>

* Makerules (libc-map): Deleted.
(load-map-file): Set to the appropriate compiler switch, not
just the file name.  If libfoo-map is not set, look for a
libfoo.map in the current directory and $(..).
(map-file): New variable, contains just the mapfile name.
(build-shlib): Adjust for new value of load-map-file.
(libc.so): Correct dependencies.

* extra-lib.mk: Correct shlib dependencies since libfoo-map
may not be set anymore.

* elf/Makefile: Set ld-map to $(..)libc.map, not $(libc-map).
Delete libdl-map.  Tweak ld.so link rule to work with changed
variable settings in Makerules.
* iconvdata/Makefile: Tweak build-module to work with changed
variable settings in Makerules.

* db/Makefile: Delete libdb-map.
* hesiod/Makefile: Delete libnss_hesiod-map.
* linuxthreads/Makefile: Delete libpthread-map.
* locale/Makefile: Delete libBrokenLocale-map.
* login/Makefile: Delete libutil-map.
* math/Makefile: Delete libm-map.
* md5-crypt/Makefile: Delete libcrypt-map.
* nis/Makefile: Delete libnsl-map, libnss_nis-map,
libnss_nisplus-map, and libnss_compat-map.
* nss/Makefile: Delete libnss_files-map, libnss_db-map, and
libnss_ldap-map.
* resolv/Makefile: Delete libresolv-map and libnss_dns-map.
* rt/Makefile: Delete librt-map.

1998-05-15 01:06  Zack Weinberg  <zack@rabi.phys.columbia.edu>

* configure.in: Instead of substituting `yes' or `no' for whether
--no-whole-archive is available, set @no_whole_archive@ to the
appropriate gcc switch or the empty string.  Likewise for
-fno-exceptions.
* config.make.in: Replace have-no-whole-archive with
no-whole-archive and have-no-exceptions with no-exceptions.
* Makerules: Delete stanzas setting no-whole-archive and
no-exceptions.

* sunrpc/Makefile: Use move-if-change to update generated .h
and .c files.

1998-05-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

* wcsmbs/wcsmbsload.c (extract_charset_name): Use strcspn instead
of strchr loop.

1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* time/tzfile.c (__tzfile_read): Remove unused variable info.
(__tzfile_compute): Likewise.

1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* sysdeps/unix/sysv/linux/bits/socket.h (AF_SNA,PF_SNA): Add new
defines from Linux 2.1.102.

27 files changed:
ChangeLog
Makerules
config.make.in
configure
configure.in
db/Makefile
elf/Makefile
extra-lib.mk
hesiod/Makefile
iconvdata/Makefile
linuxthreads/Makefile
locale/Makefile
login/Makefile
login/README.utmpd
math/Makefile
md5-crypt/Makefile
nis/Makefile
nss/Makefile
posix/wordexp-test.c
resolv/Makefile
rt/Makefile
sunrpc/Makefile
sysdeps/generic/setenv.c
sysdeps/unix/sysv/linux/bits/socket.h
time/tzfile.c
time/tzset.c
wcsmbs/wcsmbsload.c

index 5566a7f75d053becf9c8816f9e58c0e1f0ca43e1..75a2941ece625232d638d17bf93e5483d263107f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,89 @@
+1998-05-15 14:36  Ulrich Drepper  <drepper@cygnus.com>
+
+       * posix/wordexp-test.c: Avoid duplicate messages.
+
+       * sysdeps/generic/setenv.c: Use __tfind and __tsearch, not tfind and
+       tsearch.  Correctly interpret values returned by those functions.
+       (unsetenv): Store pointer to string, not pointer to string pointer.
+
+       * time/tzfile.c (__tzfile_compute): Take new arguments.  Store
+       DST information and offset in them.
+       * time/tzset.c (__tz_convert): Pass extra parameters to
+       __tzfile_compute.  Compute equivalent values for use of tz_rules.
+
+1998-05-15 00:49:11  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * iconvdata/Makefile (gen-8bit-table): Use move-if-change and
+       stamp files to avoid unnecessary recompilation.
+       (gen-8bit-gap-table): Likewise.
+       (move-if-change): New variable.
+       (all generated .h rules): Change to be .stmp rules.
+       (%.h): New rule; depend on %.stmp; no commands.
+       (distribute): Add gen-8bit.sh, gen-8bit-gap.sh,
+       gen-8bit-gap-1.sh.
+
+1998-05-15 01:09  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * Makerules (libc-map): Deleted.
+       (load-map-file): Set to the appropriate compiler switch, not
+       just the file name.  If libfoo-map is not set, look for a
+       libfoo.map in the current directory and $(..).
+       (map-file): New variable, contains just the mapfile name.
+       (build-shlib): Adjust for new value of load-map-file.
+       (libc.so): Correct dependencies.
+
+       * extra-lib.mk: Correct shlib dependencies since libfoo-map
+       may not be set anymore.
+
+       * elf/Makefile: Set ld-map to $(..)libc.map, not $(libc-map).
+       Delete libdl-map.  Tweak ld.so link rule to work with changed
+       variable settings in Makerules.
+       * iconvdata/Makefile: Tweak build-module to work with changed
+       variable settings in Makerules.
+
+       * db/Makefile: Delete libdb-map.
+       * hesiod/Makefile: Delete libnss_hesiod-map.
+       * linuxthreads/Makefile: Delete libpthread-map.
+       * locale/Makefile: Delete libBrokenLocale-map.
+       * login/Makefile: Delete libutil-map.
+       * math/Makefile: Delete libm-map.
+       * md5-crypt/Makefile: Delete libcrypt-map.
+       * nis/Makefile: Delete libnsl-map, libnss_nis-map,
+       libnss_nisplus-map, and libnss_compat-map.
+       * nss/Makefile: Delete libnss_files-map, libnss_db-map, and
+       libnss_ldap-map.
+       * resolv/Makefile: Delete libresolv-map and libnss_dns-map.
+       * rt/Makefile: Delete librt-map.
+
+1998-05-15 01:06  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * configure.in: Instead of substituting `yes' or `no' for whether
+       --no-whole-archive is available, set @no_whole_archive@ to the
+       appropriate gcc switch or the empty string.  Likewise for
+       -fno-exceptions.
+       * config.make.in: Replace have-no-whole-archive with
+       no-whole-archive and have-no-exceptions with no-exceptions.
+       * Makerules: Delete stanzas setting no-whole-archive and
+       no-exceptions.
+
+       * sunrpc/Makefile: Use move-if-change to update generated .h
+       and .c files.
+
+1998-05-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * wcsmbs/wcsmbsload.c (extract_charset_name): Use strcspn instead
+       of strchr loop.
+
+1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * time/tzfile.c (__tzfile_read): Remove unused variable info.
+       (__tzfile_compute): Likewise.
+
+1998-05-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * sysdeps/unix/sysv/linux/bits/socket.h (AF_SNA,PF_SNA): Add new
+       defines from Linux 2.1.102.
+
 1998-05-14 23:14  Ulrich Drepper  <drepper@cygnus.com>
 
        * locale/programs/ld-ctype.c: Write correct mb_cur_max value.
index 223442cbfe26aef87a6b985a728b499c11239c1a..dadafdbc881d79735e66b6087a681ac962b673b8 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -325,9 +325,9 @@ ifeq (yes,$(build-shared))
 # Reference map file only when versioning is selected and a map file name
 # is given.
 ifeq ($(versioning),yes)
-load-map-file = $($(@F:%.so=%)-map)
-else
-load-map-file =
+map-file = $(firstword $(wildcard \
+               $($(@F:.so=-map)) $(@F:.so=.map) $(..)$(@F:.so=.map)))
+load-map-file = $(map-file:%=-Wl,--version-script=%)
 endif
 
 # Pattern rule to build a shared object from an archive of PIC objects.
@@ -338,12 +338,6 @@ endif
 lib%.so: lib%_pic.a $(+preinit) $(+postinit)
        $(build-shlib)
 
-ifeq ($(have-no-whole-archive),yes)
-no-whole-archive = -Wl,--no-whole-archive
-else
-no-whole-archive =
-endif
-
 ifeq ($(elf),yes)
 interp-obj = $(common-objpfx)elf/interp.os
 $(common-objpfx)libc.so: $(interp-obj)
@@ -352,12 +346,12 @@ endif
 
 define build-shlib
 $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
-         -B$(csu-objpfx) $(load-map-file:%=-Wl,--version-script=%) \
+         -B$(csu-objpfx) $(load-map-file) \
          -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
          $(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
          -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
          -Wl,--whole-archive \
-         $(filter-out $($(@F:.so=)-map) $(+preinit) $(+postinit),$^) \
+         $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
          $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
 endef
 
@@ -385,8 +379,6 @@ LDFLAGS-c.so = -nostdlib -nostartfiles
 LDLIBS-c.so = $(gnulib)
 # Give libc.so an entry point and make it directly runnable itself.
 LDFLAGS-c.so += -e __libc_main
-# We have a versioning file for libc.so.
-libc-map = $(..)libc.map
 # Pre-link the objects of libc_pic.a so that we can locally resolve
 # COMMON symbols before we link against ld.so.  This is because ld.so
 # contains some of libc_pic.a already, which will prevent the COMMONs
@@ -399,7 +391,7 @@ $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
 $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
                         $(common-objpfx)libc_pic.os \
                         $(elfobjdir)/sofini.os $(elfobjdir)/ld.so \
-                        $(libc-map)
+                        $(..)libc.map
        $(build-shlib)
 common-generated += libc.so libc_pic.os
 ifdef libc.so-version
@@ -409,15 +401,6 @@ common-generated += libc.so$(libc.so-version)
 endif
 endif
 \f
-# Some files must not be compiled with the exception handler mechanism
-# enabled (introduced in gcc-2.8).  Use $(no-exceptions) in the
-# appropriate CFLAGS definition.
-ifeq ($(have-no-exceptions),yes)
-no-exceptions = -fno-exceptions
-else
-no-exceptions =
-endif
-\f
 # Figure out the source filenames in this directory.
 
 override sources       := $(addsuffix .c,$(filter-out $(elided-routines),\
index d23ee8dbd820e74b88ad62abf750d84834b69181..0a76b10edea83174b3580ce4ff0bc26f2a1a6a14 100644 (file)
@@ -37,9 +37,9 @@ need-nopic-initfini = @nopic_initfini@
 with-cvs = @with_cvs@
 
 versioning = @VERSIONING@
+no-whole-archive = @no_whole_archive@
+no-exceptions = @no_exceptions@
 
-have-no-whole-archive = @libc_cv_ld_no_whole_archive@
-have-no-exceptions = @libc_cv_gcc_no_exceptions@
 have-bash2 = @libc_cv_have_bash2@
 have-ksh = @libc_cv_have_ksh@
 
index 5e6f231bd18b25c6e479b25c036551b5a40ff9ca..cb9c48f279cae73a01759557f258d417fa322cf2 100755 (executable)
--- a/configure
+++ b/configure
@@ -2523,9 +2523,12 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
+if test $libc_cv_ld_no_whole_archive = yes; then
+  no_whole_archive=-Wl,--no-whole-archive
+fi
 
 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
-echo "configure:2529: checking for gcc -fno-exceptions" >&5
+echo "configure:2532: checking for gcc -fno-exceptions" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2536,7 +2539,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
                            -nostdlib -nostartfiles -fno-exceptions
-                           -o conftest conftest.c 1>&5'; { (eval echo configure:2540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                           -o conftest conftest.c 1>&5'; { (eval echo configure:2543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_no_exceptions=yes
 else
   libc_cv_gcc_no_exceptions=no
@@ -2545,17 +2548,20 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6
+if test $libc_cv_ld_no_whole_archive = yes; then
+  no_exceptions=-fno-exceptions
+fi
 
 if test "$base_machine" = alpha ; then
 echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
-echo "configure:2552: checking for function ..ng prefix" >&5
+echo "configure:2558: checking for function ..ng prefix" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<\EOF
 foo () { }
 EOF
-if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2559: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
 then
   libc_cv_gcc_alpha_ng_prefix=yes
 else
@@ -2582,19 +2588,19 @@ if test "$host_cpu" = powerpc ; then
 # Check for a bug present in at least versions 2.8.x of GCC
 # and versions 1.0.x of EGCS.
 echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
-echo "configure:2586: checking whether clobbering cr0 causes problems" >&5
+echo "configure:2592: checking whether clobbering cr0 causes problems" >&5
 if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2591 "configure"
+#line 2597 "configure"
 #include "confdefs.h"
 int tester(int x) { asm ("" : : : "cc"); return x & 123; }
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_c_asmcr0_bug='no'
 else
@@ -2616,12 +2622,12 @@ fi
 fi
 
 echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2620: checking for DWARF2 unwind info support" >&5
+echo "configure:2626: checking for DWARF2 unwind info support" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<EOF
-#line 2625 "configure"
+#line 2631 "configure"
 static char __EH_FRAME_BEGIN__;
 _start ()
 {
@@ -2648,7 +2654,7 @@ __bzero () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
                            -nostdlib -nostartfiles
-                           -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                           -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_dwarf2_unwind_info=static
 else
   libc_cv_gcc_dwarf2_unwind_info=no
@@ -2656,7 +2662,7 @@ fi
 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
   if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
                              -nostdlib -nostartfiles
-                             -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+                             -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_gcc_dwarf2_unwind_info=yes
   else
     libc_cv_gcc_dwarf2_unwind_info=no
@@ -2730,7 +2736,7 @@ if test "$uname" = "sysdeps/generic"; then
   fi
 
   echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2734: checking OS release for uname" >&5
+echo "configure:2740: checking OS release for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2752,7 +2758,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
   uname_release="$libc_cv_uname_release"
 
   echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2756: checking OS version for uname" >&5
+echo "configure:2762: checking OS version for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2774,7 +2780,7 @@ else
 fi
 
 echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2778: checking stdio selection" >&5
+echo "configure:2784: checking stdio selection" >&5
 
 case $stdio in
 libio) cat >> confdefs.h <<\EOF
@@ -2786,7 +2792,7 @@ esac
 echo "$ac_t""$stdio" 1>&6
 
 echo $ac_n "checking ldap selection""... $ac_c" 1>&6
-echo "configure:2790: checking ldap selection" >&5
+echo "configure:2796: checking ldap selection" >&5
 
 case $add_ons in
 *ldap*)
@@ -2837,7 +2843,7 @@ if test $shared = default; then
 fi
 
 echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2841: checking whether -fPIC is default" >&5
+echo "configure:2847: checking whether -fPIC is default" >&5
 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3044,8 +3050,8 @@ s%@AWK@%$AWK%g
 s%@PERL@%$PERL%g
 s%@VERSIONING@%$VERSIONING%g
 s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g
-s%@libc_cv_ld_no_whole_archive@%$libc_cv_ld_no_whole_archive%g
-s%@libc_cv_gcc_no_exceptions@%$libc_cv_gcc_no_exceptions%g
+s%@no_whole_archive@%$no_whole_archive%g
+s%@no_exceptions@%$no_exceptions%g
 s%@uname_sysname@%$uname_sysname%g
 s%@uname_release@%$uname_release%g
 s%@uname_version@%$uname_version%g
index d04c18b0b3c0c2e9e79ba3c3bcee271e340cc618..683f6b6a39d21671dd4f0bdced385d446d1ae050 100644 (file)
@@ -883,7 +883,10 @@ else
   libc_cv_ld_no_whole_archive=no
 fi
 rm -f conftest*])
-AC_SUBST(libc_cv_ld_no_whole_archive)dnl
+if test $libc_cv_ld_no_whole_archive = yes; then
+  no_whole_archive=-Wl,--no-whole-archive
+fi
+AC_SUBST(no_whole_archive)dnl
 
 AC_CACHE_CHECK(for gcc -fno-exceptions, libc_cv_gcc_no_exceptions, [dnl
 cat > conftest.c <<\EOF
@@ -900,7 +903,10 @@ else
   libc_cv_gcc_no_exceptions=no
 fi
 rm -f conftest*])
-AC_SUBST(libc_cv_gcc_no_exceptions)dnl
+if test $libc_cv_ld_no_whole_archive = yes; then
+  no_exceptions=-fno-exceptions
+fi
+AC_SUBST(no_exceptions)dnl
 
 if test "$base_machine" = alpha ; then
 AC_CACHE_CHECK(for function ..ng prefix, libc_cv_gcc_alpha_ng_prefix, [dnl
index e9817e2f89c9c715f45f4137530f5a40cd85c7e7..32a637f0bf967d6506a8f420d361c97c0afcde0f 100644 (file)
@@ -19,7 +19,6 @@ libdb-routines := bt_close bt_conv bt_debug bt_delete bt_get \
                  mpool \
                  rec_close rec_delete rec_get rec_open rec_put rec_search \
                  rec_seq rec_utils
-libdb-map      := libdb.map
 
 headers                := db.h mpool.h ndbm.h
 distribute     := compat.h                                     \
index 2f2e4b19344cee56fc313694ec3312dd25c27209..b8b5b36b40660c67c165c3b95919d533fb89eb45 100644 (file)
@@ -35,7 +35,7 @@ elide-routines.os = $(dl-routines) dl-support enbl-secure
 # ld.so uses those routines, plus some special stuff for being the program
 # interpreter and operating independent of libc.
 rtld-routines  := rtld $(dl-routines) dl-sysdep dl-minimal
-ld-map         = $(libc-map)
+ld-map         = $(..)libc.map
 distribute     = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
                  dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \
                  genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \
@@ -44,7 +44,6 @@ distribute    = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
 extra-libs      = libdl
 extra-libs-others = $(extra-libs)
 libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr
-libdl-map      := libdl.map
 
 before-compile = $(objpfx)trusted-dirs.h $(objpfx)rtldtbl.h
 
@@ -112,14 +111,10 @@ endif
 
 $(objpfx)ld.so: $(objpfx)librtld.os $(addprefix $(objpfx),$(rtld-ldscript)) \
                $(ld-map)
-       $(rtld-link) -Wl,-soname=$(rtld-installed-name)
-
-define rtld-link
-$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
-         -Wl,-rpath=$(default-rpath) $(LDFLAGS-rtld) \
-         $(filter-out $(rtld-ldscript) $($(@F:.so=)-map),$^) \
-         $(load-map-file:%=-Wl,--version-script=%)
-endef
+       $(LINK.o) -nostdlib -nostartfiles -shared -o $@         \
+               -Wl,-rpath=$(default-rpath) $(LDFLAGS-rtld)     \
+               $(filter-out $(rtld-ldscript) $(map-file),$^)   \
+               $(load-map-file) -Wl,-soname=$(rtld-installed-name)
 
 # The dl code in the static libc needs a default library path.
 CFLAGS-dl-support.c = -D'DEFAULT_RPATH="$(default-rpath)"'
index 793dc09c384872d0c6f5b01b1d07f3aee02a5d81..0b79d4a4597b1fef201b4a28be2da8e0fd510092 100644 (file)
@@ -50,6 +50,6 @@ object-suffixes-left = $(object-suffixes-$(lib))
 include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-$(lib)))
 
 # Add the version script to the dependencies of the shared library.
-$(objpfx)$(lib).so: $($(lib)-map)
+$(objpfx)$(lib).so: $(firstword $(wildcard $($(lib)-map) $(lib).map $(..)$(lib).map))
 
 endif
index 9959cee3fcc1d7bd2ab850128256f6acff5b8983..f1356bbfbd9af3c5f061070af22fed95285ed028 100644 (file)
@@ -30,7 +30,6 @@ subdir-dirs = nss_hesiod
 vpath %.c nss_hesiod
 
 libnss_hesiod-routines := hesiod hesiod-grp hesiod-pwd hesiod-service
-libnss_hesiod-map      := libnss_hesiod.map
 # Build only shared library
 libnss_hesiod-inhibit-o        = $(filter-out .os,$(object-suffixes))
 
index 778de6e76a7ab0feeb64dda890a632ed29528196..8d5ace82aac6f5779d490a642dfcc67ed8dd1b8f 100644 (file)
@@ -195,7 +195,8 @@ distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl gconv-modules          \
              ibm880.c ibm891.c ibm903.c ibm904.c ibm905.c ibm918.c         \
              ibm1004.c ibm1026.c ibm1047.c cp1250.c cp1251.c cp1252.c      \
              cp1253.c cp1254.c cp1255.c cp1256.c cp1257.c cp874.c cp874.h  \
-             cp737.c cp737.h cp775.c cp775.h iso-2022-jp.c iso-2022-kr.c
+             cp737.c cp737.h cp775.c cp775.h iso-2022-jp.c iso-2022-kr.c   \
+             gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -204,11 +205,11 @@ ifeq (yes,$(build-shared))
 # and it does not depend on the destination name to start with `lib'.
 define build-module
 $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS)  \
-         -B$(csu-objpfx) $(load-map-file:%=-Wl,--version-script=%) \
+         -B$(csu-objpfx) $(load-map-file) \
          $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
          -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
          -Wl,--whole-archive \
-         $(filter-out $($(@F:.so=)-map) $(+preinit) $(+postinit),$^) \
+         $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
          $(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
 endef
 
@@ -223,11 +224,13 @@ install-others    = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
 
 # If we have the localedata add-on available we can build the conversion
 # tables for numerous charsets.
+move-if-change = ./$(..)scripts/move-if-change
+
 define generate-8bit-table
 $(make-target-directory)
-rm -f $@.new
-$(SHELL) ./gen-8bit.sh $< > $@.new
-mv -f $@.new $@
+$(SHELL) ./gen-8bit.sh $< > $(@:stmp=T)
+$(move-if-change) $(@:stmp=T) $(@:stmp=h)
+touch $@
 endef
 
 sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
@@ -243,9 +246,9 @@ sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
 
 define generate-8bit-gap-table
 $(make-target-directory)
-rm -f $@.new
-PERL="$(PERL)" $(SHELL) ./gen-8bit-gap.sh $< > $@.new
-mv -f $@.new $@
+PERL="$(PERL)" $(SHELL) ./gen-8bit-gap.sh $< > $(@:stmp=T)
+$(move-if-change) $(@:stmp=T) $(@:stmp=h)
+touch $@
 endef
 
 perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h        \
@@ -271,184 +274,190 @@ ifneq ($(PERL),no)
 before-compile += $(addprefix $(objpfx),$(perl-generated-headers))
 endif
 
-
 # Rules to generate the headers.
-$(objpfx)iso8859-2.h: ../localedata/charmaps/ISO-8859-2 gen-8bit.sh
+$(sed-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
+       @:
+
+$(objpfx)iso8859-2.stmp: ../localedata/charmaps/ISO-8859-2 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)iso8859-3.h: ../localedata/charmaps/ISO-8859-3 gen-8bit.sh
+$(objpfx)iso8859-3.stmp: ../localedata/charmaps/ISO-8859-3 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)iso8859-4.h: ../localedata/charmaps/ISO-8859-4 gen-8bit.sh
+$(objpfx)iso8859-4.stmp: ../localedata/charmaps/ISO-8859-4 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)iso8859-6.h: ../localedata/charmaps/ISO-8859-6 gen-8bit.sh
+$(objpfx)iso8859-6.stmp: ../localedata/charmaps/ISO-8859-6 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)iso8859-9.h: ../localedata/charmaps/ISO-8859-9 gen-8bit.sh
+$(objpfx)iso8859-9.stmp: ../localedata/charmaps/ISO-8859-9 gen-8bit.sh
        $(generate-8bit-table)
 
-$(objpfx)koi-8.h: ../localedata/charmaps/KOI-8 gen-8bit.sh
+$(objpfx)koi-8.stmp: ../localedata/charmaps/KOI-8 gen-8bit.sh
        $(generate-8bit-table)
-
-$(objpfx)hp-roman8.h: ../localedata/charmaps/HP-ROMAN8 gen-8bit.sh
+$(objpfx)hp-roman8.stmp: ../localedata/charmaps/HP-ROMAN8 gen-8bit.sh
        $(generate-8bit-table)
 
-$(objpfx)ebcdic-at-de.h: ../localedata/charmaps/EBCDIC-AT-DE gen-8bit.sh
+$(objpfx)ebcdic-at-de.stmp: ../localedata/charmaps/EBCDIC-AT-DE gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A gen-8bit.sh
+$(objpfx)ebcdic-at-de-a.stmp: ../localedata/charmaps/EBCDIC-AT-DE-A gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR gen-8bit.sh
+$(objpfx)ebcdic-ca-fr.stmp: ../localedata/charmaps/EBCDIC-CA-FR gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-dk-no.h: ../localedata/charmaps/EBCDIC-DK-NO gen-8bit.sh
+$(objpfx)ebcdic-dk-no.stmp: ../localedata/charmaps/EBCDIC-DK-NO gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-dk-no-a.h: ../localedata/charmaps/EBCDIC-DK-NO-A gen-8bit.sh
+$(objpfx)ebcdic-dk-no-a.stmp: ../localedata/charmaps/EBCDIC-DK-NO-A gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-es.h: ../localedata/charmaps/EBCDIC-ES gen-8bit.sh
+$(objpfx)ebcdic-es.stmp: ../localedata/charmaps/EBCDIC-ES gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-es-a.h: ../localedata/charmaps/EBCDIC-ES-A gen-8bit.sh
+$(objpfx)ebcdic-es-a.stmp: ../localedata/charmaps/EBCDIC-ES-A gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-es-s.h: ../localedata/charmaps/EBCDIC-ES-S gen-8bit.sh
+$(objpfx)ebcdic-es-s.stmp: ../localedata/charmaps/EBCDIC-ES-S gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-fi-se.h: ../localedata/charmaps/EBCDIC-FI-SE gen-8bit.sh
+$(objpfx)ebcdic-fi-se.stmp: ../localedata/charmaps/EBCDIC-FI-SE gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-fi-se-a.h: ../localedata/charmaps/EBCDIC-FI-SE-A gen-8bit.sh
+$(objpfx)ebcdic-fi-se-a.stmp: ../localedata/charmaps/EBCDIC-FI-SE-A gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-fr.h: ../localedata/charmaps/EBCDIC-FR gen-8bit.sh
+$(objpfx)ebcdic-fr.stmp: ../localedata/charmaps/EBCDIC-FR gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-is-friss.h: ../localedata/charmaps/EBCDIC-IS-FRISS gen-8bit.sh
+$(objpfx)ebcdic-is-friss.stmp: ../localedata/charmaps/EBCDIC-IS-FRISS gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-it.h: ../localedata/charmaps/EBCDIC-IT gen-8bit.sh
+$(objpfx)ebcdic-it.stmp: ../localedata/charmaps/EBCDIC-IT gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-pt.h: ../localedata/charmaps/EBCDIC-PT gen-8bit.sh
+$(objpfx)ebcdic-pt.stmp: ../localedata/charmaps/EBCDIC-PT gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-uk.h: ../localedata/charmaps/EBCDIC-UK gen-8bit.sh
+$(objpfx)ebcdic-uk.stmp: ../localedata/charmaps/EBCDIC-UK gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ebcdic-us.h: ../localedata/charmaps/EBCDIC-US gen-8bit.sh
+$(objpfx)ebcdic-us.stmp: ../localedata/charmaps/EBCDIC-US gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm037.h: ../localedata/charmaps/IBM037 gen-8bit.sh
+
+$(objpfx)ibm037.stmp: ../localedata/charmaps/IBM037 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm038.h: ../localedata/charmaps/IBM038 gen-8bit.sh
+$(objpfx)ibm038.stmp: ../localedata/charmaps/IBM038 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm274.h: ../localedata/charmaps/IBM274 gen-8bit.sh
+$(objpfx)ibm274.stmp: ../localedata/charmaps/IBM274 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm275.h: ../localedata/charmaps/IBM275 gen-8bit.sh
+$(objpfx)ibm275.stmp: ../localedata/charmaps/IBM275 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm423.h: ../localedata/charmaps/IBM423 gen-8bit.sh
+$(objpfx)ibm423.stmp: ../localedata/charmaps/IBM423 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm500.h: ../localedata/charmaps/IBM500 gen-8bit.sh
+$(objpfx)ibm500.stmp: ../localedata/charmaps/IBM500 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm870.h: ../localedata/charmaps/IBM870 gen-8bit.sh
+$(objpfx)ibm870.stmp: ../localedata/charmaps/IBM870 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm871.h: ../localedata/charmaps/IBM871 gen-8bit.sh
+$(objpfx)ibm871.stmp: ../localedata/charmaps/IBM871 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm891.h: ../localedata/charmaps/IBM891 gen-8bit.sh
+$(objpfx)ibm891.stmp: ../localedata/charmaps/IBM891 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm903.h: ../localedata/charmaps/IBM903 gen-8bit.sh
+$(objpfx)ibm903.stmp: ../localedata/charmaps/IBM903 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm904.h: ../localedata/charmaps/IBM904 gen-8bit.sh
+$(objpfx)ibm904.stmp: ../localedata/charmaps/IBM904 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm905.h: ../localedata/charmaps/IBM905 gen-8bit.sh
+$(objpfx)ibm905.stmp: ../localedata/charmaps/IBM905 gen-8bit.sh
        $(generate-8bit-table)
-$(objpfx)ibm1047.h: ../localedata/charmaps/IBM1047 gen-8bit.sh
+$(objpfx)ibm1047.stmp: ../localedata/charmaps/IBM1047 gen-8bit.sh
        $(generate-8bit-table)
 
-
 ifneq ($(PERL),no)
-$(objpfx)iso8859-7jp.h: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap-1.sh
-       $(make-target-directory)
-       rm -f $@.new
-       PERL="$(PERL)" $(SHELL) ./gen-8bit-gap-1.sh $< >$@.new
-       mv -f $@.new $@
+$(perl-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
+       @:
 
-$(objpfx)iso8859-5.h: ../localedata/charmaps/ISO-8859-5 gen-8bit-gap.sh
+$(objpfx)iso8859-5.stmp: ../localedata/charmaps/ISO-8859-5 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)iso8859-7.h: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap.sh
+$(objpfx)iso8859-7.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)iso8859-8.h: ../localedata/charmaps/ISO-8859-8 gen-8bit-gap.sh
+$(objpfx)iso8859-7jp.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap-1.sh
+       $(make-target-directory)
+       PERL="$(PERL)" $(SHELL) ./gen-8bit-gap-1.sh $< >$(@:stmp=T)
+       $(move-if-change) $(@:stmp=T) $(@:stmp=h)
+       touch $@
+
+$(objpfx)iso8859-8.stmp: ../localedata/charmaps/ISO-8859-8 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)iso8859-10.h: ../localedata/charmaps/ISO-8859-10 gen-8bit-gap.sh
+$(objpfx)iso8859-10.stmp: ../localedata/charmaps/ISO-8859-10 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
 
-$(objpfx)koi8-r.h: ../localedata/charmaps/KOI8-R gen-8bit-gap.sh
+$(objpfx)koi8-r.stmp: ../localedata/charmaps/KOI8-R gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)latin-greek.h: ../localedata/charmaps/LATIN-GREEK gen-8bit-gap.sh
+$(objpfx)latin-greek.stmp: ../localedata/charmaps/LATIN-GREEK gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 gen-8bit-gap.sh
+$(objpfx)latin-greek-1.stmp: ../localedata/charmaps/LATIN-GREEK-1 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm256.h: ../localedata/charmaps/IBM256 gen-8bit-gap.sh
+
+$(objpfx)ibm256.stmp: ../localedata/charmaps/IBM256 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm273.h: ../localedata/charmaps/IBM273 gen-8bit-gap.sh
+$(objpfx)ibm273.stmp: ../localedata/charmaps/IBM273 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm277.h: ../localedata/charmaps/IBM277 gen-8bit-gap.sh
+$(objpfx)ibm277.stmp: ../localedata/charmaps/IBM277 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm278.h: ../localedata/charmaps/IBM278 gen-8bit-gap.sh
+$(objpfx)ibm278.stmp: ../localedata/charmaps/IBM278 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm280.h: ../localedata/charmaps/IBM280 gen-8bit-gap.sh
+$(objpfx)ibm280.stmp: ../localedata/charmaps/IBM280 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm281.h: ../localedata/charmaps/IBM281 gen-8bit-gap.sh
+$(objpfx)ibm281.stmp: ../localedata/charmaps/IBM281 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm284.h: ../localedata/charmaps/IBM284 gen-8bit-gap.sh
+$(objpfx)ibm284.stmp: ../localedata/charmaps/IBM284 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm285.h: ../localedata/charmaps/IBM285 gen-8bit-gap.sh
+$(objpfx)ibm285.stmp: ../localedata/charmaps/IBM285 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm290.h: ../localedata/charmaps/IBM290 gen-8bit-gap.sh
+$(objpfx)ibm290.stmp: ../localedata/charmaps/IBM290 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm297.h: ../localedata/charmaps/IBM297 gen-8bit-gap.sh
+$(objpfx)ibm297.stmp: ../localedata/charmaps/IBM297 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm420.h: ../localedata/charmaps/IBM420 gen-8bit-gap.sh
+$(objpfx)ibm420.stmp: ../localedata/charmaps/IBM420 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm424.h: ../localedata/charmaps/IBM424 gen-8bit-gap.sh
+$(objpfx)ibm424.stmp: ../localedata/charmaps/IBM424 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm437.h: ../localedata/charmaps/IBM437 gen-8bit-gap.sh
+$(objpfx)ibm437.stmp: ../localedata/charmaps/IBM437 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm850.h: ../localedata/charmaps/IBM850 gen-8bit-gap.sh
+$(objpfx)ibm850.stmp: ../localedata/charmaps/IBM850 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm851.h: ../localedata/charmaps/IBM851 gen-8bit-gap.sh
+$(objpfx)ibm851.stmp: ../localedata/charmaps/IBM851 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm852.h: ../localedata/charmaps/IBM852 gen-8bit-gap.sh
+$(objpfx)ibm852.stmp: ../localedata/charmaps/IBM852 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm855.h: ../localedata/charmaps/IBM855 gen-8bit-gap.sh
+$(objpfx)ibm855.stmp: ../localedata/charmaps/IBM855 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm857.h: ../localedata/charmaps/IBM857 gen-8bit-gap.sh
+$(objpfx)ibm857.stmp: ../localedata/charmaps/IBM857 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm860.h: ../localedata/charmaps/IBM860 gen-8bit-gap.sh
+$(objpfx)ibm860.stmp: ../localedata/charmaps/IBM860 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm861.h: ../localedata/charmaps/IBM861 gen-8bit-gap.sh
+$(objpfx)ibm861.stmp: ../localedata/charmaps/IBM861 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm862.h: ../localedata/charmaps/IBM862 gen-8bit-gap.sh
+$(objpfx)ibm862.stmp: ../localedata/charmaps/IBM862 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm863.h: ../localedata/charmaps/IBM863 gen-8bit-gap.sh
+$(objpfx)ibm863.stmp: ../localedata/charmaps/IBM863 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm864.h: ../localedata/charmaps/IBM864 gen-8bit-gap.sh
+$(objpfx)ibm864.stmp: ../localedata/charmaps/IBM864 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm865.h: ../localedata/charmaps/IBM865 gen-8bit-gap.sh
+$(objpfx)ibm865.stmp: ../localedata/charmaps/IBM865 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm868.h: ../localedata/charmaps/IBM868 gen-8bit-gap.sh
+$(objpfx)ibm868.stmp: ../localedata/charmaps/IBM868 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm869.h: ../localedata/charmaps/IBM869 gen-8bit-gap.sh
+$(objpfx)ibm869.stmp: ../localedata/charmaps/IBM869 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm875.h: ../localedata/charmaps/IBM875 gen-8bit-gap.sh
+$(objpfx)ibm875.stmp: ../localedata/charmaps/IBM875 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm880.h: ../localedata/charmaps/IBM880 gen-8bit-gap.sh
+$(objpfx)ibm880.stmp: ../localedata/charmaps/IBM880 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm918.h: ../localedata/charmaps/IBM918 gen-8bit-gap.sh
+$(objpfx)ibm918.stmp: ../localedata/charmaps/IBM918 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm1004.h: ../localedata/charmaps/IBM1004 gen-8bit-gap.sh
+$(objpfx)ibm1004.stmp: ../localedata/charmaps/IBM1004 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)ibm1026.h: ../localedata/charmaps/IBM1026 gen-8bit-gap.sh
+$(objpfx)ibm1026.stmp: ../localedata/charmaps/IBM1026 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1250.h: ../localedata/charmaps/CP1250 gen-8bit-gap.sh
+
+$(objpfx)cp1250.stmp: ../localedata/charmaps/CP1250 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1251.h: ../localedata/charmaps/CP1251 gen-8bit-gap.sh
+$(objpfx)cp1251.stmp: ../localedata/charmaps/CP1251 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1252.h: ../localedata/charmaps/CP1252 gen-8bit-gap.sh
+$(objpfx)cp1252.stmp: ../localedata/charmaps/CP1252 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1253.h: ../localedata/charmaps/CP1253 gen-8bit-gap.sh
+$(objpfx)cp1253.stmp: ../localedata/charmaps/CP1253 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1254.h: ../localedata/charmaps/CP1254 gen-8bit-gap.sh
+$(objpfx)cp1254.stmp: ../localedata/charmaps/CP1254 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1255.h: ../localedata/charmaps/CP1255 gen-8bit-gap.sh
+$(objpfx)cp1255.stmp: ../localedata/charmaps/CP1255 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1256.h: ../localedata/charmaps/CP1256 gen-8bit-gap.sh
+$(objpfx)cp1256.stmp: ../localedata/charmaps/CP1256 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
-$(objpfx)cp1257.h: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
+$(objpfx)cp1257.stmp: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
        $(generate-8bit-gap-table)
 endif
 
index d75cb736314135af51a91d5bd5cae346e67d990d..da92138111b0ab66887a8ba8c39a2763ed90489d 100644 (file)
@@ -34,7 +34,6 @@ extra-libs-others := $(extra-libs)
 libpthread-routines := attr cancel condvar join manager mutex ptfork \
                       ptlongjmp pthread signals specific errno lockfile \
                       semaphore spinlock wrapsyscall rwlock
-libpthread-map := libpthread.map
 
 include ../Rules
 
index b93298310b3139d58f201b6923bc5e486b34dac9..84005116c8a066f24791174292ae73e891f62f05 100644 (file)
@@ -46,7 +46,6 @@ extra-libs    = libBrokenLocale
 extra-libs-others = $(extra-libs)
 
 libBrokenLocale-routines = broken_cur_max
-libBrokenLocale-map = libBrokenLocale.map
 
 subdir-dirs    = programs
 vpath %.c programs
index 96c75f7b4a3e75c3d405aac9ac03cc457155ed96..40cee55f80c657da29f1a4677e0ef629bacba303 100644 (file)
@@ -48,7 +48,6 @@ extra-libs      := libutil
 extra-libs-others := $(extra-libs)
 
 libutil-routines:= login login_tty logout logwtmp openpty forkpty
-libutil-map    := libutil.map
 
 include ../Rules
 
index d70b3d8de247f8444344250dc3a441d7707ff78e..b691c36f27413690cf0de7b0074c79fd36c05a4d 100644 (file)
@@ -1,7 +1,8 @@
 With the introduction of version 2 of the GNU C Library the format of
-the UTMP and WTMP files changed for some configurations (see Q&A 10 of
-the FAQ).  This version of the GNU C Library contains a solution for
-the problems this may cause, by providing an UTMP daemon `utmpd'.
+the UTMP and WTMP files changed for some configurations (see Q&A `Why
+does getlogin() always return NULL on my Linux box?' of the FAQ).
+This version of the GNU C Library contains a solution for the problems
+this may cause, by providing an UTMP daemon `utmpd'.
 
 Do I need it?
 =============
index 6b0b2bf6b489ced2f5c4cea51aaafd493bcadda7..103937e58046001fc6335f9112918b3a0c92948e 100644 (file)
@@ -36,8 +36,6 @@ aux           := fpu_control setfpucw
 extra-libs     := libm
 extra-libs-others = $(extra-libs)
 
-libm-map       := libm.map
-
 libm-support = k_standard s_lib_version s_matherr s_signgam            \
               fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg          \
               ftestexcept fegetround fesetround fegetenv feholdexcpt   \
index e948fb0491951e58c20dfc08bc7296399f197262..28b90df9a07fa316385a68a426923a78554bc0e5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# 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
@@ -32,7 +32,6 @@ extra-libs-others := $(extra-libs)
 
 md5-routines := crypt-entry md5-crypt md5
 libcrypt-routines := $(md5-routines)
-libcrypt-map := libcrypt.map
 
 onlymd5-routines := onlymd5-entry md5-crypt md5
 distribute += onlymd5-entry.c
index b31aad4401db0302ed47e5a6a0aa2e6c6c895ba1..f91121bc1127bf305012034240ee5eecf0b03d48 100644 (file)
@@ -57,15 +57,12 @@ libnsl-map  = libnsl.map
 
 libnss_compat-routines := $(addprefix compat-,grp pwd spwd) nisplus-parser
 libnss_compat-inhibit-o        = $(filter-out .os,$(object-suffixes))
-libnss_compat-map      := libnss_compat.map
 
 libnss_nis-routines    := $(addprefix nis-,$(databases))
 libnss_nis-inhibit-o   = $(filter-out .os,$(object-suffixes))
-libnss_nis-map         := libnss_nis.map
 
 libnss_nisplus-routines        := $(addprefix nisplus-,$(databases)) nisplus-parser
 libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes))
-libnss_nisplus-map     := libnss_nisplus.map
 
 include ../Rules
 
index cf953f10199429183f2d4b9fae255448569c213a..69a99c6a751721021b541be87ba7d400e4b5d979 100644 (file)
@@ -54,18 +54,15 @@ vpath %.c $(subdir-dirs)
 
 
 libnss_files-routines  := $(addprefix files-,$(filter-out key, $(databases)))
-libnss_files-map       := libnss_files.map
 distribute             += files-XXX.c files-parse.c
 
 libnss_db-routines     := $(addprefix db-,$(filter-out hosts network key,\
                                                        $(databases)))
-libnss_db-map          := libnss_db.map
 generated              += $(filter-out db-alias.c db-netgrp.c, \
                                        $(addsuffix .c,$(libnss_db-routines)))
 distribute             += db-XXX.c
 
 libnss_ldap-routines   := $(addprefix ldap-,proto) util ldap-nss
-libnss_ldap-map                := libnss_ldap.map
 
 
 # Build static module if requested
index 81f93a1577d8afd815c73a2ca45c7903e52c336f..82af1666a2e921c883e0d652dd7a23f9a2ba0062 100644 (file)
@@ -205,9 +205,6 @@ main (int argc, char *argv[])
     {
       struct test_case_struct ts;
 
-      printf ("Test %d (~root): ", ++tests);
-      fflush (stdout);
-
       ts.retval = 0;
       ts.env = NULL;
       ts.words = "~root";
@@ -217,12 +214,7 @@ main (int argc, char *argv[])
       ts.ifs = IFS;
 
       if (testit (&ts))
-       {
-         printf ("FAILED\n");
-         ++fail;
-       }
-      else
-       printf ("OK\n");
+       ++fail;
     }
 
   puts ("tests completed, now cleaning up");
index 938cde75dd951e24f97485d2a38020663b6c19d7..fe5a0f16c1e320632b164eb2d4a88015eb4489fd 100644 (file)
@@ -36,13 +36,11 @@ extra-libs-others = $(extra-libs)
 libresolv-routines := gethnamaddr res_comp res_debug   \
                      res_data res_mkquery res_query res_send           \
                      inet_net_ntop inet_net_pton inet_neta base64
-libresolv-map := libresolv.map
 
 subdir-dirs = nss_dns
 vpath %.c nss_dns
 
 libnss_dns-routines    := dns-host dns-network
-libnss_dns-map         := libnss_dns.map
 ifneq ($(build-static-nss),yes)
 libnss_dns-inhibit-o   = $(filter-out .os,$(object-suffixes))
 endif
index bc8f9234bf2f9b80936757d574e62e4c3bca00e3..69d76151edd1d5ba93865baff050d853ad41627a 100644 (file)
@@ -28,8 +28,6 @@ librt-routines := aio_cancel aio_error aio_fsync aio_misc aio_read    \
                  aio_write64 lio_listio lio_listio64 aio_sigqueue      \
                  aio_notify
 
-librt-map := librt.map
-
 # Make sure that everything is distributed independent of configuration.
 distribute := aio_misc.h $(librt-routines:=.c) $(librt-map)
 
index a6101cfc6b1cae2054045a783c8eda5004ae5fc9..3697e036c64a9746a9c94ac63ff6163f55827400 100644 (file)
@@ -134,15 +134,14 @@ $(inst_sysconfdir)/rpc: etc.rpc $(+force)
 # Generate the rpcsvc headers with rpcgen.
 # We use a stamp file to avoid unnessary recompilation each time rpcgen is
 # relinked.
+move-if-change = ./$(..)scripts/move-if-change
 $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
        @:
 $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        $(make-target-directory)
        -@rm -f ${@:stmp=T} $@
        $(rpcgen-cmd) -h $< -o ${@:stmp=T}
-       if test -r ${@:stmp=h} && cmp -s ${@:stmp=h} ${@:stmp=T}; \
-       then rm -f ${@:stmp=T}; \
-       else mv -f ${@:stmp=T} ${@:stmp=h}; fi
+       $(move-if-change) $(@:stmp=T) $(@:stmp=h)
        touch $@
 
 # Generate the rpcsvc XDR functions with rpcgen.
@@ -151,9 +150,7 @@ $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp
 $(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
        -@rm -f ${@:stmp=T} $@
        $(rpcgen-cmd) -c $< -o ${@:stmp=T}
-       if test -r ${@:stmp=c} && cmp -s ${@:stmp=c} ${@:stmp=T}; \
-       then rm -f ${@:stmp=T}; \
-       else mv -f ${@:stmp=T} ${@:stmp=c}; fi
+       $(move-if-change) $(@:stmp=T) $(@:stmp=c)
        touch $@
 
 # The generated source files depend on the corresponding generated headers.
index 69bd992832ad38cef529fae8c6bcb262de1deda4..baae4c59b28b3a9b12a1017dfb207af211d3403a 100644 (file)
@@ -61,6 +61,8 @@ __libc_lock_define_initialized (static, envlock)
 # define setenv __setenv
 # define unsetenv __unsetenv
 # define clearenv __clearenv
+# define tfind __tfind
+# define tsearch __tsearch
 #endif
 
 /* In the GNU C library implementation we try to be more clever and
@@ -75,8 +77,20 @@ __libc_lock_define_initialized (static, envlock)
    values.  */
 static void *known_values;
 
-# define KNOWN_VALUE(Str) tfind (Str, &known_values, (__compar_fn_t) strcmp)
-# define STORE_VALUE(Str) tsearch (Str, &known_values, (__compar_fn_t) strcmp)
+# define KNOWN_VALUE(Str) \
+  ({                                                                         \
+    void **value = tfind (Str, &known_values, (__compar_fn_t) strcmp);       \
+    if (value != NULL)                                                       \
+      value = *(const char **) value;                                        \
+    value;                                                                   \
+  })
+# define STORE_VALUE(Str) \
+  ({                                                                         \
+    void **value = tsearch (Str, &known_values, (__compar_fn_t) strcmp);      \
+    if (value != NULL)                                                       \
+      value = *(const char **) value;                                        \
+    value;                                                                   \
+  })
 
 #else
 # undef USE_TSEARCH
@@ -240,7 +254,7 @@ unsetenv (name)
        char **dp = ep;
 
        /* Store the value so that we can reuse it later.  */
-       STORE_VALUE (ep);
+       STORE_VALUE (*ep);
 
        do
          dp[0] = dp[1];
index 9b07535816f2d1b4698762462de60c9468511472..5517ba8803e88ef9c92364cf4b10bd807ff2f841 100644 (file)
@@ -80,6 +80,7 @@ enum __socket_type
 #define        PF_ASH          18      /* Ash.  */
 #define        PF_ECONET       19      /* Acorn Econet.  */
 #define        PF_ATMSVC       20      /* ATM SVCs.  */
+#define        PF_SNA          22      /* Linux SNA Project */
 #define        PF_MAX          32      /* For now..  */
 
 /* Address families.  */
@@ -107,6 +108,7 @@ enum __socket_type
 #define        AF_ASH          PF_ASH
 #define        AF_ECONET       PF_ECONET
 #define        AF_ATMSVC       PF_ATMSVC
+#define        AF_SNA          PF_SNA
 #define        AF_MAX          PF_MAX
 
 /* Socket level values.  Others are defined in the appropriate headers.
index c9becf323884a5b10c1c7d3af678b44cc9f2d6c1..9fab857ecc71a56144fbd4fe55baa95325803ff6 100644 (file)
@@ -90,7 +90,6 @@ __tzfile_read (const char *file)
   struct tzhead tzhead;
   size_t chars;
   register size_t i;
-  struct ttinfo *info;
 
   __use_tzfile = 0;
 
@@ -415,13 +414,14 @@ find_transition (time_t timer)
 \f
 int
 __tzfile_compute (time_t timer, int use_localtime,
-                 long int *leap_correct, int *leap_hit)
+                 long int *leap_correct, int *leap_hit,
+                 int *isdst, long int *offset)
 {
+  struct ttinfo *info = find_transition (timer);
   register size_t i;
 
   if (use_localtime)
     {
-      struct ttinfo *info = find_transition (timer);
       __daylight = rule_stdoff != rule_dstoff;
       __timezone = -rule_stdoff;
       __tzname[1] = NULL;
@@ -434,6 +434,9 @@ __tzfile_compute (time_t timer, int use_localtime,
        __tzname[1] = __tzname[0];
     }
 
+  *isdst = info->isdst;
+  *offset = info->offset;
+
   *leap_correct = 0L;
   *leap_hit = 0;
 
index e42be39db84049c7c033d50479b243ce4ba471af..251967e5c6d4f41215608d01b49ba27a72b7d52f 100644 (file)
@@ -37,7 +37,8 @@ extern struct tm _tmbuf;
 extern int __use_tzfile;
 extern void __tzfile_read __P ((const char *file));
 extern int __tzfile_compute __P ((time_t timer, int use_localtime,
-                                 long int *leap_correct, int *leap_hit));
+                                 long int *leap_correct, int *leap_hit,
+                                 int *isdst, long int *offset));
 extern void __tzfile_default __P ((const char *std, const char *dst,
                                   long int stdoff, long int dstoff));
 extern char *__tzstring __P ((const char *string));
@@ -594,6 +595,8 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
 {
   long int leap_correction;
   int leap_extra_secs;
+  int isdst;
+  long int offset;
 
   if (timer == NULL)
     {
@@ -612,7 +615,8 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
   if (__use_tzfile)
     {
       if (! __tzfile_compute (*timer, use_localtime,
-                             &leap_correction, &leap_extra_secs))
+                             &leap_correction, &leap_extra_secs,
+                             &isdst, &offset))
        tp = NULL;
     }
   else
@@ -621,16 +625,18 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
        tp = NULL;
       leap_correction = 0L;
       leap_extra_secs = 0;
+
+      isdst = (*timer >= tz_rules[0].change && *timer < tz_rules[1].change);
+      offset = tz_rules[isdst].offset;
     }
 
   if (tp)
     {
       if (use_localtime)
        {
-         tp->tm_isdst = (*timer >= tz_rules[0].change
-                         && *timer < tz_rules[1].change);
-         tp->tm_zone = __tzname[tp->tm_isdst];
-         tp->tm_gmtoff = tz_rules[tp->tm_isdst].offset;
+         tp->tm_isdst = isdst;
+         tp->tm_zone = __tzname[isdst];
+         tp->tm_gmtoff = offset;
        }
       else
        {
index 1f4065513d353330171842d915847416fda29044..f2699b6107e27afcc690fb05af67f071b3f23800 100644 (file)
@@ -96,8 +96,7 @@ getfct (const char *to, const char *from)
     const char *cp = str;                                                    \
     char *result = NULL;                                                     \
                                                                              \
-    while (strchr ("@.+,", *cp) == NULL)                                     \
-      ++cp;                                                                  \
+    cp += strcspn (cp, "@.+,");                                                      \
     if (*cp == '.')                                                          \
       {                                                                              \
        const char *endp = ++cp;                                              \