1# Makefile fragment for PowerPC with no FPU. 2 3ifeq ($(subdir),soft-fp) 4sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \ 5 sqrtsf2 sqrtdf2 \ 6 sim-full atomic-feholdexcept atomic-feclearexcept \ 7 atomic-feupdateenv flt-rounds 8endif 9 10ifeq ($(subdir),math) 11libm-support += fenv_const 12CPPFLAGS += -I../soft-fp/ 13# The follow CFLAGS are a work around for GCC Bugzilla Bug 29253 14# "expand_abs wrong default code for floating point" 15# As this is not a regression, a fix is not likely to go into 16# gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags 17# until the fix in a gcc release and glibc drops support for earlier 18# versions of gcc. 19# 20# This bug can cause wrong signs of zero results from fabsl, and 21# spurious "invalid" exceptions from comparisons with NaN in the 22# default code sequence generated. The fpclassify expansion used by 23# __builtin_fpclassify, which is used in the absence of 24# -fsignaling-nans, uses __builtin_fabsl, and is not affected by 25# -fno-builtin-fabsl, so requiring -fsignaling-nans for some affected 26# source files. 27CFLAGS-e_atan2l.c += -fno-builtin-fabsl 28CFLAGS-e_hypotl.c += -fno-builtin-fabsl 29CFLAGS-e_powl.c += -fno-builtin-fabsl 30CFLAGS-s_cacosl.c += -fsignaling-nans 31CFLAGS-s_cacoshl.c += -fsignaling-nans 32CFLAGS-s_casinhl.c += -fsignaling-nans 33CFLAGS-s_catanl.c += -fsignaling-nans 34CFLAGS-s_catanhl.c += -fsignaling-nans 35CFLAGS-s_ccoshl.c += -fno-builtin-fabsl -fsignaling-nans 36CFLAGS-s_cexpl.c += -fsignaling-nans 37CFLAGS-s_csinhl.c += -fno-builtin-fabsl -fsignaling-nans 38CFLAGS-s_clogl.c += -fno-builtin-fabsl -fsignaling-nans 39CFLAGS-s_clog10l.c += -fno-builtin-fabsl -fsignaling-nans 40CFLAGS-s_csinl.c += -fno-builtin-fabsl -fsignaling-nans 41CFLAGS-s_csqrtl.c += -fno-builtin-fabsl -fsignaling-nans 42CFLAGS-w_acosl_compat.c += -fno-builtin-fabsl 43CFLAGS-w_asinl_compat.c += -fno-builtin-fabsl 44CFLAGS-w_atanhl_compat.c += -fno-builtin-fabsl 45CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl 46CFLAGS-w_j1l_compat.c += -fno-builtin-fabsl 47CFLAGS-e_lgammal_r.c += -fno-builtin-fabsl 48CFLAGS-e_log10l.c += -fno-builtin-fabsl 49CFLAGS-e_log2l.c += -fno-builtin-fabsl 50CFLAGS-e_remainderl.c += -fno-builtin-fabsl 51CFLAGS-s_fmaxmagl.c += -fno-builtin-fabsl 52CFLAGS-s_fminmagl.c += -fno-builtin-fabsl 53CFLAGS-s_fmaximum_magl.c += -fno-builtin-fabsl 54CFLAGS-s_fmaximum_mag_numl.c += -fno-builtin-fabsl 55CFLAGS-s_fminimum_magl.c += -fno-builtin-fabsl 56CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fabsl 57endif 58