From f496b28e61d0342f579bf794c71b80e9c7d0b1b5 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 21 Jun 2018 08:04:29 +0200 Subject: math: Set 387 and SSE2 rounding mode for tgamma on i386 [BZ #23253] Previously, only the SSE2 rounding mode was set, so the assembler implementations using 387 were not following the expecting rounding mode. --- sysdeps/i386/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'sysdeps/i386/Makefile') diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index 1682394e76..c0a4fe15d4 100644 --- a/sysdeps/i386/Makefile +++ b/sysdeps/i386/Makefile @@ -5,6 +5,14 @@ asm-CPPFLAGS += -DGAS_SYNTAX # The i386 `long double' is a distinct type we support. long-double-fcts = yes +ifeq ($(subdir),math) +# These functions change the rounding mode internally and need to +# update both the SSE2 rounding mode and the 387 rounding mode. See +# the handling of MATH_SET_BOTH_ROUNDING_MODES in +# sysdeps/i386/fpu/fenv_private.h. +CFLAGS-e_gamma_r.c += -DMATH_SET_BOTH_ROUNDING_MODES +endif + ifeq ($(subdir),string) sysdep_routines += cacheinfo endif -- cgit 1.4.1