src/Makefile.am | 3 ++- src/libmpfr.sym | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/mpfr-longlong.h | 5 +++++ 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index c2196f8..d873819 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -103,7 +103,8 @@ libmpfr_la_LIBADD = @LIBOBJS@ # 4.0.x 6:x:0 # 4.1.x 7:x:1 # 4.2.x 8:x:2 -libmpfr_la_LDFLAGS = $(MPFR_LDFLAGS) $(LIBMPFR_LDFLAGS) -version-info 8:1:2 +libmpfr_la_LDFLAGS = $(MPFR_LDFLAGS) $(LIBMPFR_LDFLAGS) -version-info 8:1:2 \ + -export-symbols $(srcdir)/libmpfr.sym GET_PATCHES_SH = $(top_srcdir)/tools/get_patches.sh PATCHES = $(top_srcdir)/PATCHES diff --git a/src/libmpfr.sym b/src/libmpfr.sym new file mode 100644 index 0000000..c4a9f4b --- /dev/null +++ b/src/libmpfr.sym @@ -0,0 +1,54 @@ +__gmpfr_cache_const_catalan +__gmpfr_cache_const_euler +__gmpfr_cache_const_log2 +__gmpfr_cache_const_pi +__gmpfr_ceil_log2 +__gmpfr_cuberoot +__gmpfr_default_fp_bit_precision +__gmpfr_default_rounding_mode +__gmpfr_emax +__gmpfr_emin +__gmpfr_flags +__gmpfr_floor_log2 +__gmpfr_int_ceil_log2 +__gmpfr_isqrt +__gmpfr_l2b +__gmpfr_one +mpfr_abort_prec_max +mpfr_add1 +mpfr_add1sp +mpfr_allocate_func +mpfr_assert_fail +mpfr_cache +mpfr_can_round_raw +mpfr_check +mpfr_clear_cache +mpfr_cmp2 +mpfr_const_pi_internal +mpfr_exp_2 +mpfr_exp_3 +mpfr_mpz_clear +mpfr_mpz_init +mpfr_nexttoinf +mpfr_nexttozero +mpfr_overflow +mpfr_powerof2_raw +mpfr_print_mant_binary +mpfr_rand_raw +mpfr_random_deviate_clear +mpfr_random_deviate_init +mpfr_random_deviate_less +mpfr_random_deviate_reset +mpfr_random_deviate_tstbit +mpfr_random_deviate_value +mpfr_reallocate_func +mpfr_round_near_x +mpfr_round_p +mpfr_set_1_2 +mpfr_set_str_binary +mpfr_setmax +mpfr_setmin +mpfr_sincos_fast +mpfr_sub1 +mpfr_sub1sp +mpfr_underflow diff --git a/src/mpfr-longlong.h b/src/mpfr-longlong.h index 8e71eea..c5587a1 100644 --- a/src/mpfr-longlong.h +++ b/src/mpfr-longlong.h @@ -605,6 +605,11 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); #define count_trailing_zeros(count, x) count_trailing_zeros_gcc_ctz(count, x) #endif /* __aarch64__ */ +#if defined(__e2k__) && W_TYPE_SIZE == 64 +#define count_leading_zeros(count, x) count_leading_zeros_gcc_clz(count, x) +#define count_trailing_zeros(count, x) count_trailing_zeros_gcc_ctz(count, x) +#endif + #if defined (__clipper__) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \