diff options
Diffstat (limited to 'sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile')
-rw-r--r-- | sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile index 0d92813d7b..1a26ee19c3 100644 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile +++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile @@ -1,15 +1,23 @@ ifeq ($(subdir),math) -libm-sysdep_routines += s_ceil-vis2 s_ceilf-vis2 \ - s_floor-vis2 s_floorf-vis2 -ifeq ($(have-as-vis3),yes) -libm-sysdep_routines += m_copysignf-vis3 m_copysign-vis3 s_ceilf-vis3 \ - s_ceil-vis3 s_fabs-vis3 s_fabsf-vis3 s_floor-vis3 \ - s_floorf-vis3 s_llrintf-vis3 s_llrint-vis3 \ - s_rintf-vis3 s_rint-vis3 w_sqrt-vis3 w_sqrtf-vis3 \ - s_fminf-vis3 s_fmin-vis3 s_fmaxf-vis3 s_fmax-vis3 \ - s_fmaf-vis3 s_fma-vis3 s_fdimf-vis3 s_fdim-vis3 \ - s_nearbyint-vis3 s_nearbyintf-vis3 s_truncf-vis3 \ - s_trunc-vis3 -sysdep_routines += s_copysignf-vis3 s_copysign-vis3 -endif + +# These functions are built both for libc and libm because they're required +# by printf. While the libc objects have the prefix s_, the libm ones are +# prefixed with m_. +sysdep_calls := s_copysignf-vis3 s_copysign-vis3 s_copysignf-generic \ + s_copysign-generic + +sysdep_routines += $(sysdep_calls) +libm-sysdep_routines += s_fabs-vis3 s_fabsf-vis3 s_fabs-generic \ + s_fabsf-generic s_llrintf-vis3 s_llrint-vis3 \ + s_llrintf-generic s_llrint-generic \ + s_rintf-vis3 s_rint-vis3 s_rintf-generic \ + s_rint-generic s_fmaf-vis3 s_fma-vis3 s_fma-generic \ + s_fmaf-generic s_nearbyint-vis3 s_nearbyintf-vis3 \ + s_nearbyint-generic s_nearbyintf-generic \ + s_fdimf-vis3 s_fdim-vis3 s_fdim-generic \ + s_fdimf-generic \ + $(sysdep_calls:s_%=m_%) + +CFLAGS-s_fdimf-vis3.c += -Wa,-Av9d -mvis3 +CFLAGS-s_fdim-vis3.c += -Wa,-Av9d -mvis3 endif |