On Wed, Nov 12, 2014 at 12:11:16AM +0100, Ondrej Zary wrote: > On Tuesday 11 November 2014 23:43:29 Mike Hommey wrote: > > On Tue, Nov 11, 2014 at 06:54:26PM +0100, Ondrej Zary wrote: > > > On Tuesday 11 November 2014 00:17:59 Mike Hommey wrote: > > > > On Tue, Nov 11, 2014 at 12:06:30AM +0100, Ondrej Zary wrote: > > > > > (gdb) print JSC::MacroAssemblerX86Common::s_sseCheckState > > > > > $1 = JSC::MacroAssemblerX86Common::HasSSE3 > > > > > > > > Aha! At least now it's clear what part is doing wrong. > > > > > > > > Can you compile and run the following code, and give its output? > > > > > > > > #include <stdio.h> > > > > > > > > int main() { > > > > int flags_edx = 0; > > > > int flags_ecx = 0; > > > > asm ( > > > > "movl $0x1, %%eax;" > > > > "pushl %%ebx;" > > > > "cpuid;" > > > > "popl %%ebx;" > > > > > > > > : "=c" (flags_ecx), "=d" (flags_edx) > > > > : > > > > : "%eax" > > > > > > > > ); > > > > printf("%04x %04x\n", flags_ecx, flags_edx); > > > > return 0; > > > > } > > > > > > $ cc -Wall test.c -o test > > > $ ./test > > > 4db6ebee 80a135 > > > $ ./test > > > 24953363 80a135 > > > $ ./test > > > 235945c1 80a135 > > > $ ./test > > > e6ad9217 80a135 > > > $ ./test > > > c74a535e 80a135 > > > $ ./test > > > 8671f3 80a135 > > > > > > This was the same bug, only in kernel: > > > https://bugzilla.kernel.org/show_bug.cgi?id=3767 > > > > What are the values when you clobber ecx first? If edx doesn't change, > > then there is more to do than clobbering ecx in the iceweasel case. > > Isn't Iceweasel enabling SSE3 because the SSE3 bit is set in ECX (ignoring > unset SSE and SSE2 bits in EDX)?
Gah, indeed, I mixed up the registers. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org