|
From: | graydon hoare |
Subject: | [Monotone-devel] illegal instruction [was Re: Problem with build of monotone 0.11 on Debian testing] |
Date: | Fri, 02 Apr 2004 11:06:38 -0500 |
User-agent: | Mozilla Thunderbird 0.5 (X11/20040208) |
Joel Rosdahl wrote:
monotone on my machine running Debian testing. Compilation and linking work, but the test suite bombs out. I also fail to netsync with off.net with my own compiled version. The .deb provided on http://www.venge.net/monotone/ works perfectly, though. The errors I see are "illegal instruction" crashes. I don't think I have a hardware problem, since I don't experience any similar problems with other programs (like gcc or monotone from your .deb, for example).
yeah, the problem is with -msse2. it's generating SSE2 (vector) code and your hardware doesn't support it. you wouldn't happen to be using an athlon, would you?
if you build without the -msse2 flag you should be in business. the reason it "works" when you remove the trust hook is that you aren't invoking the crypto system at all, so it doesn't hit the illegal instruction paths. so I built the release without -msse2.
I'm looking into ways of making the activation of the SSE2 code "more automatic". I thought I had it pinned down by the release -- the path I thought it was constrained to does a CPUID test -- but then I moved what I thought was working code to my athlon for testing, and got the error you're seeing. I think gcc might spontaneously *generate* some SSE2 code when you say -msse2, or else perhaps I am just doing CPUID in a way which makes athlons angry.
sorry for the confusion. I'm CC'ing this reply to our mailing list in case anyone else runs into the problem.
-graydon
[Prev in Thread] | Current Thread | [Next in Thread] |