On Tue, Sep 11, 2018 at 09:08:35AM +0900, Mike Hommey wrote: > On Mon, Sep 10, 2018 at 08:40:08PM +0200, Moritz Mühlenhoff wrote: > > On Mon, Sep 10, 2018 at 02:54:54AM +0200, b...@debian.16bits.net wrote: > > > /proc/cpuinfo shows it supports sse, but not sse2. And movsd is a sse2 > > > instruction [1] > > > > This is an intentional upstream change which also affects the binaries > > provided by Mozilla: > > https://support.mozilla.org/en-US/kb/your-hardware-no-longer-supported > > > > It might be possible to disable the use of SSE2 for the i386 architecture > > (as every CPU covered by amd64 supports SSE2), but I have no idea how > > intrusive that would be (and might cause some problems in the long term > > if the non-SSE2 code paths are not covered by upstream CI/tests). It's > > also one additional patch to be carried forward until i386 is retired > > as an architecture. > > The problem from bug #877445 is actually trivial to fix, but the ones > from bug 908449/908396 would seem unrelated. I tried running firefox-esr > from stretch-security in qemu without sse2 (without kvm), and it... just > worked. I couldn't even reproduce #877445. The problem is that > apparently, even when doing emulation, qemu doesn't actually disable > instruction sets, it just hides them from cpuid.
So, looking at a local build for i386, it appears that most of the SSE2 code in libxul comes from ... rust. Because the rust compiler happily emits SSE2 on i386, which it shouldn't be doing. Mike