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

Reply via email to