>  Trying to avoid doing real work, I searched for "unsupported CPU" and
> found it in coregrind/m_main.c.  I then found VG_(machine_get_hwcaps)() in
> m_machine.c.  Putting a few VG_(printf)() calls into this routine, I found
> that it fails this test:
>
>       /* cmpxchg8b is a minimum requirement now; if we don't have it we
>          must simply give up.  But all CPUs since Pentium-I have it, so
>          that doesn't seem like much of a restriction. */
>       have_cx8 = (edx & (1<<8)) != 0; /* True => have cmpxchg8b */
>       if (!have_cx8)
>          return False;
>
>  Interestingly, /proc/cpuinfo does not show "cx8" on my machines, while it
> does on yours.  I didn't think my CPU was that old, since it runs at 1.2
> GHz (I bought the machines in late 2006).  Looks like I am out of luck on
> these two machines.  Given the comment in the source code here, I doubt
> very much that provisions would be made to support this CPU.  :-)

It may be that the CPU does support cmpxchg8b but doesn't say it does.
Try compiling and running the program none/tests/x86/cmpxchg8b.c in the
3.5.0 tree, and see if it runs natively OK (without SIGILL).  If yes
then comment out the relevant test in VG_(machine_get_hwcaps)().

J

------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to