Excellent!
Let me know if there is anyway I can help you get these patches upstream...
a*
Peter Bigot wrote:
Hmn. Roughly, assuming you have a mspgcc4 area that has the ports
subdirectory, cd to it and run:
patch -p1 < msp430-r4.20100210-chipcat.patch
patch is a pretty standard unix command that you should have on any
Unix/Linux installation. The -p1 says to strip off one level of the
path names from within the patch, which are in the diff lines like:
diff --git a/ports/gcc-4.x/gcc/config/msp430/generate_chip_data.py
b/ports/gcc-4.x/gcc/config/msp430/generate_chip_data.py
Then do a build as normal. Make sure that the build process unpacks
the gcc sources and applies the patches from the port directory.
Peter
On Tue, Apr 27, 2010 at 6:14 PM, Anthony Asterisk
<[email protected] <mailto:[email protected]>> wrote:
Thank you very much!
a dumb question...
how do I apply these patches (roughly)?
Peter Bigot wrote:
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] <mailto:[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]
<mailto:[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?