qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer tru


From: andrzej zaborowski
Subject: Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer truncation?)
Date: Fri, 2 Feb 2007 23:27:29 +0100

On 02/02/07, Juergen Lock <address@hidden> wrote:
On Fri, Feb 02, 2007 at 04:02:00AM +0000, Thiemo Seufer wrote:
> Juergen Lock wrote:
> > On Wed, Jan 24, 2007 at 09:00:19PM +0100, Juergen Lock wrote:
> > > Hi!
> > >
> > >  I got a report of qemu segfaulting here on FreeBSD-current/amd64:
> > >
> > > > #0  main_loop () at 
/usr/ports-cvs/emulators/qemu/work/qemu-snapshot-2007-01-11_05/vl.c:6125
> > > > 6125                    env = env->next_cpu;
> > > > [New Thread 0x801e10190 (LWP 100214)]
> > > > (gdb) print env
> > > > $1 = (CPUX86State *) 0xac10000
> > > > (gdb) print first_cpu
> > > > $2 = (CPUX86State *) 0x80ac10000
> >
> > Ok Jung-uk Kim found the following fix: (Thanx!)
> >
> > --- qemu/cpu-exec.c.orig    Wed Jan 31 16:58:03 2007
> > +++ qemu/cpu-exec.c Wed Jan 31 17:08:11 2007
> > @@ -226,9 +226,9 @@
> >
> >  int cpu_exec(CPUState *env1)
> >  {
> > -    int saved_T0, saved_T1;
> > +    long saved_T0, saved_T1;
> >  #if defined(reg_T2)
> > -    int saved_T2;
> > +    long saved_T2;
>
> I used target_ulong instead.

Isn't that 32 bit for 32 bit targets?  Then it wouldn't fix the bug,

Well, it just happens that target_ulong is 64 bit even for 32 bit
target on a 64 bit host (as a workaround for something I think, was
wondering about it too. I asked on IRC once but no one knew the actual
reason). This however doesn't change the fact that target_ulong
shouldn't be used here.

Regards,
Andrew




reply via email to

[Prev in Thread] Current Thread [Next in Thread]