This looks like the build system being overzealous with optimization, and
targeting the native system a little too closely.
Unpacking sage-7.4-Fedora_24-x86_64.tar.bz2
(MD5: 5429fd2146d802449441f5df220320ab), we can do
$ find . -name *.so | xargs objdump -d -M intel | egrep -e 'shrx|file
format'
...
./local/lib/python2.7/site-packages/sage/libs/singular/polynomial.so:
file format elf64-x86-64
435d: c4 e2 fb f7 c9 shrx rcx,rcx,rax
4390: c4 e2 ab f7 c9 shrx rcx,rcx,r10
...
./local/lib/python2.7/site-packages/sage/libs/singular/singular.so:
file format elf64-x86-64
69c3: c4 a2 a3 f7 44 c9 10 shrx rax,QWORD PTR [rcx+r9*8+0x10
],r11
7e04: c4 e2 fb f7 ff shrx rdi,rdi,rax
...
./local/lib/python2.7/site-packages/sage/rings/polynomial/plural.so:
file format elf64-x86-64
bec2: c4 e2 fb f7 db shrx rbx,rbx,rax
1564c: c4 e2 fb f7 ff shrx rdi,rdi,rax
160e9: c4 42 ab f7 c9 shrx r9,r9,r10
...
./local/lib/python2.7/site-packages/sage/rings/polynomial/
multi_polynomial_libsingular.so: file format elf64-x86-64
eab5: c4 e2 fb f7 c2 shrx rax,rdx,rax
f30a: c4 e2 fb f7 db shrx rbx,rbx,rax
fd59: c4 42 ab f7 c9 shrx r9,r9,r10
... and so on. SHRX is a BMI2 instruction, only available in Intel Haswell
and later processors. This makes Sage crash on startup on previous models.
Looking at ./src/build/cythonized/sage/libs/singular/polynomial.cpp we see
that the build system picked up the host's instruction sets:
"extra_compile_args": [
"-fPIC",
"-mmmx",
"-mpopcnt",
"-msse",
"-msse2",
"-msse3",
"-msse4.1",
"-msse4.2",
"-mavx",
"-mavx2",
"-mfma",
"-mbmi",
"-mbmi2",
"-mfpmath=sse",
"-fabi-version=6",
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local/include"
,
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local//include"
,
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local/include"
,
"-fno-strict-aliasing"
],
--
You received this message because you are subscribed to the Google Groups
"sage-support" 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 https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.