When disabling SSE, make sure -fpmath is not set to use SSE either

This fixes errors when we inject sse options through CFLAGS and now
that we have -Werror turned on by default this warning turns into an
error on x86:

$ gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S -mno-sse -mno-mmx
/dev/null:1:0: warning: SSE instruction set disabled, using 387 arithmetics

Where as:

$ gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S -mno-sse -mno-mmx -mfpmath=387

Generates no warnings.
This commit is contained in:
Khem Raj 2016-04-02 21:55:25 -07:00 committed by Mike Frysinger
parent ef9ec89760
commit 1a5d01e79e
2 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2016-04-09 Khem Raj <raj.khem@gmail.com>
[BZ #17950]
* sysdeps/i386/Makefile [$(subdir) == elf] (CFLAGS-.os):
Add -mfpmath=387.
2016-04-09 Mike Frysinger <vapier@gentoo.org>
* sysdeps/i386/configure.ac: Change == to = when calling test.

View file

@ -88,8 +88,9 @@ 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.
CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
-mno-sse -mno-mmx)
-mno-sse -mno-mmx -mfpmath=387)
tests-special += $(objpfx)tst-ld-sse-use.out
$(objpfx)tst-ld-sse-use.out: ../sysdeps/i386/tst-ld-sse-use.sh $(objpfx)ld.so