This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]