The patch is too big for this mailing list.  I've uploaded a copy to:
http://sourceforge.net/projects/mspgcc4/files/Patches/msp430-r4.20100210-chipcat.patch

It's also available within the SRPM.

Peter

On Tue, Apr 27, 2010 at 6:06 PM, Peter Bigot <[email protected]> wrote:

> Yes, it is probably due to hardware multiply.  I can replicate the problem
> on an older install, but it's fixed with one built from the SRPMs I posted
> which include a patch for hardware multiply.  I haven't had time to
> integrate that with the mainline developers; a copy is attached.
>
> Peter
>
>
> On Tue, Apr 27, 2010 at 5:46 PM, Anthony Asterisk <
> [email protected]> wrote:
>
>> OH BTW, this is with mspgcc4
>>
>> msp430-gcc -v
>> Using built-in specs.
>> Target: msp430
>> Configured with:
>> /home/user/mspgcc4/build/gcc-4.4.3-build/../gcc-4.4.3/configure
>> --prefix=/home/user/contiki-2.x/platform/castlerock/tools/msp430-gcc-4.4.3
>> --target=msp430 --enable-languages=c,c++
>> --with-pkgversion=MSPGCC4_r4-20100210 : (reconfigured)
>> /home/user/mspgcc4/build/gcc-4.4.3-build/../gcc-4.4.3/configure
>> --prefix=/home/user/contiki-2.x/platform/castlerock/tools/msp430-gcc-4.4.3
>> --target=msp430 --enable-languages=c,c++
>> --with-pkgversion=MSPGCC4_r4-20100210 : (reconfigured)
>> /home/user/mspgcc4/build/gcc-4.4.3-build/../gcc-4.4.3/configure
>> --prefix=/home/user/contiki-2.x/platform/castlerock/tools/msp430-gcc-4.4.3
>> --target=msp430 --enable-languages=c,c++
>> --with-pkgversion=MSPGCC4_r4-20100210
>> Thread model: single
>> gcc version 4.4.3 (MSPGCC4_r4-20100210)
>>
>>
>> AND
>>
>> msp430-libc-20100207
>>
>>
>>
>>
>> Anthony Asterisk wrote:
>>
>>> I just tried to use strotl() on the msp430f5437.  It failed and I tracked
>>> the problem down to a problem with multiply.  Check this out:
>>>
>>>
>>>          register unsigned long int tmp1 = i;
>>>          unsigned long int tmp2 = i;
>>>          long int tmp3 = i;
>>>          int tmp4 = i;
>>>          printf("i %lx tmp1 %lx tmp2 %lx tmp3 %lx tmp4
>>> %x\n",i,tmp1,tmp2,tmp3,tmp4);
>>>          tmp1 = tmp1 * base;
>>>          tmp2 = tmp2 * base;
>>>          tmp3 = tmp3 * base;
>>>          tmp4 = tmp4 * base;
>>>          printf("i %lx tmp1 %lx tmp2 %lx tmp3 %lx tmp4
>>> %x\n",i,tmp1,tmp2,tmp3,tmp4);
>>>
>>> i 0 tmp1 0 tmp2 0 tmp3 0 tmp4 0
>>> i 0 tmp1 3fff3fff tmp2 3fff3fff tmp3 3fff3fff tmp4 0
>>>
>>>
>>> Any advice how to proceed with debugging this?  Is this a problem with
>>> usage of hardwarde multiplier?
>>>
>>
>>
>

Reply via email to