mirror of git://sourceware.org/git/glibc.git
i386: Compile rtld-*.os with -mno-sse -mno-mmx -mfpmath=387
Compile i386 rtld-*.os with -mno-sse -mno-mmx -mfpmath=387 so that 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. * sysdeps/i386/Makefile (rtld-CFLAGS): New. [subdir == elf] (CFLAGS-.os): Replace -mno-sse -mno-mmx -mfpmath=387 with $(rtld-CFLAGS). [subdir != elf] (CFLAGS-.os): Compile rtld-*.os with $(rtld-CFLAGS).
This commit is contained in:
parent
41d0365882
commit
d957c4d3fa
|
@ -1,3 +1,11 @@
|
|||
2016-07-18 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/i386/Makefile (rtld-CFLAGS): New.
|
||||
[subdir == elf] (CFLAGS-.os): Replace -mno-sse -mno-mmx
|
||||
-mfpmath=387 with $(rtld-CFLAGS).
|
||||
[subdir != elf] (CFLAGS-.os): Compile rtld-*.os with
|
||||
$(rtld-CFLAGS).
|
||||
|
||||
2016-07-18 Ross Burton <ross.burton@intel.com>
|
||||
Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
|
|
|
@ -84,17 +84,20 @@ 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.
|
||||
# With SSE disabled, ensure -fpmath is not set to use sse either.
|
||||
rtld-CFLAGS = -mno-sse -mno-mmx -mfpmath=387
|
||||
ifeq ($(subdir),elf)
|
||||
CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
|
||||
-mno-sse -mno-mmx -mfpmath=387)
|
||||
$(rtld-CFLAGS))
|
||||
|
||||
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)
|
||||
else
|
||||
CFLAGS-.os += $(if $(filter rtld-%.os,$(@F)), $(rtld-CFLAGS))
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue