From bd284347da627b81b53fabc387ba75d419cfbb2a Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Wed, 8 Jan 2020 19:20:04 +0100 Subject: [PATCH] libports: fix undefined reference for gmp on arm_v8 * enable native 'invert_limb' implemenation * disable native 'udiv_qrnnd' implemenation fixes #3598 --- repos/libports/lib/mk/spec/arm_64/gmp-mpn.mk | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/repos/libports/lib/mk/spec/arm_64/gmp-mpn.mk b/repos/libports/lib/mk/spec/arm_64/gmp-mpn.mk index 3797c6366..23ee816b8 100644 --- a/repos/libports/lib/mk/spec/arm_64/gmp-mpn.mk +++ b/repos/libports/lib/mk/spec/arm_64/gmp-mpn.mk @@ -6,20 +6,25 @@ FILTER_OUT += udiv_w_sdiv.c # add ARM-specific assembly files and filter out the generic C files if needed -SRC_ASM += copyd.asm copyi.asm + SRC_ASM += copyd.asm copyi.asm invert_limb.asm FILTER_OUT += popham.c -FILTER_OUT += logops_n.c sec_div.c sec_pi1_div.c copyi.c copyd.c +FILTER_OUT += pre_divrem_1.c logops_n.c sec_div.c sec_pi1_div.c copyi.c copyd.c SRC_C += $(notdir $(wildcard $(REP_DIR)/src/lib/gmp/mpn/spec/64bit/*.c)) SRC_C += $(filter-out $(FILTER_OUT),$(notdir $(wildcard $(GMP_MPN_DIR)/generic/*.c))) +# +# Since aarch64 does not implement 'udiv_qrnnd ' this is required to override +# 'libports/include/gmp/config.h' setting. +# +CC_OPT += -DHAVE_NATIVE_mpn_invert_limp=1 -UHAVE_NATIVE_mpn_udiv_qrnnd + include $(REP_DIR)/lib/mk/gmp.inc PWD := $(shell pwd) SRC_O += $(SRC_ASM:.asm=.o) hamdist.o popcount.o - # # Create execution environment for the m4-ccas tool, which is used by the gmp # library to assemble asm files to object files. Make sure to execute this rule