| # Makefile fragment for PowerPC with no FPU. |
| |
| ifeq ($(subdir),soft-fp) |
| sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \ |
| sim-full atomic-feholdexcept atomic-feclearexcept \ |
| atomic-feupdateenv flt-rounds |
| endif |
| |
| ifeq ($(subdir),math) |
| libm-support += fenv_const |
| CPPFLAGS += -I../soft-fp/ |
| # The follow CFLAGS are a work around for GCC Bugzilla Bug 29253 |
| # "expand_abs wrong default code for floating point" |
| # As this is not a regression, a fix is not likely to go into |
| # gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags |
| # until the fix in a gcc release and glibc drops support for earlier |
| # versions of gcc. |
| # |
| # This bug can cause wrong signs of zero results from fabsl, and |
| # spurious "invalid" exceptions from comparisons with NaN in the |
| # default code sequence generated. The fpclassify expansion used by |
| # __builtin_fpclassify, which is used in the absence of |
| # -fsignaling-nans, uses __builtin_fabsl, and is not affected by |
| # -fno-builtin-fabsl, so requiring -fsignaling-nans for some affected |
| # source files. |
| CFLAGS-e_atan2l.c += -fno-builtin-fabsl |
| CFLAGS-e_hypotl.c += -fno-builtin-fabsl |
| CFLAGS-e_powl.c += -fno-builtin-fabsl |
| CFLAGS-s_cacosl.c += -fsignaling-nans |
| CFLAGS-s_cacoshl.c += -fsignaling-nans |
| CFLAGS-s_casinhl.c += -fsignaling-nans |
| CFLAGS-s_catanl.c += -fsignaling-nans |
| CFLAGS-s_catanhl.c += -fsignaling-nans |
| CFLAGS-s_ccoshl.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-s_cexpl.c += -fsignaling-nans |
| CFLAGS-s_csinhl.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-s_clogl.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-s_clog10l.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-s_csinl.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-s_csqrtl.c += -fno-builtin-fabsl -fsignaling-nans |
| CFLAGS-w_acosl_compat.c += -fno-builtin-fabsl |
| CFLAGS-w_asinl_compat.c += -fno-builtin-fabsl |
| CFLAGS-w_atanhl_compat.c += -fno-builtin-fabsl |
| CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl |
| CFLAGS-w_j1l_compat.c += -fno-builtin-fabsl |
| CFLAGS-e_lgammal_r.c += -fno-builtin-fabsl |
| CFLAGS-e_log10l.c += -fno-builtin-fabsl |
| CFLAGS-e_log2l.c += -fno-builtin-fabsl |
| CFLAGS-e_remainderl.c += -fno-builtin-fabsl |
| CFLAGS-s_fmaxmagl.c += -fno-builtin-fabsl |
| CFLAGS-s_fminmagl.c += -fno-builtin-fabsl |
| endif |