aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makerules35
-rw-r--r--Rules10
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure113
-rw-r--r--configure.in14
-rw-r--r--iconvdata/iso8859-1.c3
-rw-r--r--intl/textdomain.c6
-rw-r--r--libio/fileops.c27
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/locales/ru_RU2
10 files changed, 146 insertions, 70 deletions
diff --git a/Makerules b/Makerules
index ae9114b0f1..780c4b90d2 100644
--- a/Makerules
+++ b/Makerules
@@ -172,6 +172,8 @@ endef
$(common-objpfx)dummy.d:
echo '# .s files cannot contain includes, so they need no deps.' > $@
+object-suffixes-for-rules = $(object-suffixes) .oS
+
# 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
@@ -180,21 +182,21 @@ $(common-objpfx)dummy.d:
define o-iterator-doit
$(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
endef
-object-suffixes-left := $(object-suffixes)
+object-suffixes-left := $(object-suffixes-for-rules)
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)
+object-suffixes-left := $(object-suffixes-for-rules)
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)
+object-suffixes-left := $(object-suffixes-for-rules)
include $(o-iterator)
$(objpfx)%.d: %.c $(before-compile); $(+make-deps)
@@ -206,21 +208,21 @@ ifdef objpfx
define o-iterator-doit
$(objpfx)%$o: $(objpfx)%.S $(before-compile); $$(compile-command.S)
endef
-object-suffixes-left := $(object-suffixes)
+object-suffixes-left := $(object-suffixes-for-rules)
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)
+object-suffixes-left := $(object-suffixes-for-rules)
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)
+object-suffixes-left := $(object-suffixes-for-rules)
include $(o-iterator)
$(objpfx)%.d: $(objpfx)%.c $(before-compile); $(+make-deps)
endif
@@ -482,6 +484,11 @@ verbose :=
endif # not -s
ARFLAGS := r$(verbose)
+ifeq ($(have-ar-S),yes)
+CREATE_ARFLAGS := Scru$(verbose)
+else
+CREATE_ARFLAGS := cru$(verbose)
+endif
# This makes all the object files in the parent library archive.
@@ -538,7 +545,7 @@ include $(o-iterator)
define do-ar
topdir=`cd $(..).; pwd`; \
$(patsubst %/,cd %;,$(objpfx)) \
-$(SHELL) $$topdir/autolock.sh ${O%-lib}.lck $(AR) cru$(verbose) ${O%-lib} \
+$(SHELL) $$topdir/autolock.sh ${O%-lib}.lck $(AR) $(CREATE_ARFLAGS) ${O%-lib} \
$(patsubst $(objpfx)%,%,$^)
rm -f $@
touch $@
@@ -574,7 +581,7 @@ objects objs: $(foreach o,$(object-suffixes),$(o-objects)) \
# Canned sequence for building an extra library archive.
define build-extra-lib
$(patsubst %/,cd %;,$(objpfx)) \
-$(AR) cru$(verbose) $(@:$(objpfx)%=%) \
+$(AR) $(CREATE_ARFLAGS) $(@:$(objpfx)%=%) \
$(patsubst $(objpfx)%,%,$^)
$(RANLIB) $@
endef
@@ -595,6 +602,9 @@ endef
ifndef libc-name
libc-name := c
endif
+ifndef libc_nonshared-name
+libc_nonshared-name := $(libc-name)_nonshared
+endif
define do-install
$(make-target-directory)
@@ -616,6 +626,10 @@ installed-libcs := $(foreach o,$(object-suffixes),\
$(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_nonshared-name))
+endif
install: $(installed-libcs)
$(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib
$(make-target-directory)
@@ -693,7 +707,7 @@ ifndef subdir
install: $(inst_libdir)/libc.so
$(inst_libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \
$(elfobjdir)/$(rtld-installed-name) \
- $(inst_libdir)/lib$(libc-name).a
+ $(inst_libdir)/lib$(libc_nonshared-name).a
(echo '/* GNU ld script';\
echo ' Use the shared library, but some functions are only in';\
echo ' the static library, so try that secondarily.'; \
@@ -702,7 +716,7 @@ $(inst_libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \
echo ' dependencies of $(<F) to find $(rtld-installed-name). */';\
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
'$(slibdir)/$(rtld-installed-name)' \
- '$(libdir)/lib$(libc-name).a )' \
+ '$(libdir)/lib$(libc_nonshared-name).a )' \
) > $@.new
mv -f $@.new $@
@@ -906,6 +920,7 @@ common-mostlyclean:
define rmobjs
$(foreach o,$(object-suffixes),
-rm -f $(objpfx)stamp$o $(o-objects))
+-rm -f $(objpfx)stamp.oS $(patsubst %,$(static-only-routines),$(objpfx)%.oS)
endef
# Also remove the dependencies and generated source files.
diff --git a/Rules b/Rules
index 2cc53ca280..88581a35da 100644
--- a/Rules
+++ b/Rules
@@ -189,11 +189,11 @@ $(static-only-routines:%=$(objpfx)%.os): %.os: $(common-objpfx)empty.os
ln $< $@
touch $@
-# 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.
-$(static-only-routines:%=$(objpfx)%.o): $(objpfx)%.o: %.c $(before-compile)
- $(compile.c) $(pic-ccflag) $(OUTPUT_OPTION)
+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
diff --git a/config.make.in b/config.make.in
index 069d5ddf24..8006adb45c 100644
--- a/config.make.in
+++ b/config.make.in
@@ -31,6 +31,7 @@ with-cvs = @with_cvs@
versioning = @VERSIONING@
+have-ar-S=@libc_cv_ar_S@
have-no-whole-archive = @libc_cv_ld_no_whole_archive@
have-no-exceptions = @libc_cv_gcc_no_exceptions@
have-bash2 = @libc_cv_have_bash2@
diff --git a/configure b/configure
index 6bb49c3dba..7776ef7e96 100755
--- a/configure
+++ b/configure
@@ -1681,9 +1681,29 @@ fi
fi
+# check if ar takes S
+echo $ac_n "checking for ar S""... $ac_c" 1>&6
+echo "configure:1687: checking for ar S" >&5
+if eval "test \"`echo '$''{'libc_cv_ar_S'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ tmpo=$$.o
+tmplib=lib$$.a
+rm -f $tmpo $tmplib
+touch $tmpo
+if { ac_try='${AR-ar} rcuS $tmplib $tmpo > /dev/null 2>&1'; { (eval echo configure:1695: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ libc_cv_ar_S=yes
+else
+ libc_cv_ar_S=no
+fi
+rm -f $tmpo $tmplib
+fi
+
+echo "$ac_t""$libc_cv_ar_S" 1>&6
+
# check for recent compiler
echo $ac_n "checking compiler version""... $ac_c" 1>&6
-echo "configure:1687: checking compiler version" >&5
+echo "configure:1707: checking compiler version" >&5
case `${CC-cc} -v 2>&1` in
*egcs-2.91.* | *egcs-1.0.[2-9]* | *egcs-1.1* | *2.8.[1-9]* | *2.9.[0-9]*)
cc_is_recent="ok"
@@ -1708,7 +1728,7 @@ fi
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6
-echo "configure:1712: checking LD_LIBRARY_PATH variable" >&5
+echo "configure:1732: checking LD_LIBRARY_PATH variable" >&5
case ${LD_LIBRARY_PATH} in
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
ld_library_path_setting="contains current directory"
@@ -1726,7 +1746,7 @@ fi
# Extract the first word of "bash", so it can be a program name with args.
set dummy bash; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1730: checking for $ac_word" >&5
+echo "configure:1750: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1768,7 +1788,7 @@ if test "$BASH" = no; then
# Extract the first word of "ksh", so it can be a program name with args.
set dummy ksh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1772: checking for $ac_word" >&5
+echo "configure:1792: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1814,7 +1834,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1818: checking for $ac_word" >&5
+echo "configure:1838: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1849,7 +1869,7 @@ test -n "$PERL" || PERL="no"
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
-echo "configure:1853: checking for signed size_t type" >&5
+echo "configure:1873: checking for signed size_t type" >&5
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1873,12 +1893,12 @@ EOF
fi
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
-echo "configure:1877: checking for libc-friendly stddef.h" >&5
+echo "configure:1897: checking for libc-friendly stddef.h" >&5
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1882 "configure"
+#line 1902 "configure"
#include "confdefs.h"
#define __need_size_t
#define __need_wchar_t
@@ -1893,7 +1913,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort ();
; return 0; }
EOF
-if { (eval echo configure:1897: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_friendly_stddef=yes
else
@@ -1912,7 +1932,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
fi
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
-echo "configure:1916: checking whether we need to use -P to assemble .S files" >&5
+echo "configure:1936: checking whether we need to use -P to assemble .S files" >&5
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1943,7 +1963,7 @@ if test $ac_cv_prog_gcc = yes; then
# We must check this even if -pipe is not given here, because the user
# might do `make CFLAGS=-pipe'.
echo $ac_n "checking for gcc 2.7.x -pipe bug""... $ac_c" 1>&6
-echo "configure:1947: checking for gcc 2.7.x -pipe bug" >&5
+echo "configure:1967: checking for gcc 2.7.x -pipe bug" >&5
if eval "test \"`echo '$''{'libc_cv_gcc_pipe_bug'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1972,7 +1992,7 @@ else
fi
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
-echo "configure:1976: checking for assembler global-symbol directive" >&5
+echo "configure:1996: checking for assembler global-symbol directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2002,7 +2022,7 @@ EOF
fi
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
-echo "configure:2006: checking for .set assembler directive" >&5
+echo "configure:2026: checking for .set assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2036,7 +2056,7 @@ EOF
fi
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
-echo "configure:2040: checking for .symver assembler directive" >&5
+echo "configure:2060: checking for .symver assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2055,7 +2075,7 @@ fi
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
-echo "configure:2059: checking for ld --version-script" >&5
+echo "configure:2079: checking for ld --version-script" >&5
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2078,7 +2098,7 @@ EOF
if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
-nostartfiles -nostdlib
-Wl,--version-script,conftest.map
- 1>&5'; { (eval echo configure:2082: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+ 1>&5'; { (eval echo configure:2102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
then
libc_cv_ld_version_script_option=yes
else
@@ -2116,7 +2136,7 @@ if test $VERSIONING = no; then
fi
if test $elf = yes; then
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
-echo "configure:2120: checking for .previous assembler directive" >&5
+echo "configure:2140: checking for .previous assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2124,7 +2144,7 @@ else
.section foo_section
.previous
EOF
- if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2128: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_previous_directive=yes
else
libc_cv_asm_previous_directive=no
@@ -2140,7 +2160,7 @@ EOF
else
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
-echo "configure:2144: checking for .popsection assembler directive" >&5
+echo "configure:2164: checking for .popsection assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2148,7 +2168,7 @@ else
.pushsection foo_section
.popsection
EOF
- if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_popsection_directive=yes
else
libc_cv_asm_popsection_directive=no
@@ -2168,12 +2188,12 @@ fi
if test $elf != yes; then
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:2172: checking for .init and .fini sections" >&5
+echo "configure:2192: checking for .init and .fini sections" >&5
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2177 "configure"
+#line 2197 "configure"
#include "confdefs.h"
int main() {
@@ -2182,7 +2202,7 @@ asm (".section .init");
asm (".text");
; return 0; }
EOF
-if { (eval echo configure:2186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2206: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_have_initfini=yes
else
@@ -2210,19 +2230,19 @@ if test $elf = yes; then
else
if test $ac_cv_prog_cc_works = yes; then
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2214: checking for _ prefix on C symbol names" >&5
+echo "configure:2234: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2219 "configure"
+#line 2239 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() {
glibc_foobar ();
; return 0; }
EOF
-if { (eval echo configure:2226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
libc_cv_asm_underscores=yes
else
@@ -2237,17 +2257,17 @@ fi
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
else
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2241: checking for _ prefix on C symbol names" >&5
+echo "configure:2261: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2246 "configure"
+#line 2266 "configure"
#include "confdefs.h"
void underscore_test(void) {
return; }
EOF
-if { (eval echo configure:2251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if grep _underscore_test conftest* >/dev/null; then
rm -f conftest*
libc_cv_asm_underscores=yes
@@ -2279,7 +2299,7 @@ if test $elf = yes; then
fi
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:2283: checking for assembler .weak directive" >&5
+echo "configure:2303: checking for assembler .weak directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2302,7 +2322,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
if test $libc_cv_asm_weak_directive = no; then
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
-echo "configure:2306: checking for assembler .weakext directive" >&5
+echo "configure:2326: checking for assembler .weakext directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2340,7 +2360,7 @@ EOF
fi
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
-echo "configure:2344: checking for ld --no-whole-archive" >&5
+echo "configure:2364: checking for ld --no-whole-archive" >&5
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2351,7 +2371,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -Wl,--no-whole-archive
- -o conftest conftest.c 1>&5'; { (eval echo configure:2355: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c 1>&5'; { (eval echo configure:2375: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_ld_no_whole_archive=yes
else
libc_cv_ld_no_whole_archive=no
@@ -2362,7 +2382,7 @@ fi
echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
-echo "configure:2366: checking for gcc -fno-exceptions" >&5
+echo "configure:2386: 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
@@ -2373,7 +2393,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -fno-exceptions
- -o conftest conftest.c 1>&5'; { (eval echo configure:2377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c 1>&5'; { (eval echo configure:2397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_no_exceptions=yes
else
libc_cv_gcc_no_exceptions=no
@@ -2385,14 +2405,14 @@ echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6
if test "$base_machine" = alpha ; then
echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
-echo "configure:2389: checking for function ..ng prefix" >&5
+echo "configure:2409: 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:2396: \"$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:2416: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
then
libc_cv_gcc_alpha_ng_prefix=yes
else
@@ -2416,12 +2436,12 @@ fi
fi
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2420: checking for DWARF2 unwind info support" >&5
+echo "configure:2440: 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 2425 "configure"
+#line 2445 "configure"
static char __EH_FRAME_BEGIN__;
_start ()
{
@@ -2448,7 +2468,7 @@ __bzero () {}
EOF
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
-nostdlib -nostartfiles
- -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2472: \"$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
@@ -2456,7 +2476,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:2460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2480: \"$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
@@ -2527,7 +2547,7 @@ if test "$uname" = "sysdeps/generic"; then
fi
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2531: checking OS release for uname" >&5
+echo "configure:2551: 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
@@ -2549,7 +2569,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:2553: checking OS version for uname" >&5
+echo "configure:2573: 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
@@ -2571,7 +2591,7 @@ else
fi
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2575: checking stdio selection" >&5
+echo "configure:2595: checking stdio selection" >&5
case $stdio in
libio) cat >> confdefs.h <<\EOF
@@ -2583,7 +2603,7 @@ esac
echo "$ac_t""$stdio" 1>&6
echo $ac_n "checking ldap selection""... $ac_c" 1>&6
-echo "configure:2587: checking ldap selection" >&5
+echo "configure:2607: checking ldap selection" >&5
case $add_ons in
*ldap*)
@@ -2645,7 +2665,7 @@ if test $static = no && test $shared = yes; then
fi
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2649: checking whether -fPIC is default" >&5
+echo "configure:2669: checking whether -fPIC is default" >&5
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2853,6 +2873,7 @@ s%@cross_compiling@%$cross_compiling%g
s%@CPP@%$CPP%g
s%@AR@%$AR%g
s%@RANLIB@%$RANLIB%g
+s%@libc_cv_ar_S@%$libc_cv_ar_S%g
s%@BASH@%$BASH%g
s%@libc_cv_have_bash2@%$libc_cv_have_bash2%g
s%@KSH@%$KSH%g
diff --git a/configure.in b/configure.in
index 2a80a8b0aa..adc3381cba 100644
--- a/configure.in
+++ b/configure.in
@@ -468,6 +468,20 @@ LIBC_PROG_BINUTILS
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
+# check if ar takes S
+AC_CACHE_CHECK(for ar S, libc_cv_ar_S, [dnl
+tmpo=$$.o
+tmplib=lib$$.a
+rm -f $tmpo $tmplib
+touch $tmpo
+if AC_TRY_COMMAND([${AR-ar} rcuS $tmplib $tmpo > /dev/null 2>&1]); then
+ libc_cv_ar_S=yes
+else
+ libc_cv_ar_S=no
+fi
+rm -f $tmpo $tmplib])
+AC_SUBST(libc_cv_ar_S)dnl
+
# check for recent compiler
AC_MSG_CHECKING(compiler version)
changequote(,)dnl
diff --git a/iconvdata/iso8859-1.c b/iconvdata/iso8859-1.c
index c6465d2bcf..5f98adcfee 100644
--- a/iconvdata/iso8859-1.c
+++ b/iconvdata/iso8859-1.c
@@ -124,7 +124,8 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
while (cnt < inchars
&& (outwchars + sizeof (wchar_t) <= data->outbufsize))
{
- *((wchar_t *) (outbuf + outwchars)) = inbuf[cnt];
+ *((wchar_t *) (outbuf + outwchars)) =
+ (unsigned char) inbuf[cnt];
++do_write;
outwchars += sizeof (wchar_t);
++cnt;
diff --git a/intl/textdomain.c b/intl/textdomain.c
index 116419dd12..5dd4003a8e 100644
--- a/intl/textdomain.c
+++ b/intl/textdomain.c
@@ -1,5 +1,5 @@
/* Implementation of the textdomain(3) function.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in /gd/gnu/lib.
@@ -57,7 +57,9 @@ extern const char *_nl_current_default_domain;
prefix. So we have to make a difference here. */
#ifdef _LIBC
# define TEXTDOMAIN __textdomain
-# define strdup(str) __strdup (str)
+# ifndef strdup
+# define strdup(str) __strdup (str)
+# endif
#else
# define TEXTDOMAIN textdomain__
#endif
diff --git a/libio/fileops.c b/libio/fileops.c
index d2377af73b..d184916807 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library.
Written by Per Bothner <bothner@cygnus.com>.
@@ -201,9 +201,10 @@ _IO_file_fopen (fp, filename, mode, is32not64)
int oflags = 0, omode;
int read_write;
int oprot = 0666;
+ int i;
if (_IO_file_is_open (fp))
return 0;
- switch (*mode++)
+ switch (*mode)
{
case 'r':
omode = O_RDONLY;
@@ -223,11 +224,27 @@ _IO_file_fopen (fp, filename, mode, is32not64)
__set_errno (EINVAL);
return NULL;
}
- if (mode[0] == '+' || (mode[0] == 'b' && mode[1] == '+'))
+ for (i = 1; i < 4; ++i)
{
- omode = O_RDWR;
- read_write &= _IO_IS_APPENDING;
+ switch (*++mode)
+ {
+ case '\0':
+ break;
+ case '+':
+ omode = O_RDWR;
+ read_write &= _IO_IS_APPENDING;
+ continue;
+ case 'x':
+ oflags |= O_EXCL;
+ continue;
+ case 'b':
+ default:
+ /* Ignore. */
+ continue;
+ }
+ break;
}
+
return _IO_file_open (fp, filename, omode|oflags, oprot, read_write,
is32not64);
}
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index c7ce0b7018..667e7fe4b0 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,8 @@
+1998-03-22 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * locales/ru_RU: Abbreviations must end with a consonant. Fix for
+ Tuesday by Ilya Ovchinnikov <ilya@taspd13a.npi.msu.su>. [PR libc/517]
+
1998-03-25 Ulrich Drepper <drepper@cygnus.com>
* Makefile (distribute): Add tst-locale.sh.
diff --git a/localedata/locales/ru_RU b/localedata/locales/ru_RU
index 9129f794fe..18c9faaa8c 100644
--- a/localedata/locales/ru_RU
+++ b/localedata/locales/ru_RU
@@ -3052,7 +3052,7 @@ day "<V=><o=><s=><k=><r=><e=><s=><e=><n=><%'><e=>";/
"<S=><u=><b=><b=><o=><t=><a=>"
abday "<V=><s=><k=>";/
"<P=><n=><d=>";/
- "<V=><t=><o=>";/
+ "<V=><t=><r=>";/
"<S=><r=><d=>";/
"<C%><t=><v=>";/
"<P=><t=><n=>";/