This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-171-g38d22f9
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 26 Aug 2015 14:55:56 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-171-g38d22f9
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 38d22f9f48a84b441c5777aff103f5b980243b5f (commit)
from b022830bebc23456fc40825c6b5507bc0f52381f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=38d22f9f48a84b441c5777aff103f5b980243b5f
commit 38d22f9f48a84b441c5777aff103f5b980243b5f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Aug 26 07:55:42 2015 -0700
Don't disable SSE in x86-64 ld.so
Since x86-64 ld.so preserves vector registers now, we can use SSE in
x86-64 ld.so. We should run tst-ld-sse-use.sh only on i386.
* sysdeps/x86/Makefile [$(subdir) == elf] (CFLAGS-.os,
tests-special, $(objpfx)tst-ld-sse-use.out): Moved to ...
* sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os,
tests-special, $(objpfx)tst-ld-sse-use.out): Here. Update
comments.
* sysdeps/x86_64/Makefile [$(subdir) == elf] (CFLAGS-.os): Add
-mno-mmx for $(all-rtld-routines).
* sysdeps/x86/tst-ld-sse-use.sh: Moved to ...
* sysdeps/i386/tst-ld-sse-use.sh: Here. Replace x86-64 with
i386.
diff --git a/ChangeLog b/ChangeLog
index 7225551..478a009 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86/Makefile [$(subdir) == elf] (CFLAGS-.os,
+ tests-special, $(objpfx)tst-ld-sse-use.out): Moved to ...
+ * sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os,
+ tests-special, $(objpfx)tst-ld-sse-use.out): Here. Update
+ comments.
+ * sysdeps/x86_64/Makefile [$(subdir) == elf] (CFLAGS-.os): Add
+ -mno-mmx for $(all-rtld-routines).
+ * sysdeps/x86/tst-ld-sse-use.sh: Moved to ...
+ * sysdeps/i386/tst-ld-sse-use.sh: Here. Replace x86-64 with
+ i386.
+
2015-08-26 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/generic/unwind.h
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index 717d8e7..168512f 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -83,3 +83,17 @@ endif
ifeq ($(subdir),csu)
gen-as-const-headers += tlsdesc.sym
endif
+
+ifeq ($(subdir),elf)
+# Make sure no code in ld.so uses mm/xmm/ymm/zmm registers on i386 since
+# the first 3 mm/xmm/ymm/zmm registers are used to pass vector parameters
+# which must be preserved.
+CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
+ -mno-sse -mno-mmx)
+
+tests-special += $(objpfx)tst-ld-sse-use.out
+$(objpfx)tst-ld-sse-use.out: ../sysdeps/i386/tst-ld-sse-use.sh $(objpfx)ld.so
+ @echo "Checking ld.so for SSE register use. This will take a few seconds..."
+ $(BASH) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \
+ $(evaluate-test)
+endif
diff --git a/sysdeps/x86/tst-ld-sse-use.sh b/sysdeps/i386/tst-ld-sse-use.sh
similarity index 97%
rename from sysdeps/x86/tst-ld-sse-use.sh
rename to sysdeps/i386/tst-ld-sse-use.sh
index 839de18..85a0651 100755
--- a/sysdeps/x86/tst-ld-sse-use.sh
+++ b/sysdeps/i386/tst-ld-sse-use.sh
@@ -1,5 +1,5 @@
#! /bin/bash
-# Make sure no code in ld.so uses xmm/ymm/zmm registers on x86-64.
+# Make sure no code in ld.so uses xmm/ymm/zmm registers on i386.
# Copyright (C) 2009-2015 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
index c262fdf..0de4f42 100644
--- a/sysdeps/x86/Makefile
+++ b/sysdeps/x86/Makefile
@@ -1,14 +1,3 @@
-ifeq ($(subdir),elf)
-CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
- -mno-sse -mno-mmx)
-
-tests-special += $(objpfx)tst-ld-sse-use.out
-$(objpfx)tst-ld-sse-use.out: ../sysdeps/x86/tst-ld-sse-use.sh $(objpfx)ld.so
- @echo "Checking ld.so for SSE register use. This will take a few seconds..."
- $(BASH) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \
- $(evaluate-test)
-endif
-
ifeq ($(subdir),csu)
gen-as-const-headers += cpu-features-offsets.sym rtld-global-offsets.sym
endif
diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile
index e50bcad..6c28318 100644
--- a/sysdeps/x86_64/Makefile
+++ b/sysdeps/x86_64/Makefile
@@ -19,6 +19,10 @@ gen-as-const-headers += locale-defines.sym
endif
ifeq ($(subdir),elf)
+# There is no good reason to use MMX in x86-64 ld.so with GCC.
+CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
+ -mno-mmx)
+
sysdep-dl-routines += tlsdesc dl-tlsdesc
tests += ifuncmain8
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 13 +++++++++++++
sysdeps/i386/Makefile | 14 ++++++++++++++
sysdeps/{x86 => i386}/tst-ld-sse-use.sh | 2 +-
sysdeps/x86/Makefile | 11 -----------
sysdeps/x86_64/Makefile | 4 ++++
5 files changed, 32 insertions(+), 12 deletions(-)
rename sysdeps/{x86 => i386}/tst-ld-sse-use.sh (97%)
hooks/post-receive
--
GNU C Library master sources