mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 09:43:32 +08:00
Update.
* 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>
This commit is contained in:
parent
b856f875e8
commit
5e087c7152
17
ChangeLog
17
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>
|
2000-06-30 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sunrpc/rpc_cout.c (inline_struct): Add missing braces in
|
* sunrpc/rpc_cout.c (inline_struct): Add missing braces in
|
||||||
|
@ -1 +1,2 @@
|
|||||||
iconvdata
|
iconvdata
|
||||||
|
localedata
|
||||||
|
@ -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.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# 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
|
tests := test-assert test-assert-perr
|
||||||
|
|
||||||
include ../Rules
|
include ../Rules
|
||||||
|
|
||||||
|
test-assert-ENV = LANGUAGE=C
|
||||||
|
test-assert-perr-ENV = LANGUAGE=C
|
||||||
|
@ -360,7 +360,9 @@ extern __inline__ int mknod (__const char *__path, __mode_t __mode,
|
|||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef __USE_LARGEFILE64
|
# if defined __USE_LARGEFILE64 \
|
||||||
|
&& (! defined __USE_FILE_OFFSET64 \
|
||||||
|
|| (defined __REDIRECT && defined __OPTIMIZE__))
|
||||||
extern __inline__ int stat64 (__const char *__path,
|
extern __inline__ int stat64 (__const char *__path,
|
||||||
struct stat64 *__statbuf) __THROW
|
struct stat64 *__statbuf) __THROW
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
2000-06-30 Ulrich Drepper <drepper@redhat.com>
|
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.
|
* gen-locale.sh: Print that it might take a while to finish.
|
||||||
|
|
||||||
2000-06-30 Jakub Jelinek <jakub@redhat.com>
|
2000-06-30 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
1
localedata/Depend
Normal file
1
localedata/Depend
Normal file
@ -0,0 +1 @@
|
|||||||
|
locale
|
@ -117,46 +117,49 @@ CFLAGS-tst-trans.c = -Wno-format
|
|||||||
|
|
||||||
ifeq (no,$(cross-compiling))
|
ifeq (no,$(cross-compiling))
|
||||||
ifeq (yes,$(build-shared))
|
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 \
|
.PHONY: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
|
||||||
do-tst-mbswcs do-tst-ctype
|
do-tst-mbswcs do-tst-ctype
|
||||||
tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
|
tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
|
||||||
do-tst-mbswcs do-tst-ctype
|
do-tst-mbswcs do-tst-ctype
|
||||||
do-collate-test: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
|
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)
|
$(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
|
$(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)
|
$(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)
|
$(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)
|
$(SHELL) -e $< $(common-objpfx)
|
||||||
do-tst-mbswcs: tst-mbswcs.sh $(objpfx)tst-mbswcs1 $(objpfx)tst-mbswcs2 \
|
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)
|
$(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)
|
$(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
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Generate test locale files
|
# Generate test locale files.
|
||||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||||
# This file is part of the GNU C Library.
|
# This file is part of the GNU C Library.
|
||||||
#
|
#
|
||||||
@ -18,7 +18,8 @@
|
|||||||
# not, write to the Free Software Foundation, Inc.,
|
# not, write to the Free Software Foundation, Inc.,
|
||||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
common_objpfx=$1; shift
|
common_objpfx="$1"; shift
|
||||||
|
locfile="$1"; shift
|
||||||
|
|
||||||
generate_locale ()
|
generate_locale ()
|
||||||
{
|
{
|
||||||
@ -37,9 +38,8 @@ generate_locale ()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Generating locale data: this might take a while..."
|
locale=`echo $locfile|sed 's|.*/\([^/.]*\)[.].*/LC_CTYPE|\1|'`
|
||||||
generate_locale UTF8 de_DE de_DE.UTF-8
|
charmap=`echo $locfile|sed 's|.*/[^/.]*[.]\(.*\)/LC_CTYPE|\1|'`
|
||||||
generate_locale ISO-8859-1 de_DE de_DE.ISO-8859-1
|
|
||||||
generate_locale ISO-8859-1 en_US en_US.ISO-8859-1
|
echo "Generating locale $locale.$charmap: this might take a while..."
|
||||||
generate_locale EUC-JP ja_JP ja_JP.EUC-JP
|
generate_locale $charmap $locale $locale.$charmap
|
||||||
generate_locale ANSI_X3.4-1968 en_US en_US.ANSI_X3.4-1968
|
|
||||||
|
@ -500,7 +500,12 @@ elf_machine_rela (struct link_map *map,
|
|||||||
elf_machine_fixup_plt (map, NULL, reloc, reloc_addr, sym_value);
|
elf_machine_fixup_plt (map, NULL, reloc, reloc_addr, sym_value);
|
||||||
else if (r_type == R_ALPHA_REFQUAD)
|
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
|
#ifndef RTLD_BOOTSTRAP
|
||||||
if (map == &_dl_rtld_map)
|
if (map == &_dl_rtld_map)
|
||||||
{
|
{
|
||||||
@ -516,7 +521,8 @@ elf_machine_rela (struct link_map *map,
|
|||||||
sym_value -= reloc->r_addend;
|
sym_value -= reloc->r_addend;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
*reloc_addr = sym_value;
|
/* Store value without causing unaligned trap. */
|
||||||
|
memcpy (reloc_addr_1, &sym_value, 8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_dl_reloc_bad_type (map, r_type, 0);
|
_dl_reloc_bad_type (map, r_type, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user