Module Name: src Committed By: macallan Date: Tue May 13 18:46:48 UTC 2014
Modified Files: src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb: Makefile.inc config.h src/external/lgpl3/gmp/lib/libgmp/arch/mips64el: Makefile.inc config.h Log Message: on mips64* use generic C functions instead of assembly routines when building n32 binaries. Should work around PR48696 ok mrg@ To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc cvs rdiff -u -r1.4 -r1.5 \ src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h cvs rdiff -u -r1.5 -r1.6 \ src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc cvs rdiff -u -r1.4 -r1.5 \ src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc diff -u src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc:1.5 src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc:1.6 --- src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc:1.5 Wed Dec 4 00:49:18 2013 +++ src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc Tue May 13 18:46:48 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.5 2013/12/04 00:49:18 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.6 2014/05/13 18:46:48 macallan Exp $ SRCS+= \ random.c \ @@ -174,6 +174,24 @@ C_SRCS_LIST= \ sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ +.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64)) +GMP_LIMB_BITS=64 +C_SRCS_LIST= \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + ASM_SRCS_LIST= \ sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \ add_n.asm mpn/mips64/add_n.asm \ @@ -185,10 +203,35 @@ ASM_SRCS_LIST= \ addmul_1.asm mpn/mips64/addmul_1.asm \ sub_n.asm mpn/mips64/sub_n.asm \ -.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64)) -GMP_LIMB_BITS=64 .else GMP_LIMB_BITS=32 +C_SRCS_LIST= \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + addn_n.c mpn/generic/add_n.c \ + submul_1.c mpn/generic/submul_1.c \ + lshift.c mpn/generic/lshift.c \ + mul_1.c mpn/generic/mul_1.c \ + rshift.c mpn/generic/rshift.c \ + sub_n.c mpn/generic/sub_n.c \ + addmul_1.c mpn/generic/addmul_1.c \ + +ASM_SRCS_LIST= + .endif COPTS+= -Wno-error + +COPTS+= -Wno-error Index: src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h diff -u src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h:1.4 src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h:1.5 --- src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h:1.4 Fri Nov 29 13:26:16 2013 +++ src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h Tue May 13 18:46:48 2014 @@ -221,9 +221,13 @@ along with the GNU MP Library. If not, /* Define to 1 each of the following for which a native (ie. CPU specific) implementation of the corresponding routine exists. */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_add_n 1 +#endif /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_add_nc 1 +#endif /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ /* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ @@ -272,7 +276,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_invert_limb */ /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_lshift 1 +#endif /* #undef HAVE_NATIVE_mpn_lshiftc */ /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ @@ -283,7 +289,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ /* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_mul_1 1 +#endif /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ @@ -308,12 +316,18 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_rshift 1 +#endif /* #undef HAVE_NATIVE_mpn_sqr_basecase */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_sqr_diagonal 1 +#endif /* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_sub_n 1 #define HAVE_NATIVE_mpn_sub_nc 1 +#endif /* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ @@ -331,7 +345,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_umul_ppmm 1 +#endif /* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ /* #undef HAVE_NATIVE_mpn_xor_n */ /* #undef HAVE_NATIVE_mpn_xnor_n */ Index: src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc diff -u src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc:1.5 src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc:1.6 --- src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc:1.5 Wed Dec 4 00:49:18 2013 +++ src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc Tue May 13 18:46:48 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.5 2013/12/04 00:49:18 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.6 2014/05/13 18:46:48 macallan Exp $ SRCS+= \ random.c \ @@ -158,6 +158,8 @@ SRCS+= \ redc_n.c \ sub_err1_n.c \ +.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64)) +GMP_LIMB_BITS=64 C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ sb_div_r_sec.c mpn/generic/sb_div_sec.c \ @@ -185,10 +187,33 @@ ASM_SRCS_LIST= \ addmul_1.asm mpn/mips64/addmul_1.asm \ sub_n.asm mpn/mips64/sub_n.asm \ -.if (defined(CPUFLAGS) && !empty(CPUFLAGS:M-mabi=64)) -GMP_LIMB_BITS=64 .else GMP_LIMB_BITS=32 +C_SRCS_LIST= \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + addn_n.c mpn/generic/add_n.c \ + submul_1.c mpn/generic/submul_1.c \ + lshift.c mpn/generic/lshift.c \ + mul_1.c mpn/generic/mul_1.c \ + rshift.c mpn/generic/rshift.c \ + sub_n.c mpn/generic/sub_n.c \ + addmul_1.c mpn/generic/addmul_1.c \ + +ASM_SRCS_LIST= + .endif COPTS+= -Wno-error Index: src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h diff -u src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h:1.4 src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h:1.5 --- src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h:1.4 Fri Nov 29 13:26:16 2013 +++ src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h Tue May 13 18:46:48 2014 @@ -221,9 +221,13 @@ along with the GNU MP Library. If not, /* Define to 1 each of the following for which a native (ie. CPU specific) implementation of the corresponding routine exists. */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_add_n 1 +#endif /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_add_nc 1 +#endif /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ /* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ @@ -272,7 +276,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_invert_limb */ /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_lshift 1 +#endif /* #undef HAVE_NATIVE_mpn_lshiftc */ /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ @@ -283,7 +289,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ /* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_mul_1 1 +#endif /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ @@ -308,12 +316,20 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_rshift 1 +#endif /* #undef HAVE_NATIVE_mpn_sqr_basecase */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_sqr_diagonal 1 +#endif /* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_sub_n 1 +#endif +#ifdef _LP64 #define HAVE_NATIVE_mpn_sub_nc 1 +#endif /* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ @@ -331,7 +347,9 @@ along with the GNU MP Library. If not, /* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +#ifdef _LP64 #define HAVE_NATIVE_mpn_umul_ppmm 1 +#endif /* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ /* #undef HAVE_NATIVE_mpn_xor_n */ /* #undef HAVE_NATIVE_mpn_xnor_n */