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. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org