]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 1 Jul 2000 05:19:18 +0000 (05:19 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 1 Jul 2000 05:19:18 +0000 (05:19 +0000)
* assert/Depend: Add localedata.
* assert/Makefile (test-assert-ENV): New.  Define LANGUAGE=C.
(test-assert-perr-ENV): New.  Define LANGUAGE=C.

* sysdeps/alpha/dl-machine.h (elf_machine_rela) [r_type ==
R_ALPHA_REFQUAD]: Use memcpy to load and store value from
relocation address to prevent unaligned trap.
Suggested by Richard Henderson <rth@cygnus.com>.

2000-06-30  Jakub Jelinek  <jakub@redhat.com>

* io/sys/stat.h (stat64, lstat64, fstat64): Don't define inlines
if redirecting and either redirection is done using defines or
not optimizing.

2000-06-30  Ulrich Drepper  <drepper@redhat.com>

ChangeLog
assert/Depend
assert/Makefile
io/sys/stat.h
localedata/ChangeLog
localedata/Depend [new file with mode: 0644]
localedata/Makefile
localedata/gen-locale.sh
sysdeps/alpha/dl-machine.h

index 70e4454550f285d53be3b15557d769b3d5856846..95009e32fe2aaada2cef647649f5ad0869badf4b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2000-06-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * assert/Depend: Add localedata.
+       * assert/Makefile (test-assert-ENV): New.  Define LANGUAGE=C.
+       (test-assert-perr-ENV): New.  Define LANGUAGE=C.
+
+       * sysdeps/alpha/dl-machine.h (elf_machine_rela) [r_type ==
+       R_ALPHA_REFQUAD]: Use memcpy to load and store value from
+       relocation address to prevent unaligned trap.
+       Suggested by Richard Henderson <rth@cygnus.com>.
+
+2000-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/sys/stat.h (stat64, lstat64, fstat64): Don't define inlines
+       if redirecting and either redirection is done using defines or
+       not optimizing.
+
 2000-06-30  Ulrich Drepper  <drepper@redhat.com>
 
        * sunrpc/rpc_cout.c (inline_struct): Add missing braces in
index e35d3258a335e3dcbda9b14489f3b2cb960d8160..981111e299ef2e15a14bc2af56db864ff1b053a4 100644 (file)
@@ -1 +1,2 @@
 iconvdata
+localedata
index 63fb9253ffb9249141cf14c4f4e8663b178557ce..c18d673b9477cc10dda22f4be5d2caefc9c6a37d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1994, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1994, 1997, 1998, 2000 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
@@ -26,3 +26,6 @@ routines := assert assert-perr
 tests := test-assert test-assert-perr
 
 include ../Rules
+
+test-assert-ENV = LANGUAGE=C
+test-assert-perr-ENV = LANGUAGE=C
index d8d862019839dff550d95ddd074b5300a8ab3ae4..7a8c8b3e1e91566876bba492487b1ccc49888898 100644 (file)
@@ -360,7 +360,9 @@ extern __inline__ int mknod (__const char *__path, __mode_t __mode,
 }
 # endif
 
-# ifdef __USE_LARGEFILE64
+# if defined __USE_LARGEFILE64 \
+  && (! defined __USE_FILE_OFFSET64 \
+      || (defined __REDIRECT && defined __OPTIMIZE__))
 extern __inline__ int stat64 (__const char *__path,
                              struct stat64 *__statbuf) __THROW
 {
index 217b709c305d6b094ea70a568594c73799323075..035f88b13b2679e7f979dcfae0b2e1fd9a8f9a28 100644 (file)
@@ -1,5 +1,11 @@
 2000-06-30  Ulrich Drepper  <drepper@redhat.com>
 
+       * Depend: New file.
+
+       * Makefile: Rewrite rules to generate locale data.
+       * gen-locale.sh: Generate only one locale which is described in a
+       command line parameter.
+
        * gen-locale.sh: Print that it might take a while to finish.
 
 2000-06-30  Jakub Jelinek  <jakub@redhat.com>
diff --git a/localedata/Depend b/localedata/Depend
new file mode 100644 (file)
index 0000000..193b759
--- /dev/null
@@ -0,0 +1 @@
+locale
index af70f7cca488234d8cffa80790b1ac764c00dc7c..428ae27381530233ce28d824a76dbbe6b36b1def 100644 (file)
@@ -117,46 +117,49 @@ CFLAGS-tst-trans.c = -Wno-format
 
 ifeq (no,$(cross-compiling))
 ifeq (yes,$(build-shared))
+# We have to generate locales
+LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
+          en_US.ISO-8859-1 ja_JP.EUC-JP
+LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
+CHARMAPS := $(shell echo "$(LOCALES)"|sed 's/[^ .]*[.]\([^ ]*\)/\1/g')
+CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
+
+# Dependency for the locale files.  We actually make it depend only on
+# one of the files.
+$(addprefix $(objpfx),$(CTYPE_FILES)): %: \
+  gen-locale.sh Makefile $(common-objpfx)locale/localedef \
+  $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS))
+       @$(SHELL) -e gen-locale.sh $(common-objpfx) $@
+
+$(addsuffix .out,$(addprefix $(objpfx),$(locale_test_suite))): %: \
+  $(addprefix $(objpfx),$(CTYPE_FILES))
+
 .PHONY: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
        do-tst-mbswcs do-tst-ctype
 tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
        do-tst-mbswcs do-tst-ctype
 do-collate-test: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
-                $(test-input-data)
+                $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx) $(test-input)
-do-tst-fmon: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data  do-collate-test
+do-tst-fmon: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data do-collate-test \
+            $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx) tst-fmon.data
-do-tst-locale: tst-locale.sh $(ld-test-srcs)
+do-tst-locale: tst-locale.sh $(ld-test-srcs) \
+              $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx)
-do-tst-rpmatch: tst-rpmatch.sh $(objpfx)tst-rpmatch do-tst-fmon
+do-tst-rpmatch: tst-rpmatch.sh $(objpfx)tst-rpmatch do-tst-fmon \
+               $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx)
-do-tst-trans: tst-trans.sh $(objpfx)tst-trans
+do-tst-trans: tst-trans.sh $(objpfx)tst-trans \
+             $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx)
 do-tst-mbswcs: tst-mbswcs.sh $(objpfx)tst-mbswcs1 $(objpfx)tst-mbswcs2 \
-              $(objpfx)tst-mbswcs3 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5
+              $(objpfx)tst-mbswcs3 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 \
+              $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx)
-do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test
+do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test \
+             $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) -e $< $(common-objpfx)
-
-# Theses locales are generated by gen-locale.sh
-LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
-          en_US.ISO-8859-1 ja_JP.EUC-JP
-
-LOCALE_FILES := LC_ADDRESS LC_IDENTIFICATION LC_MONETARY LC_PAPER       \
-               LC_COLLATE LC_MEASUREMENT LC_NAME LC_TELEPHONE LC_CTYPE \
-               LC_NUMERIC LC_TIME LC_MESSAGES/SYS_LC_MESSAGES
-
-ALL_LC_FILES := $(foreach locale, $(LOCALES), \
-                         $(addprefix $(locale)/, $(LOCALE_FILES)))
-
-ALL_OBJ_LC_FILES := $(addprefix $(objpfx), $(ALL_LC_FILES))
-
-$(ALL_OBJ_LC_FILES): gen-locale.sh Makefile charmaps/* locales/* \
-                    $(common-objpfx)locale/localedef
-       $(SHELL) -e gen-locale.sh $(common-objpfx)
-
-$(addsuffix .out,$(addprefix $(objpfx),$(locale_test_suite))): %: $(ALL_OBJ_LC_FILES)
-
 endif
 endif
 
index ca110741c0cff0021f29509ca20f9f2fe234fdf8..b68e364a1e46b85265c04959092355fc3a8dc515 100644 (file)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Generate test locale files
+# Generate test locale files.
 # Copyright (C) 2000 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
@@ -18,7 +18,8 @@
 # not, write to the Free Software Foundation, Inc.,
 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-common_objpfx=$1; shift
+common_objpfx="$1"; shift
+locfile="$1"; shift
 
 generate_locale ()
 {
@@ -37,9 +38,8 @@ generate_locale ()
     fi
 }
 
-echo "Generating locale data: this might take a while..."
-generate_locale UTF8 de_DE de_DE.UTF-8
-generate_locale ISO-8859-1 de_DE de_DE.ISO-8859-1
-generate_locale ISO-8859-1 en_US en_US.ISO-8859-1
-generate_locale EUC-JP ja_JP ja_JP.EUC-JP
-generate_locale ANSI_X3.4-1968 en_US en_US.ANSI_X3.4-1968
+locale=`echo $locfile|sed 's|.*/\([^/.]*\)[.].*/LC_CTYPE|\1|'`
+charmap=`echo $locfile|sed 's|.*/[^/.]*[.]\(.*\)/LC_CTYPE|\1|'`
+
+echo "Generating locale $locale.$charmap: this might take a while..."
+generate_locale $charmap $locale $locale.$charmap
index e20493b33fccca90ff0b2e991cb49edf57312fe4..a7f13e0192a5bfc558e844d493057c50b7bfd7ba 100644 (file)
@@ -500,7 +500,12 @@ elf_machine_rela (struct link_map *map,
        elf_machine_fixup_plt (map, NULL, reloc, reloc_addr, sym_value);
       else if (r_type == R_ALPHA_REFQUAD)
        {
-         sym_value += *reloc_addr;
+         void *reloc_addr_1 = reloc_addr;
+         Elf64_Addr reloc_addr_val;
+
+         /* Load value without causing unaligned trap.  */
+         memcpy (&reloc_addr_val, reloc_addr_1, 8);
+         sym_value += reloc_addr_val;
 #ifndef RTLD_BOOTSTRAP
          if (map == &_dl_rtld_map)
            {
@@ -516,7 +521,8 @@ elf_machine_rela (struct link_map *map,
              sym_value -= reloc->r_addend;
            }
 #endif
-         *reloc_addr = sym_value;
+         /* Store value without causing unaligned trap.  */
+         memcpy (reloc_addr_1, &sym_value, 8);
        }
       else
        _dl_reloc_bad_type (map, r_type, 0);