diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile | 36 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S | 3 |
3 files changed, 36 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog index 56f9c6809b..29e514aef0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2017-09-15 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> + + [BZ #21745] + * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: + [$(subdir) = math] (sysdep_calls): New variable. Has the + previous contents of sysdep_routines, but re-sorted.. + [$(subdir) = math] (sysdep_routines): Re-use the contents from + sysdep_calls. + [$(subdir) = math] (libm-sysdep_routines): Remove the functions + defined in sysdep_calls and replace by the respective m_* names. + * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: + (compat_symbol): Undefine to avoid duplicated compat symbols in + libc. + 2017-09-15 Joseph Myers <joseph@codesourcery.com> * math/s_fmaf.c: Include <libm-alias-float.h>. diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile index d6f14f360a..73f2f69377 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile @@ -1,33 +1,35 @@ ifeq ($(subdir),math) -sysdep_routines += s_isnan-power7 s_isnan-power6x s_isnan-power6 \ - s_isnan-power5 s_isnan-ppc64 s_copysign-power6 \ - s_copysign-ppc64 s_finite-power7 s_finite-ppc64 \ - s_finitef-ppc64 s_isinff-ppc64 s_isinf-power7 \ - s_isinf-ppc64 s_modf-power5+ s_modf-ppc64 \ - s_modff-power5+ s_modff-ppc64 s_isnan-power8 \ - s_isinf-power8 s_finite-power8 +# 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_copysign-power6 s_copysign-ppc64 \ + s_finite-power8 s_finite-power7 s_finite-ppc64 \ + s_finitef-ppc64 \ + s_isinf-power8 s_isinf-ppc64 \ + s_isinff-ppc64 s_isinf-power7 \ + s_isnan-power8 s_isnan-power7 s_isnan-power6x s_isnan-power6 \ + s_isnan-power5 s_isnan-ppc64 \ + s_modf-power5+ s_modf-ppc64 \ + s_modff-power5+ s_modff-ppc64 -libm-sysdep_routines += s_isnan-power7 s_isnan-power6x s_isnan-power6 \ - s_isnan-power5 s_isnan-ppc64 s_llround-power6x \ +sysdep_routines += $(sysdep_calls) +libm-sysdep_routines += s_llround-power6x \ s_llround-power5+ s_llround-ppc64 s_ceil-power5+ \ s_ceil-ppc64 s_ceilf-power5+ s_ceilf-ppc64 \ s_floor-power5+ s_floor-ppc64 s_floorf-power5+ \ s_floorf-ppc64 s_round-power5+ s_round-ppc64 \ s_roundf-power5+ s_roundf-ppc64 s_trunc-power5+ \ s_trunc-ppc64 s_truncf-power5+ s_truncf-ppc64 \ - s_copysign-power6 s_copysign-ppc64 s_llrint-power6x \ - s_llrint-ppc64 s_finite-power7 s_finite-ppc64 \ - s_finitef-ppc64 s_isinff-ppc64 s_isinf-power7 \ - s_isinf-ppc64 s_logb-power7 s_logbf-power7 \ + s_llrint-power6x s_llrint-ppc64 \ + s_logb-power7 s_logbf-power7 \ s_logbl-power7 s_logb-ppc64 s_logbf-ppc64 \ - s_logbl-ppc64 s_modf-power5+ s_modf-ppc64 \ - s_modff-power5+ s_modff-ppc64 e_hypot-ppc64 \ + s_logbl-ppc64 e_hypot-ppc64 \ e_hypot-power7 e_hypotf-ppc64 e_hypotf-power7 \ - s_isnan-power8 s_isinf-power8 s_finite-power8 \ s_llrint-power8 s_llround-power8 s_llroundf-ppc64 \ e_expf-power8 e_expf-ppc64 \ s_sinf-ppc64 s_sinf-power8 \ - s_cosf-ppc64 s_cosf-power8 + s_cosf-ppc64 s_cosf-power8 \ + $(sysdep_calls:s_%=m_%) CFLAGS-s_logbf-power7.c = -mcpu=power7 CFLAGS-s_logbl-power7.c = -mcpu=power7 diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S index ee219c14be..eba0d4ff5e 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S @@ -23,6 +23,9 @@ #define weak_alias(a,b) #undef strong_alias #define strong_alias(a,b) +#undef compat_symbol +#define compat_symbol(a,b,c,d) + #define __isnan __isnan_ppc64 #undef hidden_def |