Bug#896188: libgmp10: Pentium 1 Mobile CPU detected as MMX capable resulting in illegal instruction crash.
Martin Kopun
vanilkovy.puding at gmail.com
Fri Apr 20 16:39:58 BST 2018
Package: libgmp10
Version: 2:6.0.0+dfsg-6
Severity: important
Tags: patch
Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
Starting elinks and going to any https page resulted in illegal instruction from libgmp.
Also wget -O /dev/null -o /dev/null https://google.com resulted in the crash.
dmesg:
[79118.429854] traps: wget[1193] trap invalid opcode ip:b7ac1600 sp:bffdab94 error:0 in libgmp.so.10.2.0[b7a93000+8e000]
I assume that any other program calling libgmp functions which use MMX would crash as well.
The issue is caused by wrong MMX detection where gmp assumes that MMX is present.
* What exactly did you do (or not do) that was effective (or
ineffective)?
I have downloaded source package of gmp, applied one line patch in mpn/x86/fat/fat.c, compiled it and installed.
* What was the outcome of this action?
No more crashes on my system
* What outcome did you expect instead?
*** End of the template - remove these template lines ***
Since the Debian 8 is the last release supporting old 32bit hardware I reccomend backporting a patch from the upstream.
The patch itself is a simple one to be found at
https://gmplib.org/repo/gmp/rev/cd5e58236267 [Fix old pentium recog.]
and also maybe https://gmplib.org/repo/gmp/rev/4117847f9e8b but i didnt change config.guess during my test above.
My CPU is Mobile Pentium 75 - 200 and does not have MMX indeed.
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 7
model name : Mobile Pentium 75 - 200
stepping : 0
cpu MHz : 74.871
fdiv_bug : no
f00f_bug : yes
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 cpuid
bugs : f00f
bogomips : 149.74
clflush size : 32
cache_alignment : 32
address sizes : 32 bits physical, 32 bits virtual
power management:
-- System Information:
Debian Release: 8.10
APT prefers oldstable
APT policy: (500, 'oldstable')
Architecture: i386 (i586)
Kernel: Linux 4.16.0-v1
Locale: LANG=sk_SK.UTF-8, LC_CTYPE=sk_SK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libgmp10 depends on:
ii libc6 2.19-18+deb8u10
ii multiarch-support 2.19-18+deb8u10
libgmp10 recommends no packages.
libgmp10 suggests no packages.
-- no debconf information
More information about the debian-science-maintainers
mailing list