aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile')
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile15
1 files changed, 11 insertions, 4 deletions
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
index 62bf6f1..b8d1126 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
@@ -1,12 +1,19 @@
ifeq ($(subdir),math)
-libm-sysdep_routines += m_copysignf-vis3 m_copysign-vis3 s_fabs-vis3 \
- s_fabsf-vis3 s_llrintf-vis3 s_llrint-vis3 \
+
+# 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_llrintf-vis3 s_llrint-vis3 \
s_rintf-vis3 s_rint-vis3 \
s_fmaf-vis3 s_fma-vis3 s_fma-generic s_fmaf-generic \
s_nearbyint-vis3 s_nearbyintf-vis3 \
s_fdimf-vis3 s_fdim-vis3 s_fdim-generic \
- s_fdimf-generic
-sysdep_routines += s_copysignf-vis3 s_copysign-vis3
+ s_fdimf-generic \
+ $(sysdep_calls:s_%=m_%)
CFLAGS-s_fdimf-vis3.c += -Wa,-Av9d -mvis3
CFLAGS-s_fdim-vis3.c += -Wa,-Av9d -mvis3