[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r22441 - in /fsf/trunk/libc: ./ crypt/ csu/ elf/ intl/ math/ misc/ nptl/ ports/ ports/sysdeps/am33/ rt/ string/ string/bits/...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r22441 - in /fsf/trunk/libc: ./ crypt/ csu/ elf/ intl/ math/ misc/ nptl/ ports/ ports/sysdeps/am33/ rt/ string/ string/bits/...
- From: eglibc@xxxxxxxxxx
- Date: Sat, 16 Feb 2013 00:01:51 -0000
Author: eglibc
Date: Sat Feb 16 00:01:49 2013
New Revision: 22441
Log:
Import glibc-mainline for 2013-02-16
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/Makeconfig
fsf/trunk/libc/Makerules
fsf/trunk/libc/Rules
fsf/trunk/libc/config.h.in
fsf/trunk/libc/config.make.in
fsf/trunk/libc/crypt/Makefile
fsf/trunk/libc/csu/Makefile
fsf/trunk/libc/elf/dl-runtime.c
fsf/trunk/libc/intl/Makefile
fsf/trunk/libc/math/Makefile
fsf/trunk/libc/misc/Makefile
fsf/trunk/libc/nptl/Makeconfig
fsf/trunk/libc/ports/ChangeLog.am33
fsf/trunk/libc/ports/sysdeps/am33/dl-machine.h
fsf/trunk/libc/rt/Makefile
fsf/trunk/libc/string/Makefile
fsf/trunk/libc/string/bits/string2.h
fsf/trunk/libc/sysdeps/i386/dl-machine.h
fsf/trunk/libc/sysdeps/i386/i686/Makefile
fsf/trunk/libc/sysdeps/ieee754/dbl-64/mpa.c
fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/Makefile
fsf/trunk/libc/sysdeps/sparc/sparc64/Makefile
fsf/trunk/libc/sysdeps/unix/sysv/linux/shmat.c
fsf/trunk/libc/sysdeps/x86/bits/string.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Feb 16 00:01:49 2013
@@ -1,4 +1,82 @@
+2013-02-15 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * sysdeps/ieee754/dbl-64/mpa.c (__sqr): Avoid using LIM in
+ loop termination condition.
+
+ * sysdeps/ieee754/dbl-64/mpa.c (__mul): Use intermediate
+ variable to calculate EZ.
+ (__sqr): Likewise.
+
+ * sysdeps/ieee754/dbl-64/mpa.c (__mul): Fix determination of
+ the lower precision input.
+
+2013-02-15 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #13550]
+ * Makeconfig [!+link-bounded] (+link-bounded): Remove variable.
+ [!link-extra-libs] (link-extra-libs-bounded): Likewise.
+ (run-via-rtld-prefix): Do not handle %-bp tests.
+ (test-via-rtld-prefix): Do not mention %-bp tests in comment.
+ (all-object-suffixes): Remove .ob.
+ (bppfx): Remove variable.
+ [$(build-bounded) = yes] (object-suffixes): Do not add .ob.
+ [$(build-bounded) = yes] (CPPFLAGS-.ob): Remove variable.
+ [$(build-bounded) = yes] (CFLAGS-.ob): Likewise.
+ [$(build-bounded) = yes] (libtype.ob): Likewise.
+ * Makerules (elide-routines.ob): Remove variable.
+ (do-tests-clean): Do not handle *-bp.out.
+ (common-mostlyclean): Do not handle *-bp and *-bp.out.
+ * Rules [$(build-bounded) = yes] (tests-bp.out): Remove variable.
+ [$(build-bounded) = yes] (xtests-bp.out): Likewise.
+ (tests): Do not include $(tests-bp.out).
+ (xtests): Do not include $(xtests-bp.out).
+ [$(build-bounded) = yes] (binaries-bounded): Remove variable.
+ [$(build-bounded) = yes] ($(addprefix
+ $(objpfx),$(binaries-bounded))): Remove rule.
+ ($(objpfx)%-bp.out): Remove rule.
+ * config.make.in (build-bounded): Remove variable.
+ * crypt/Makefile [$(build-bounded) = yes]
+ ($(tests:%=$(objpfx)%-bp)): Remove dependency.
+ * csu/Makefile [$(build-bounded) = yes] (extra-objs): Do not
+ append to variable.
+ [$(build-bounded) = yes] (install-lib): Likewise.
+ [$(build-bounded) = yes] (generated): Likewise.
+ [!start-installed-name-rule] ($(objpfx)b$(start-installed-name)):
+ Remove rule.
+ * intl/Makefile [$(build-bounded) = yes]
+ ($(multithread-test-srcs:%=$(objpfx)%-bp)): Remove dependency.
+ * math/Makefile [$(build-bounded) = yes]
+ ($(tests:%=$(objpfx)%-bp): Likewise.
+ * misc/Makefile [$(build-bounded) = yes]
+ ($(objpfx)tst-tsearch-bp): Likewise.
+ * nptl/Makeconfig (bounded-thread-library): Remove variable.
+ * rt/Makefile [$(build-bounded) = yes] ($(tests:%=$(objpfx)%-bp)):
+ Remove dependency.
+ * string/Makefile (o-objects.ob): Remove variable.
+ * sysdeps/i386/i686/Makefile [$(config-asflags-i686) = yes]
+ (CFLAGS-.ob): Remove variable.
+ [$(config-asflags-i686) = yes] (ASFLAGS-.ob): Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/Makefile (ASFLAGS-.ob): Remove
+ both definitions of variable.
+ * sysdeps/sparc/sparc64/Makefile [$(have-as-vis3) = yes]
+ (ASFLAGS-.ob): Remove variable.
+
2013-02-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #13550]
+ * config.h.in [USE_REGPARMS && !PROF && !__BOUNDED_POINTERS__]:
+ Remove __BOUNDED_POINTERS__ from condition.
+ * elf/dl-runtime.c [!PROF && !__BOUNDED_POINTERS__]: Likewise.
+ * string/bits/string2.h [!__NO_STRING_INLINES &&
+ !__BOUNDED_POINTERS__]: Likewise.
+ * sysdeps/i386/dl-machine.h [!PROF && !__BOUNDED_POINTERS__]:
+ Likewise.
+ * sysdeps/unix/sysv/linux/shmat.c (shmat) [__BOUNDED_POINTERS__]:
+ Remove conditional code.
+ * sysdeps/x86/bits/string.h [!__NO_STRING_INLINES &&
+ __USE_STRING_INLINES && __GNUC__ && __GNUC__ >= 2 &&
+ !__BOUNDED_POINTERS__]: Remove __BOUNDED_POINTERS__ from
+ condition.
[BZ #13550]
* csu/libc-start.c: Do not include <bp-sym.h>.
Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Sat Feb 16 00:01:49 2013
@@ -435,18 +435,6 @@
+link-tests = $(+link-static-tests)
endif
endif
-# Command for statically linking bounded-pointer programs with the C library.
-ifndef +link-bounded
-+link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
- $(sysdep-LDFLAGS) $(LDFLAGS) \
- $(addprefix $(csu-objpfx),b$(static-start-installed-name)) \
- $(+preinit) $(+prectorT) \
- $(filter-out $(addprefix $(csu-objpfx),start.ob \
- $(start-installed-name))\
- $(+preinit) $(link-extra-libs-bounded) \
- $(common-objpfx)libc% $(+postinit),$^) \
- $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctorT) $(+postinit)
-endif
ifeq (yes,$(build-shared))
ifndef rtld-LDFLAGS
rtld-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
@@ -506,13 +494,11 @@
ifndef link-extra-libs
link-extra-libs = $(LDLIBS-$(@F))
link-extra-libs-static = $(link-extra-libs)
-link-extra-libs-bounded = $(link-extra-libs)
endif
# The static libraries.
link-libc-static = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib) -Wl,--end-group
link-libc-static-tests = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib-tests) -Wl,--end-group
-link-libc-bounded = $(common-objpfx)libc_b.a $(gnulib) $(common-objpfx)libc_b.a
# How to link against libgcc. Some libgcc functions, such as those
# for "long long" arithmetic or software floating point, can always be
@@ -617,12 +603,11 @@
# $(run-via-rtld-prefix) is a command that, when prepended to the name
# of a program built with the newly built library, produces a command
# that, executed on the host for which the library is built, runs that
-# program. For the statically-linked %-bp test programs, and for
-# tests listed in tests-static or xtests-static, it is empty.
+# program. For tests listed in tests-static or xtests-static, it is
+# empty.
run-via-rtld-prefix = \
$(if $(strip $(filter $(notdir $(built-program-file)), \
- $(tests-static) $(xtests-static)) \
- $(filter %-bp,$(built-program-file))),, \
+ $(tests-static) $(xtests-static))),, \
$(elf-objpfx)$(rtld-installed-name) \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)))
else
@@ -652,9 +637,9 @@
# $(test-via-rtld-prefix) is a command that, when prepended to the name
# of a test program built with the newly built library, produces a command
# that, executed on the host for which the library is built, runs that
-# program. For the statically-linked %-bp test programs, and for
-# tests listed in tests-static or xtests-static as well as when test
-# programs are hardcoded to the newly built libraries, it is empty.
+# program. For tests listed in tests-static or xtests-static as well
+# as when test programs are hardcoded to the newly built libraries, it
+# is empty.
# $(test-program-prefix) is a command that, when prepended to the name
# of a test program built with the newly built library, produces a command
@@ -817,7 +802,7 @@
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
# to pass different flags for each flavor.
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
-all-object-suffixes := .o .os .op .og .ob .oS
+all-object-suffixes := .o .os .op .og .oS
object-suffixes :=
CPPFLAGS-.o = $(pic-default)
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
@@ -851,18 +836,6 @@
# Convenience variable for when we want to treat shared-library cases
# differently from the rest.
object-suffixes-noshared := $(filter-out .os,$(object-suffixes))
-
-bppfx = BP-
-ifeq (yes,$(build-bounded))
-# Under --enable-bounded, we build the library with `-fbounded-pointers -g'
-# to runtime bounds checking. The bounded-pointer objects are named foo.ob.
-# We disable sibling-call optimizations so that stack traces will be complete
-# and thus aid debugging, since after all, BPs are a debugging tool.
-object-suffixes += .ob
-CPPFLAGS-.ob = -fbounded-pointers $(pic-default)
-CFLAGS-.ob = -g -O2 -fno-optimize-sibling-calls -fno-strict-aliasing
-libtype.ob = lib%_b.a
-endif
object-suffixes-for-libc := $(object-suffixes)
Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Sat Feb 16 00:01:49 2013
@@ -418,7 +418,6 @@
elide-routines.o += $(shared-only-routines)
elide-routines.op += $(shared-only-routines)
elide-routines.og += $(shared-only-routines)
-elide-routines.ob += $(shared-only-routines)
# Shared library building.
@@ -1265,9 +1264,7 @@
do-tests-clean:
-rm -f $(addprefix $(objpfx),$(addsuffix .out,$(tests) $(xtests) \
- $(test-srcs)) \
- $(addsuffix -bp.out,$(tests) $(xtests) \
- $(test-srcs)))
+ $(test-srcs)))
# Remove the object files.
common-mostlyclean:
@@ -1276,12 +1273,8 @@
$(addsuffix .o,$(tests) $(xtests) \
$(test-srcs) $(others) \
$(sysdep-others)) \
- $(addsuffix -bp,$(tests) $(xtests) \
- $(test-srcs)) \
$(addsuffix .out,$(tests) $(xtests) \
- $(test-srcs)) \
- $(addsuffix -bp.out,$(tests) $(xtests) \
- $(test-srcs)))
+ $(test-srcs)))
-rm -f $(addprefix $(objpfx),$(extra-objs) $(extra-test-objs) \
$(install-lib) $(install-lib.so) \
$(install-lib.so:%.so=%_pic.a))
Modified: fsf/trunk/libc/Rules
==============================================================================
--- fsf/trunk/libc/Rules (original)
+++ fsf/trunk/libc/Rules Sat Feb 16 00:01:49 2013
@@ -98,12 +98,8 @@
tests: $(addprefix $(objpfx),$(tests) $(test-srcs))
xtests: tests
else
-ifeq ($(build-bounded),yes)
-tests-bp.out = $(tests:%=$(objpfx)%-bp.out)
-xtests-bp.out = $(xtests:%=$(objpfx)%-bp.out)
-endif
-tests: $(tests:%=$(objpfx)%.out) $(tests-bp.out)
-xtests: tests $(xtests:%=$(objpfx)%.out) $(xtests-bp.out)
+tests: $(tests:%=$(objpfx)%.out)
+xtests: tests $(xtests:%=$(objpfx)%.out)
endif
ifeq ($(build-programs),yes)
@@ -179,14 +175,6 @@
$(+link-static-tests)
endif
-ifeq ($(build-bounded),yes)
-binaries-bounded = $(addsuffix -bp,$(tests) $(xtests) $(test-srcs))
-$(addprefix $(objpfx),$(binaries-bounded)): %-bp: %.ob \
- $(sort $(filter $(common-objpfx)lib%,$(link-libc-bounded))) \
- $(addprefix $(csu-objpfx),start.ob) $(+preinit) $(+postinit)
- $(+link-bounded)
-endif
-
ifneq "$(strip $(tests) $(xtests) $(test-srcs))" ""
# These are the implicit rules for making test outputs
# from the test programs and whatever input files are present.
@@ -194,8 +182,6 @@
make-test-out = $(test-wrapper-env) \
GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
$($*-ENV) $(host-test-program-cmd) $($*-ARGS)
-$(objpfx)%-bp.out: %.input $(objpfx)%-bp
- $(make-test-out) > $@ < $(word 1,$^)
$(objpfx)%.out: %.input $(objpfx)%
$(make-test-out) > $@ < $(word 1,$^)
$(objpfx)%.out: /dev/null $(objpfx)% # Make it 2nd arg for canned sequence.
Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Sat Feb 16 00:01:49 2013
@@ -115,7 +115,7 @@
/* Defined to some form of __attribute__ ((...)) if the compiler supports
a different, more efficient calling convention. */
-#if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
+#if defined USE_REGPARMS && !defined PROF
# define internal_function __attribute__ ((regparm (3), stdcall))
#endif
Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Sat Feb 16 00:01:49 2013
@@ -91,7 +91,6 @@
build-shared = @shared@
build-pic-default= @libc_cv_pic_default@
build-profile = @profile@
-build-bounded = no
build-static-nss = @static_nss@
add-ons = @add_ons@
add-on-subdirs = @add_on_subdirs@
Modified: fsf/trunk/libc/crypt/Makefile
==============================================================================
--- fsf/trunk/libc/crypt/Makefile (original)
+++ fsf/trunk/libc/crypt/Makefile Sat Feb 16 00:01:49 2013
@@ -69,9 +69,6 @@
else
$(addprefix $(objpfx),$(tests)): $(objpfx)libcrypt.a
endif
-ifeq (yes,$(build-bounded))
-$(tests:%=$(objpfx)%-bp): $(objpfx)libcrypt_b.a
-endif
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
# This ensures they will load libc.so for needed symbols if loaded by
Modified: fsf/trunk/libc/csu/Makefile
==============================================================================
--- fsf/trunk/libc/csu/Makefile (original)
+++ fsf/trunk/libc/csu/Makefile Sat Feb 16 00:01:49 2013
@@ -53,12 +53,6 @@
generated += start.os
endif
-ifeq (yes,$(build-bounded))
-extra-objs += b$(start-installed-name)
-install-lib += b$(start-installed-name)
-generated += start.ob
-endif
-
ifneq ($(start-installed-name),$(static-start-installed-name))
extra-objs += $(static-start-installed-name) g$(static-start-installed-name)
omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
@@ -97,9 +91,6 @@
$(link-relocatable)
$(objpfx)S$(start-installed-name): $(objpfx)start.os $(objpfx)abi-note.o \
$(objpfx)init.o
- $(link-relocatable)
-$(objpfx)b$(start-installed-name): $(objpfx)start.ob $(objpfx)abi-note.ob \
- $(objpfx)init.ob
$(link-relocatable)
endif
Modified: fsf/trunk/libc/elf/dl-runtime.c
==============================================================================
--- fsf/trunk/libc/elf/dl-runtime.c (original)
+++ fsf/trunk/libc/elf/dl-runtime.c Sat Feb 16 00:01:49 2013
@@ -148,7 +148,7 @@
return elf_machine_fixup_plt (l, result, reloc, rel_addr, value);
}
-#if !defined PROF && !__BOUNDED_POINTERS__
+#ifndef PROF
DL_FIXUP_VALUE_TYPE
__attribute ((noinline)) ARCH_FIXUP_ATTRIBUTE
_dl_profile_fixup (
Modified: fsf/trunk/libc/intl/Makefile
==============================================================================
--- fsf/trunk/libc/intl/Makefile (original)
+++ fsf/trunk/libc/intl/Makefile Sat Feb 16 00:01:49 2013
@@ -117,9 +117,6 @@
else
$(addprefix $(objpfx),$(multithread-test-srcs)): $(static-thread-library)
endif
-ifeq (yes,$(build-bounded))
-$(multithread-test-srcs:%=$(objpfx)%-bp): $(bounded-thread-library)
-endif
endif
$(objpfx)tst-translit.out: $(objpfx)tst-gettext.out
Modified: fsf/trunk/libc/math/Makefile
==============================================================================
--- fsf/trunk/libc/math/Makefile (original)
+++ fsf/trunk/libc/math/Makefile Sat Feb 16 00:01:49 2013
@@ -193,9 +193,6 @@
else
$(addprefix $(objpfx),$(tests)): $(objpfx)libm.a
endif
-ifeq ($(build-bounded),yes)
-$(tests:%=$(objpfx)%-bp): $(objpfx)libm_b.a
-endif
gmp-objs = $(patsubst %,$(common-objpfx)stdlib/%.o,\
add_n sub_n cmp addmul_1 mul_1 mul_n divmod_1 \
Modified: fsf/trunk/libc/misc/Makefile
==============================================================================
--- fsf/trunk/libc/misc/Makefile (original)
+++ fsf/trunk/libc/misc/Makefile Sat Feb 16 00:01:49 2013
@@ -109,10 +109,6 @@
$(objpfx)tst-tsearch: $(common-objpfx)math/libm.a
endif
-ifeq ($(build-bounded),yes)
-$(objpfx)tst-tsearch-bp: $(common-objpfx)math/libm_b.a
-endif
-
tst-error1-ENV = MALLOC_TRACE=$(objpfx)tst-error1.mtrace
tst-error1-ARGS = $(objpfx)tst-error1.out
$(objpfx)tst-error1-mem: $(objpfx)tst-error1.out
Modified: fsf/trunk/libc/nptl/Makeconfig
==============================================================================
--- fsf/trunk/libc/nptl/Makeconfig (original)
+++ fsf/trunk/libc/nptl/Makeconfig Sat Feb 16 00:01:49 2013
@@ -24,7 +24,6 @@
shared-thread-library = $(common-objpfx)nptl/libpthread_nonshared.a \
$(common-objpfx)nptl/libpthread.so
static-thread-library = $(common-objpfx)nptl/libpthread.a
-bounded-thread-library = $(common-objpfx)nptl/libpthread_b.a
rpath-dirs += nptl
Modified: fsf/trunk/libc/ports/ChangeLog.am33
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.am33 (original)
+++ fsf/trunk/libc/ports/ChangeLog.am33 Sat Feb 16 00:01:49 2013
@@ -1,3 +1,9 @@
+2013-02-14 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #13550]
+ * sysdeps/am33/dl-machine.h [!PROF && !__BOUNDED_POINTERS__]:
+ Remove __BOUNDED_POINTERS__ from condition.
+
2013-02-13 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #13550]
Modified: fsf/trunk/libc/ports/sysdeps/am33/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/am33/dl-machine.h (original)
+++ fsf/trunk/libc/ports/sysdeps/am33/dl-machine.h Sat Feb 16 00:01:49 2013
@@ -55,7 +55,7 @@
return off + gotaddr - gotval;
}
-#if !defined PROF && !__BOUNDED_POINTERS__
+#ifndef PROF
/* We add a declaration of this function here so that in dl-runtime.c
the ELF_MACHINE_RUNTIME_TRAMPOLINE macro really can pass the parameters
in registers.
@@ -114,7 +114,7 @@
/* This code is used in dl-runtime.c to call the `fixup' function
and then redirect to the address it returns. */
-#if !defined PROF && !__BOUNDED_POINTERS__
+#ifndef PROF
# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
.text\n\
.globl _dl_runtime_resolve\n\
Modified: fsf/trunk/libc/rt/Makefile
==============================================================================
--- fsf/trunk/libc/rt/Makefile (original)
+++ fsf/trunk/libc/rt/Makefile Sat Feb 16 00:01:49 2013
@@ -76,8 +76,5 @@
else
$(addprefix $(objpfx),$(tests)): $(objpfx)librt.a $(static-thread-library)
endif
-ifeq (yes,$(build-bounded))
-$(tests:%=$(objpfx)%-bp): $(objpfx)librt_b.a $(bounded-thread-library)
-endif
tst-mqueue7-ARGS = -- $(host-test-program-cmd)
Modified: fsf/trunk/libc/string/Makefile
==============================================================================
--- fsf/trunk/libc/string/Makefile (original)
+++ fsf/trunk/libc/string/Makefile Sat Feb 16 00:01:49 2013
@@ -41,10 +41,6 @@
strcoll_l strxfrm_l string-inlines memrchr \
xpg-strerror strerror_l
-# Gcc internally generates calls to unbounded memcpy and memset
-# for -fbounded-pointer compiles. Glibc uses memchr for explicit checks.
-o-objects.ob := memcpy.o memset.o memchr.o
-
strop-tests := memchr memcmp memcpy memmove mempcpy memset memccpy \
stpcpy stpncpy strcat strchr strcmp strcpy strcspn \
strlen strncmp strncpy strpbrk strrchr strspn memmem \
Modified: fsf/trunk/libc/string/bits/string2.h
==============================================================================
--- fsf/trunk/libc/string/bits/string2.h (original)
+++ fsf/trunk/libc/string/bits/string2.h Sat Feb 16 00:01:49 2013
@@ -21,7 +21,7 @@
# error "Never use <bits/string2.h> directly; include <string.h> instead."
#endif
-#if !defined __NO_STRING_INLINES && !defined __BOUNDED_POINTERS__
+#ifndef __NO_STRING_INLINES
/* Unlike the definitions in the header <bits/string.h> the
definitions contained here are not optimized down to assembler
Modified: fsf/trunk/libc/sysdeps/i386/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/i386/dl-machine.h Sat Feb 16 00:01:49 2013
@@ -144,7 +144,7 @@
#ifdef IN_DL_RUNTIME
-# if !defined PROF && !__BOUNDED_POINTERS__
+# ifndef PROF
/* We add a declaration of this function here so that in dl-runtime.c
the ELF_MACHINE_RUNTIME_TRAMPOLINE macro really can pass the parameters
in registers.
Modified: fsf/trunk/libc/sysdeps/i386/i686/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/Makefile (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/Makefile Sat Feb 16 00:01:49 2013
@@ -15,13 +15,11 @@
CFLAGS-.os += -Wa,-mtune=i686
CFLAGS-.op += -Wa,-mtune=i686
CFLAGS-.og += -Wa,-mtune=i686
-CFLAGS-.ob += -Wa,-mtune=i686
CFLAGS-.oS += -Wa,-mtune=i686
ASFLAGS-.o += -Wa,-mtune=i686
ASFLAGS-.os += -Wa,-mtune=i686
ASFLAGS-.op += -Wa,-mtune=i686
ASFLAGS-.og += -Wa,-mtune=i686
-ASFLAGS-.ob += -Wa,-mtune=i686
ASFLAGS-.oS += -Wa,-mtune=i686
endif
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/mpa.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/mpa.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/mpa.c Sat Feb 16 00:01:49 2013
@@ -612,6 +612,7 @@
{
int i, j, k, ip, ip2;
double u, zk;
+ const mp_no *a;
/* Is z=0? */
if (__glibc_unlikely (X[0] * Y[0] == ZERO))
@@ -626,9 +627,11 @@
if (X[ip2] != ZERO || Y[ip2] != ZERO)
break;
+ a = X[ip2] != ZERO ? y : x;
+
/* ... and here, at least one of them is still zero. */
for (ip = ip2; ip > 0; ip--)
- if (X[ip] * Y[ip] != ZERO)
+ if (a->d[ip] != ZERO)
break;
/* The product looks like this for p = 3 (as an example):
@@ -690,15 +693,20 @@
}
Z[k] = zk;
- EZ = EX + EY;
+ /* Get the exponent sum into an intermediate variable. This is a subtle
+ optimization, where given enough registers, all operations on the exponent
+ happen in registers and the result is written out only once into EZ. */
+ int e = EX + EY;
+
/* Is there a carry beyond the most significant digit? */
if (__glibc_unlikely (Z[1] == ZERO))
{
for (i = 1; i <= p; i++)
Z[i] = Z[i + 1];
- EZ--;
- }
-
+ e--;
+ }
+
+ EZ = e;
Z[0] = X[0] * Y[0];
}
@@ -739,12 +747,9 @@
long lim = k / 2;
if (k % 2 == 0)
- {
- yk += X[lim] * X[lim];
- lim--;
- }
-
- for (i = k - p, j = p; i <= lim; i++, j--)
+ yk += X[lim] * X[lim];
+
+ for (i = k - p, j = p; i < j; i++, j--)
yk2 += X[i] * X[j];
yk += 2.0 * yk2;
@@ -762,12 +767,9 @@
long lim = k / 2;
if (k % 2 == 0)
- {
- yk += X[lim] * X[lim];
- lim--;
- }
-
- for (i = 1, j = k - 1; i <= lim; i++, j--)
+ yk += X[lim] * X[lim];
+
+ for (i = 1, j = k - 1; i < j; i++, j--)
yk2 += X[i] * X[j];
yk += 2.0 * yk2;
@@ -783,14 +785,20 @@
/* Squares are always positive. */
Y[0] = 1.0;
- EY = 2 * EX;
+ /* Get the exponent sum into an intermediate variable. This is a subtle
+ optimization, where given enough registers, all operations on the exponent
+ happen in registers and the result is written out only once into EZ. */
+ int e = EX * 2;
+
/* Is there a carry beyond the most significant digit? */
if (__glibc_unlikely (Y[1] == ZERO))
{
for (i = 1; i <= p; i++)
Y[i] = Y[i + 1];
- EY--;
- }
+ e--;
+ }
+
+ EY = e;
}
/* Invert *X and store in *Y. Relative error bound:
Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/Makefile (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/Makefile Sat Feb 16 00:01:49 2013
@@ -10,13 +10,11 @@
ASFLAGS-.os += -Wa,-Av9d
ASFLAGS-.op += -Wa,-Av9d
ASFLAGS-.og += -Wa,-Av9d
-ASFLAGS-.ob += -Wa,-Av9d
ASFLAGS-.oS += -Wa,-Av9d
else
ASFLAGS-.o += -Wa,-Av9a
ASFLAGS-.os += -Wa,-Av9a
ASFLAGS-.op += -Wa,-Av9a
ASFLAGS-.og += -Wa,-Av9a
-ASFLAGS-.ob += -Wa,-Av9a
ASFLAGS-.oS += -Wa,-Av9a
endif
Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/Makefile (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/Makefile Sat Feb 16 00:01:49 2013
@@ -12,6 +12,5 @@
ASFLAGS-.os += -Wa,-Av9d
ASFLAGS-.op += -Wa,-Av9d
ASFLAGS-.og += -Wa,-Av9d
-ASFLAGS-.ob += -Wa,-Av9d
ASFLAGS-.oS += -Wa,-Av9d
endif
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/shmat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/shmat.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/shmat.c Sat Feb 16 00:01:49 2013
@@ -38,15 +38,6 @@
unsigned long resultvar;
void *raddr;
-#if __BOUNDED_POINTERS__
- size_t length = ~0;
- struct shmid_ds shmds;
- /* It's unfortunate that we need to make another system call to get
- the shared memory segment length... */
- if (shmctl (shmid, IPC_STAT, &shmds) == 0)
- length = shmds.shm_segsz;
-#endif
-
resultvar = INTERNAL_SYSCALL (ipc, err, 5, IPCOP_shmat,
shmid, shmflg,
(long int) &raddr,
Modified: fsf/trunk/libc/sysdeps/x86/bits/string.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/string.h (original)
+++ fsf/trunk/libc/sysdeps/x86/bits/string.h Sat Feb 16 00:01:49 2013
@@ -36,7 +36,7 @@
/* We only provide optimizations if the user selects them and if
GNU CC is used. */
# if !defined __NO_STRING_INLINES && defined __USE_STRING_INLINES \
- && defined __GNUC__ && __GNUC__ >= 2 && !__BOUNDED_POINTERS__
+ && defined __GNUC__ && __GNUC__ >= 2
# ifndef __STRING_INLINE
# ifndef __extern_inline
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits