On Tue, May 22, 2012 at 02:32:32PM +0400, Michael Tokarev wrote:
> tags 673904 + wontfix
> thanks
> 
> As I explained several times, this problem must be fixed
> on both sides - both gmp and qemu, and it is "more correct"
> to fix it in gmp side.  The problem im gmp is that it uses
> "abort()" statements in cases where it detects "impossible",
> to its "thinking", CPU.  

Forgive my re-hashing; I haven't seen these explanations.
Pointers?

To begin, why do you view GMP's behaviour as incorrect?  Surely it is
better to bail out on encountering an unknown (to GMP) CPU type rather
than guess its capabilities?


> Instead of these aborts(), it should
> just use whatever default optimization modes it already uses
> for these "default" cases.  Ie, just changing "abort()" into
> "break" in the mentioned code in gmp is enough to fix it on
> gmp side.

I don't believe that is the case.  If you look at the code all the
"break" statements are preceded by setup code such as
"CPUVEC_SETUP_core2".  The "abort" calls are preceeded by family/model
combinations that indicate a 32-bit CPU which is nonsensical for a
64-bit gmp library.


> For qemu side, I don't want to make a Debian-specific change
> for this.

Perhaps I'm missing something but I understood [1] to say
that qemu could be configured to present itself as a known
CPU type.  That wouldn't require code changes, but a simple
configuration change.

[1] https://lists.gnu.org/archive/html/qemu-devel/2012-05/msg01390.html


Thanks,
-Steve

Attachment: signature.asc
Description: Digital signature

Reply via email to