about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-28 18:56:18 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-05 07:32:50 -0700
commit3d688eaab39b238aa001cbb83705eb301dd72478 (patch)
tree9e16873af493cd85dd907763ef078f385f4b2b3b
parentc7a97fb441e86c532676a36677a4a4377c9d0957 (diff)
downloadglibc-3d688eaab39b238aa001cbb83705eb301dd72478.tar.gz
glibc-3d688eaab39b238aa001cbb83705eb301dd72478.tar.xz
glibc-3d688eaab39b238aa001cbb83705eb301dd72478.zip
Don't disable SSE in x86-64 ld.so
Since ld.so preserves vector registers now, we can use SSE in ld.so.

	* sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os): Add
	-mno-sse -mno-mmx for $(all-rtld-routines).
	[$(subdir) == elf] (tests-special): Add
	$(objpfx)tst-ld-sse-use.out.
	[$(subdir) == elf] ($(objpfx)tst-ld-sse-use.out): New rule.
	* sysdeps/x86/Makefile [$(subdir) == elf] (CFLAGS-.os): Removed.
	[$(subdir) == elf] (tests-special): Likewise.
	[$(subdir) == elf] ($(objpfx)tst-ld-sse-use.out): Likewise.
	* sysdeps/x86_64/Makefile [$(subdir) == elf] (CFLAGS-.os): Add
	-mno-mmx for $(all-rtld-routines).
-rw-r--r--sysdeps/i386/Makefile11
-rw-r--r--sysdeps/x86/Makefile11
-rw-r--r--sysdeps/x86_64/Makefile3
3 files changed, 14 insertions, 11 deletions
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index 11f425dc92..2c089075c4 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -79,3 +79,14 @@ endif
 ifeq ($(subdir),csu)
 gen-as-const-headers += tlsdesc.sym
 endif
+
+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
diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
index c262fdf487..0de4f42168 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 f6ef064ef8..e155691c11 100644
--- a/sysdeps/x86_64/Makefile
+++ b/sysdeps/x86_64/Makefile
@@ -19,6 +19,9 @@ gen-as-const-headers += locale-defines.sym
 endif
 
 ifeq ($(subdir),elf)
+CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
+		   -mno-mmx)
+
 sysdep-dl-routines += tlsdesc dl-tlsdesc
 
 tests += ifuncmain8