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

Re: Bug#324455: gmp: FTBFS on alpha



Steve Langasek <vorlon@debian.org> writes:

> On Mon, Aug 22, 2005 at 08:56:23PM -0700, Steve Langasek wrote:
>> Simple test case:
>
>> int main() {
>> 
>> 	unsigned long a= 1UL << 63;
>> 	unsigned long b= 1UL << 63;
>> 
>>         exit (a/b != 1);
>> }
>
>> Appears to be a bug in the implementation of __divqu.  Upgrading to 2.3.5-4,
>> to confirm whether the bug still exists.
>
> Yep, bug still present in 2.3.5-4.  Someone who speaks alpha assembly will
> have to look at this, I think, to pinpoint the error.

probably something like

--- divqu.S~    2005-07-09 21:55:07.000000000 +0200
+++ divqu.S     2005-08-23 10:04:09.000000000 +0200
@@ -240,7 +240,7 @@
        /* If we get here, Y is so big that bit 63 is set.  The results
           from the divide will be completely wrong.  Fortunately, the
           quotient must be either 0 or 1, so just compute it directly.  */
-       cmpult  Y, X, RV
+       cmpule  Y, X, RV
        excb
        mt_fpcr $f3
        ldt     $f0, 0(sp)

but I don't have time for testing.

-- 
	Falk



Reply to: