Closed AndrewMathas closed 6 years ago
making this a blocker - we do want skylake in, no?
Branch: u/dimpase/skylakefix
Author: Dima Pasechnik
Description changed:
---
+++
@@ -1,15 +1,17 @@
-As discussed on [sage-devel](https://groups.google.com/forum/#!topic/sage-devel/P4GtTf2zo8k), mpir does not build skylake chips. As reported by Bill Hart,
+As discussed on [sage-devel](https://groups.google.com/forum/#!topic/sage-devel/P4GtTf2zo8k), mpir does not build on Skylake chips. As reported by Bill Hart,
- We know what the problem is now, but don't have a working patch to fix it. It's the JMPENT macro in mpn/x86_64/x86_64-defs.m4 that doesn't work on 64 bit OSX. Details of the issue can be found [https://gmplib.org/list-archives/gmp-bugs/2012-December/002836.html here.
+> We know what the problem is now, but don't have a working patch to fix it.
+> It's the JMPENT macro in mpn/x86_64/x86_64-defs.m4 that doesn't work
+> on 64 bit OSX. Details of the issue can be found
+> [here](https://gmplib.org/list-archives/gmp-bugs/2012-December/002836.html).
-A work around is to:
-* unpack $SAGE_ROOT/upstream/mpir-3.0.0.tar.bz2
+A workaround is to:
+* unpack `$SAGE_ROOT/upstream/mpir-3.0.0.tar.bz2`
* delete the three files:
- - mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.as
- - mpir-3.0.0/mpn/x86_64w/skylake/avx/mul_basecase.asm
- - mpir-3.0.0/mpn/x86_64w/skylake/avx/sqr_basecase.asm
-* recreate mpir-3.0.0.tar.bz2
-* Fix thepackage checksums: ./sage --package fix-checksum
-* Rebuild mpri with: ./sage -f mpir
+ - `mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.as`
+ - `mpir-3.0.0/mpn/x86_64w/skylake/avx/mul_basecase.asm`
+ - `mpir-3.0.0/mpn/x86_64w/skylake/avx/sqr_basecase.asm`
+* recreate `mpir-3.0.0.tar.bz2`
+* fix the package checksums: `./sage --package fix-checksum`
+* rebuild mpir with: `./sage -f mpir`
-
(Minor typo fixes and reformatting of ticket description.)
Description changed:
---
+++
@@ -5,13 +5,10 @@
> on 64 bit OSX. Details of the issue can be found
> [here](https://gmplib.org/list-archives/gmp-bugs/2012-December/002836.html).
-A workaround is to:
-* unpack `$SAGE_ROOT/upstream/mpir-3.0.0.tar.bz2`
-* delete the three files:
+the branch:
+* deletes the three files:
- `mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.as`
- `mpir-3.0.0/mpn/x86_64w/skylake/avx/mul_basecase.asm`
- `mpir-3.0.0/mpn/x86_64w/skylake/avx/sqr_basecase.asm`
-* recreate `mpir-3.0.0.tar.bz2`
-* fix the package checksums: `./sage --package fix-checksum`
-* rebuild mpir with: `./sage -f mpir`
+* bumps up the version to p1.
the actual state of the ticket reflected in the descr. now.
When I pull this change to a build that failed before, I get
[mpir-3.0.0.p0] libtool: link: /usr/bin/gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libmpir.23.dylib .libs/assert.o .libs/compat.o .libs/errno.o .libs/extract-dbl.o .libs/invalid.o .libs/memory.o .li
[mpir-3.0.0.p0] ld: in section __DATA,__const reloc 0: X86_64_RELOC_SUBTRACTOR must have r_extern=1 file 'mpn/.libs/addmul_1.o' for architecture x86_64
[mpir-3.0.0.p0] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Full log posted at http://www.pitt.edu/~roed/mpir-24085.log.
I'll try starting from a fresh sage-8.1.rc2.
Very similar looking error when trying with a fresh Sage. Log posted at http://www.pitt.edu/~roed/mpir-24085_2.log
Description changed:
---
+++
@@ -7,7 +7,7 @@
the branch:
* deletes the three files:
- - `mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.as`
+ - `mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.asm`
- `mpir-3.0.0/mpn/x86_64w/skylake/avx/mul_basecase.asm`
- `mpir-3.0.0/mpn/x86_64w/skylake/avx/sqr_basecase.asm`
* bumps up the version to p1.
Well, I merely presented in a patch form what was reported by Andrew to be a working workaround. Without access to the corresponding OS/arch combo, I can't do much.
Changed branch from u/dimpase/skylakefix to none
David, could you post the output of MPIR's ./config.guess for your system?
I'm thinking about a better way to fix this: detect skylake+OSX combo and pass a different (working) arch to the MPIR build system.
Replying to @dimpase:
David, could you post the output of MPIR's ./config.guess for your system?
Replying to @roed314:
Replying to @dimpase:
David, could you post the output of MPIR's ./config.guess for your system?
this looks like a script. I meant: cd $SAGE_ROOT/upstream; tar xf mpir-3.0.0.tar.gz; cd mpir-3.0.0; ./config.guess
e.g. on my laptop I get the output
skylakeavx-unknown-linux-gnu
Replying to @dimpase:
Replying to @roed314:
Replying to @dimpase:
David, could you post the output of MPIR's ./config.guess for your system?
this looks like a script. I meant:
cd $SAGE_ROOT/upstream; tar xf mpir-3.0.0.tar.gz; cd mpir-3.0.0; ./config.guess
Ah, thanks.
e.g. on my laptop I get the output
skylakeavx-unknown-linux-gnu
I get skylakeavx-apple-darwin16.7.0
So I also don't have the set up to test this, but it looks like deleting the files in x86_64w is the wrong place. the 64w folder is for windows code and wouldn't be used by osx? Perhaps deleting the files just in x86_64 will work. (If we look at David's log it does config.status: linking mpn/x86_64/skylake/avx/addmul_1.asm to mpn/addmul_1.asm so osx is using the x86_64 code)
Deleting the files in x86_64 or x86_64w? There's also x86w....
x86_64 is 64bit *nix abi, x86_64w is 64bit windows, x86(w) is older 32-bit stuff for linux (resp. windows) . mpn/x86_64/ is what's being linked on your machine.
I tried
cd upstream/mpir-3.0.0/mpn/x86_64
rm -rf *
cd $SAGE_ROOT && make
I still get
[mpir-3.0.0.p1] libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libmpir.23.dylib .libs/assert.o .libs/compat.o .libs/errno.o .libs/extract-dbl.o .libs/invalid.o .libs/memory.o .libs/mp_bpi
[mpir-3.0.0.p1] ld: in section __DATA,__const reloc 0: X86_64_RELOC_SUBTRACTOR must have r_extern=1 file 'mpn/.libs/addmul_1.o' for architecture x86_64
[mpir-3.0.0.p1] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Let me know if you have any other ideas....
Sorry I was being lazy you don't want to remove all the x86_64 code just the 3 from before just from the right folder: mpir-3.0.0/mpn/x86_64/skylake/avx/addmul_1.asm mpir-3.0.0/mpn/x86_64/skylake/avx/mul_basecase.asm mpir-3.0.0/mpn/x86_64/skylake/avx/sqr_basecase.asm also you need to re-run ./configure after this, is sage make doing that?
I downloaded a fresh copy of sage and deleted the files. At first I didn't see your comment about ./configure
, but after getting an error, I ran ./configure && make
, to no avail:
[mpir-3.0.0.p0] /bin/sh ./libtool --tag=CC --mode=link gcc -m64 -O2 -march=skylake -mtune=skylake -g -version-info 23:3:0 -L/Users/roed/sage/sage-8.1.rc2/local/lib -Wl,-rpath,/Users/roed/sage/sage-8.1.rc2/ls
[mpir-3.0.0.p0] libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libmpir.23.dylib .libs/assert.o .libs/compat.o .libs/errno.o .libs/extract-dbl.o .libs/invalid.o .libs/memory.o .libs/mp_bps
[mpir-3.0.0.p0] ld: in section __DATA,__const reloc 0: X86_64_RELOC_SUBTRACTOR must have r_extern=1 file 'mpn/.libs/addmul_1.o' for architecture x86_64
[mpir-3.0.0.p0] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Following a tip from Bill, I am able to reproduce the issue on a non-skylake OSX 10.12 machine (with XCode 9). To do this (in MPIR source dir), do
./configure --host=skylakeavx-apple-darwin16.7.0
make
and get the familiar
ld: in section __DATA,__const reloc 0: X86_64_RELOC_SUBTRACTOR must have r_extern=1 file 'mpn/.libs/addmul_1.o' for architecture x86_64
(This should also work on Travis CI, if you are so inclined (although in my experience Travis is quite slow on OSX).
Now the plan is to lift the fix for the responsible m4 off GMP...
I am trying the following patch, basically taken from GMP
diff --git a/mpn/x86_64/x86_64-defs.m4 b/mpn/x86_64/x86_64-defs.m4
index 120efc7..0f65e55 100644
--- a/mpn/x86_64/x86_64-defs.m4
+++ b/mpn/x86_64/x86_64-defs.m4
@@ -129,9 +129,10 @@ dnl Usage: JMPENT(targlabel,tablabel)
define(`JMPENT',`dnl
ifdef(`PIC',
- `.long $1-$2'
+ `.set $1_tmp, $1-$2
+ .long $1_tmp'
,
- `.quad $1'
+ `.quad $1'
)')
dnl Usage: call_mcount
@@ -666,7 +667,7 @@ define(`R8',
$1,`%r14',`%r14b',
$1,`%r15',`%r15b')')
-define(`JUMPTABSECT', `.section .data.rel.ro.local,"aw",@progbits')
+define(`JUMPTABSECT', `.text')
dnl Usage: JMPENT(targlabel,tablabel)
but it does not work, neither with the native (clang) toolchain, nor with gcc-7.2. (Same error with addmul_1.o
as above).
Could it be something to do with internal vs non-internal assembly?
Please try this on the "real" skylake. It builds on the fake one (i.e. with --host=skylakeavx-apple-darwin16.7.0
).
In the previous attempt I missed that JMPENT and JUMPTABSECT are defined twice...
New commits:
ad77588 | testing-only - for OSX skylake |
Branch: u/dimpase/skylakefix
Description changed:
---
+++
@@ -5,10 +5,4 @@
> on 64 bit OSX. Details of the issue can be found
> [here](https://gmplib.org/list-archives/gmp-bugs/2012-December/002836.html).
-the branch:
-* deletes the three files:
- - `mpir-3.0.0/mpn/x86_64w/skylake/avx/addmul_1.asm`
- - `mpir-3.0.0/mpn/x86_64w/skylake/avx/mul_basecase.asm`
- - `mpir-3.0.0/mpn/x86_64w/skylake/avx/sqr_basecase.asm`
-* bumps up the version to p1.
-
+the branch patches the relevant m4 macros. It is for testing purposes only - a proper fix should make it conditional for OSX.
The ticket says "Workaround found; Bug reported upstream." but where is the upstream report?
And please add a link to this ticket in the patch file.
I'm past the mpir compilation: looking good so far. I'll report once it's done and I've run tests.
I'm getting an error building gcc:
[gcc-7.2.0] /Users/roed/sage/sage-8.1.rc2/local/var/tmp/sage/build/gcc-7.2.0/gcc-build/./gcc/xgcc -B/Users/roed/sage/sage-8.1.rc2/local/var/tmp/sage/build/gcc-7.2.0/gcc-build/./gcc/ -nostdinc -x c /dev/null -S -o /d
[gcc-7.2.0] <built-in>: internal compiler error: Bus error: 10
[gcc-7.2.0] libbacktrace could not find executable to open
[gcc-7.2.0] Please submit a full bug report,
[gcc-7.2.0] with preprocessed source if appropriate.
[gcc-7.2.0] See <https://gcc.gnu.org/bugs/> for instructions.
[gcc-7.2.0] make[6]: *** [s-selftest] Error 1
[gcc-7.2.0] rm gcc.pod
[gcc-7.2.0] make[5]: *** [all-stage1-gcc] Error 2
[gcc-7.2.0] make[4]: *** [stage1-bubble] Error 2
[gcc-7.2.0] make[3]: *** [all] Error 2
Full log at http://www.pitt.edu/~roed/gcc_24085.log
OK, now I see that on my machine MPIR with this patch fails standalone tests. :-(
That's probably why gcc can't be built (mpir is used ) Let me try few variations to see if I can make it work.
In fact, it's linking errors that I get; the MPIR tests fail with the following:
$ less tests/t-constants.log
dyld: Symbol not found: .Ll0m4_tmp
Referenced from: /Volumes/Sage/sage/upstream/mpir-3.0.0/.libs/libmpir.23.dylib
Expected in: flat namespace
in /Volumes/Sage/sage/upstream/mpir-3.0.0/.libs/libmpir.23.dylib
Right, the problem turns out to be that some assembler code in MPIR does not work with the new version of the JMPENT macro. Updating it still leads to two errors in MPIR testsuite. See https://github.com/wbhart/mpir/issues/232
It would be great if someone can tell how to write an m4 macro that is conditional on the OS type (we only need to change JMPENT on OSX).
This ticket doesn't look like it'll be ready any time soon, skip it for 8.1?
Replying to @vbraun:
This ticket doesn't look like it'll be ready any time soon, skip it for 8.1?
I hope to have a working version by the end of today... But it's up to you, I think Apple should not slow Sage down (without paying us, for sure :-))
Replying to @dimpase:
Replying to @vbraun:
This ticket doesn't look like it'll be ready any time soon, skip it for 8.1?
I hope to have a working version by the end of today... But it's up to you, I think Apple should not slow Sage down (without paying us, for sure :-))
I can't help with the fix itself, but I'm happy to keep helping with testing.
Replying to @roed314:
Replying to @dimpase:
Replying to @vbraun:
This ticket doesn't look like it'll be ready any time soon, skip it for 8.1?
I hope to have a working version by the end of today... But it's up to you, I think Apple should not slow Sage down (without paying us, for sure :-))
I can't help with the fix itself, but I'm happy to keep helping with testing.
Could you try out (the master of) https://github.com/dimpase/mpir.git ? that is,
git clone https://github.com/dimpase/mpir.git
cd mpir
./autogen.sh
./configure CC=cc --prefix=/tmp/blah && make -j8 && make -j8 check
(assuming you have yasm
installed)
This fails 2 tests on non-skylake, perhaps it would work on skylake?
I'm running xcode Version 9.0 (9A235) on on mscox 10.12.16. I got the following errors:
PASS: t-addadd_n
PASS: t-addsub_n
PASS: t-aors_1
../../test-driver: line 107: 94805 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 94803 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_bdiv_q
PASS: t-asmtype
FAIL: t-dc_bdiv_q_n
../../test-driver: line 107: 94861 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 94862 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 94863 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_div_q
FAIL: t-dc_bdiv_qr
FAIL: t-dc_bdiv_qr_n
../../test-driver: line 107: 94918 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 94920 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 94919 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_div_qr_n
FAIL: t-dc_divappr_q
FAIL: t-dc_div_qr
PASS: t-divrem_1
PASS: t-divebyff
PASS: t-divebyfobm1
../../test-driver: line 107: 95028 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 95027 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-gcdext
FAIL: t-fat
PASS: t-get_d
PASS: t-instrument
../../test-driver: line 107: 95085 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-hgcd
../../test-driver: line 107: 95115 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_div_q
../../test-driver: line 107: 95141 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 95142 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_div_qr
FAIL: t-inv_div_qr_n
../../test-driver: line 107: 95174 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_divappr_q
../../test-driver: line 107: 95199 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 95198 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-invert
FAIL: t-inv_divappr_q_n
PASS: t-iord_u
../../test-driver: line 107: 95255 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-matrix22
PASS: t-mp_bases
../../test-driver: line 107: 95307 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mullow_basecase
../../test-driver: line 107: 95326 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mullowhigh
../../test-driver: line 107: 95364 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmod_2expm1
PASS: t-lorrshift1
../../test-driver: line 107: 95383 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmod_2expp1
../../test-driver: line 107: 95345 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmid
PASS: t-perfsqr
../../test-driver: line 107: 95441 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-redc_1
PASS: t-neg
../../test-driver: line 107: 95455 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_bdiv_q
../../test-driver: line 107: 95479 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_bdiv_qr
../../test-driver: line 107: 95495 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_div_q
../../test-driver: line 107: 95499 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_div_qr
../../test-driver: line 107: 95536 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_divappr_q
PASS: t-scan
../../test-driver: line 107: 95558 Segmentation fault: 11 "$@" > $log_file 2>&1
FAIL: t-sizeinbase
PASS: t-subadd_n
../../test-driver: line 107: 95609 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-tdiv_q
../../test-driver: line 107: 95614 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-tdiv_qr
PASS: st_fat
PASS: st_instrument
Happy to upload the log but I couldn't find it...
Could we get the ./configure
log?
I get similar errors; my log is at http://www.pitt.edu/~roed/config_24085.log
Attachment: config.log
Log file for failed build
Please try the latest updates: do git pull
in the mpir git repo, then
make distclean
followed by ./autogen.sh
etc.
Still similar looking failures. I've uploaded the new log to http://www.pitt.edu/~roed/config_24085_2.log
The test output is
/Library/Developer/CommandLineTools/usr/bin/make check-TESTS
../../test-driver: line 107: 31065 Bus error: 10 "$@" > $log_file 2>&1
PASS: t-asmtype
FAIL: t-dc_bdiv_q
PASS: t-aors_1
../../test-driver: line 107: 31068 Bus error: 10 "$@" > $log_file 2>&1
PASS: t-addsub_n
FAIL: t-dc_bdiv_q_n
../../test-driver: line 107: 31067 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 31069 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_bdiv_qr
FAIL: t-dc_bdiv_qr_n
PASS: t-addadd_n
../../test-driver: line 107: 31217 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 31214 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 31218 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_div_qr
FAIL: t-dc_div_qr_n
FAIL: t-dc_divappr_q
../../test-driver: line 107: 31215 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-dc_div_q
PASS: t-divebyff
PASS: t-divrem_1
../../test-driver: line 107: 31225 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-fat
../../test-driver: line 107: 31352 Bus error: 10 "$@" > $log_file 2>&1
PASS: t-instrument
../../test-driver: line 107: 31350 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 31346 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_div_q
FAIL: t-hgcd
FAIL: t-gcdext
PASS: t-get_d
PASS: t-divebyfobm1
../../test-driver: line 107: 31423 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_div_qr
../../test-driver: line 107: 31442 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_div_qr_n
../../test-driver: line 107: 31480 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-inv_divappr_q
../../test-driver: line 107: 31484 Bus error: 10 "$@" > $log_file 2>&1
../../test-driver: line 107: 31482 Bus error: 10 "$@" > $log_file 2>&1
PASS: t-iord_u
FAIL: t-invert
FAIL: t-inv_divappr_q_n
../../test-driver: line 107: 31489 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-matrix22
PASS: t-mp_bases
../../test-driver: line 107: 31591 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mullow_basecase
../../test-driver: line 107: 31628 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mullowhigh
../../test-driver: line 107: 31632 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmod_2expm1
PASS: t-perfsqr
../../test-driver: line 107: 31709 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-redc_1
../../test-driver: line 107: 31730 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_bdiv_q
../../test-driver: line 107: 31750 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_bdiv_qr
../../test-driver: line 107: 31762 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_div_q
../../test-driver: line 107: 31781 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_div_qr
../../test-driver: line 107: 31806 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-sb_divappr_q
PASS: t-scan
PASS: t-neg
../../test-driver: line 107: 31839 Segmentation fault: 11 "$@" > $log_file 2>&1
FAIL: t-sizeinbase
PASS: t-subadd_n
PASS: st_fat
PASS: st_instrument
../../test-driver: line 107: 31881 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-tdiv_q
../../test-driver: line 107: 31907 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-tdiv_qr
../../test-driver: line 107: 31631 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmid
../../test-driver: line 107: 31933 Bus error: 10 "$@" > $log_file 2>&1
FAIL: t-mulmod_2expp1
PASS: t-lorrshift1
============================================================================
Testsuite summary for MPIR 3.0.0
============================================================================
# TOTAL: 50
# PASS: 18
# SKIP: 0
# XFAIL: 0
# FAIL: 32
# XPASS: 0
# ERROR: 0
============================================================================
See tests/mpn/test-suite.log
Please report to http://groups.google.co.uk/group/mpir-devel/
============================================================================
make[5]: *** [test-suite.log] Error 1
make[4]: *** [check-TESTS] Error 2
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
OK, I give up on trying to fix the assembler code there. This needs debugging on an actual box.
OK, please try the latest https://github.com/dimpase/mpir
this commit should hopefully suffice.
As discussed on sage-devel, mpir does not build on Skylake chips. As reported by Bill Hart,
In the end, the fix was to edit jump labels in a (large) number of MPIR's asm files, and change the
.section
type of jumptables, while leavingJMPENT
macros intact. The changes are way too big for Sage patches (and done against the master rather than against meanwhile a bit outdated 3.0.0 version), thus a new tarball.Tarball: http://sage.ugent.be/www/jdemeyer/sage/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.tar.bz2
Upstream: Completely fixed; Fix reported upstream
CC: @wbhart @kiwifb
Component: packages: standard
Keywords: skylake, mpir
Author: Dima Pasechnik, Jeroen Demeyer
Branch:
c2384a7
Reviewer: David Roe, Andrew Mathas, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/24085