#17806: MPIR fails to build on 32-bit Linux with SAGE_FAT_BINARY=yes
-------------------------------------------------+-------------------------
Reporter: vbraun | Owner:
Type: defect | Status: new
Priority: blocker | Milestone: sage-6.6
Component: packages: standard | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: Reported upstream. Developers | Work issues:
acknowledge bug. | Commit:
Branch: | Stopgaps:
Dependencies: |
-------------------------------------------------+-------------------------
Comment (by leif):
Ok, I ''think^TM^'' I do have an (initial, at least) fix now:
{{{
#!diff
--- mpir-2.7.0-alpha12/mpn/x86/fat/fat.c.orig 2014-09-14
21:59:13.000000000 +0200
+++ mpir-2.7.0-alpha12/mpn/x86/fat/fat.c 2015-02-20
20:16:13.909300216 +0100
@@ -37,6 +37,8 @@
long __gmpn_cpuid __GMP_PROTO ((char dst[12], int id));
struct cpuvec_t __gmpn_cpuvec = {
+ __MPN(add_err1_n_init),
+ __MPN(add_err2_n_init),
__MPN(add_n_init),
__MPN(addmul_1_init),
__MPN(copyd_init),
@@ -55,11 +57,14 @@
__MPN(modexact_1c_odd_init),
__MPN(mul_1_init),
__MPN(mul_basecase_init),
+ __MPN(mulmid_basecase_init),
__MPN(preinv_divrem_1_init),
__MPN(preinv_mod_1_init),
__MPN(redc_1_init),
__MPN(rshift_init),
__MPN(sqr_basecase_init),
+ __MPN(sub_err1_n_init),
+ __MPN(sub_err2_n_init),
__MPN(sub_n_init),
__MPN(submul_1_init),
__MPN(sumdiff_n_init),
@@ -102,6 +107,8 @@
#define CPUSETUP_nehalem CPUVEC_SETUP_nehalem
#define CPUSETUP_westmere CPUVEC_SETUP_nehalem
#define CPUSETUP_sandybridge CPUVEC_SETUP_nehalem
+#define CPUSETUP_ivybridge CPUVEC_SETUP_nehalem
+#define CPUSETUP_haswell CPUVEC_SETUP_nehalem
#define CPUSETUP_atom
CPUVEC_SETUP_p6;CPUVEC_SETUP_p6_mmx;CPUVEC_SETUP_p6_p3mmx
#define CPUSETUP_nano
CPUVEC_SETUP_p6;CPUVEC_SETUP_p6_mmx;CPUVEC_SETUP_p6_p3mmx
#define CPUSETUP_pentium4
CPUVEC_SETUP_pentium4;CPUVEC_SETUP_pentium4_mmx;CPUVEC_SETUP_pentium4_sse2
@@ -116,6 +123,7 @@
#define CPUSETUP_k102
CPUVEC_SETUP_k7;CPUVEC_SETUP_k7_mmx;CPUVEC_SETUP_k7_mmx_k8;CPUVEC_SETUP_k7_mmx_k8_k10;CPUVEC_SETUP_k7_mmx_k8_k10_k102
#define CPUSETUP_k103
CPUVEC_SETUP_k7;CPUVEC_SETUP_k7_mmx;CPUVEC_SETUP_k7_mmx_k8;CPUVEC_SETUP_k7_mmx_k8_k10;CPUVEC_SETUP_k7_mmx_k8_k10_k102
#define CPUSETUP_bulldozer
CPUVEC_SETUP_k7;CPUVEC_SETUP_k7_mmx;CPUVEC_SETUP_k7_mmx_k8;CPUVEC_SETUP_k7_mmx_k8_k10;CPUVEC_SETUP_k7_mmx_k8_k10_k102
+#define CPUSETUP_piledriver
CPUVEC_SETUP_k7;CPUVEC_SETUP_k7_mmx;CPUVEC_SETUP_k7_mmx_k8;CPUVEC_SETUP_k7_mmx_k8_k10;CPUVEC_SETUP_k7_mmx_k8_k10_k102
#define CPUSETUP_bobcat
CPUVEC_SETUP_k7;CPUVEC_SETUP_k7_mmx;CPUVEC_SETUP_k7_mmx_k8;CPUVEC_SETUP_k7_mmx_k8_k10;CPUVEC_SETUP_k7_mmx_k8_k10_k102
#define CPUSETUP_viac3 do{}while(0)
#define CPUSETUP_viac32 do{}while(0)
}}}
Works for me (i.e., builds and passes `make check`) on x86 as well as
x86_64 with `ABI=32`.
Feel free to create an "updated spkg" / Sage patch from that (presumably
by simply adding the patch to the spkg "metadata") -- I won't soon.
--
Ticket URL: <http://trac.sagemath.org/ticket/17806#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.