Fix for __div64_32 locks when using some 64 bit numbers

davidastro davidastro at hotmail.com
Wed Mar 18 08:15:29 EST 2009


I found a bug when using the function __div64_32 in assembly in a 32 bit ppc
architecture unit.

I tried the numbers 55834565048000000 for the dividend and 4294967079 for
the divisor. When passing these two numbers to the function  __div64_32, I
had a software lock. I searched for possible patches online and in different
forums but I could not find anything related to the assembly implementation
to this function (I would have to apologize if somebody already found a fix
:-) ).

Anyway, when analyzing the assembly code, I found out with gdb the problem.
I am not an expert in ppc architecture but I read the documentation and I am
pretty sure I solved the issue (I have been testing for couple of days using
random 64 to 32 number combinations with good results).

Who or Where should I post the fix to be reviewed.

Thanks for your attention
-- 
View this message in context: http://www.nabble.com/Fix-for-__div64_32-locks-when-using-some-64-bit-numbers-tp22567864p22567864.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.




More information about the Linuxppc-dev mailing list