diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-07-28 18:56:18 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-08-05 07:32:50 -0700 |
commit | 3d688eaab39b238aa001cbb83705eb301dd72478 (patch) | |
tree | 9e16873af493cd85dd907763ef078f385f4b2b3b | |
parent | c7a97fb441e86c532676a36677a4a4377c9d0957 (diff) | |
download | glibc-3d688eaab39b238aa001cbb83705eb301dd72478.zip glibc-3d688eaab39b238aa001cbb83705eb301dd72478.tar.gz glibc-3d688eaab39b238aa001cbb83705eb301dd72478.tar.bz2 |
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/Makefile | 11 | ||||
-rw-r--r-- | sysdeps/x86/Makefile | 11 | ||||
-rw-r--r-- | sysdeps/x86_64/Makefile | 3 |
3 files changed, 14 insertions, 11 deletions
diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index 11f425d..2c08907 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 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 f6ef064..e155691 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 |