NOw I get it :) Ok, patch submitted. The fix will appear in a week or so. ~d
On Thursday 31 July 2003 19:52, Takahashi, Chris wrote: > Version 2.14 (MD5(binutils-2.14.tar.gz)= ba665d0ddcc88313384b79e293ecbbab) > _has_ the fix but it applies the fix only to some MSP430 architectures and > not all. I think I put the files in the wrong order. + marks which have > been removed and - marks new lines. I apologize for not following > conventions. Attached is a new diff file with - marking old lines and + > marking new. > > I also downloaded the weekly snapshot of binutils (last updated Tuesday, > July 29 2003) and the tc-msp430.c files were the same as the file in 2.14 > except the following was added around line 186. > > @@ -186,6 +186,8 @@ > " msp430x1101 msp430x1111\n" > " msp430x1121 msp430x1122 msp430x1132\n" > " msp430x122 msp430x123\n" > + " msp430x1222 msp430x1232\n" > + " msp430x133 msp430x135\n" > " msp430x1331 msp430x1351\n" > " msp430x147 msp430x148 msp430x149\n" > " msp430x155 msp430x156 msp430x157\n" > > > I apologize for any confusion this may have caused. > > -Chris Takahashi > > DIFF: > > cat binutils-msp430.diff > > --- binutils-2.14/gas/config/tc-msp430.c.old 2003-07-30 > 16:35:44.000000000 -0700 > +++ binutils-2.14/gas/config/tc-msp430.c 2003-07-30 > 16:49:21.000000000 -0700 > @@ -979,11 +979,7 @@ > else if (x == 4) > { > #ifdef PUSH_1X_WORKAROUND > - if (bin == 0x1200 > - && (msp430_mcu->isa == MSP430_ISA_11 > - || msp430_mcu->isa == MSP430_ISA_12 > - || msp430_mcu->isa == MSP430_ISA_13 > - || msp430_mcu->isa == MSP430_ISA_14)) > + if (bin == 0x1200) > { > /* Remove warning as confusing. > as_warn(_("Hardware push bug workaround")); */ > @@ -1000,11 +996,7 @@ > else if (x == 8) > { > #ifdef PUSH_1X_WORKAROUND > - if (bin == 0x1200 > - && (msp430_mcu->isa == MSP430_ISA_11 > - || msp430_mcu->isa == MSP430_ISA_12 > - || msp430_mcu->isa == MSP430_ISA_13 > - || msp430_mcu->isa == MSP430_ISA_14)) > + if (bin == 0x1200) > { > /* Remove warning as confusing. > as_warn(_("Hardware push bug workaround")); */ > > > > > > > -----Original Message----- > From: Dmitry [mailto:di...@mail.ru] > Sent: Thursday, July 31, 2003 2:13 AM > To: mspgcc-users@lists.sourceforge.net > Subject: Re: [Mspgcc-users] MSP430 binutils bug. > > > looks like you're missing something -- > 2.14 has this bug workaround. > ~d > > On Thursday 31 July 2003 04:06, Takahashi, Chris wrote: > > The work around for the constant generator bug in the link below was > > still generating incorrect code. The problem was that the bug was > > present in > > all > > > versions of the msp430 but the work around was only applied to some > > versions. > > > > Attached is a diff -u of a fixed version of > > binutils-2.14/gas/config/tc-msp430.c with the original. > > > > Also attached is some simple code that will generate the faulty code in > > the > > > msp430x448 (and others). If you look at an asm listing you will see a > > push > > > #4 which generates the opcode 62 12 which is buggy (so is 72 12). > > > > Bug: > > http://www.ti.com/cgi-bin/sc/buglist.cgi?bug=CPU4 > > > > -Chris Takahashi -- /***************************************************************** ("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ `6_ 6 ) `-. ( ).`-.__.`) State Polytechnical Univ. (_Y_.)' ._ ) `._ `. ``-..-' Radio-Physics Departament _..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia (il),-'' (li),' ((!.-' +7 (812) 5403923, 5585314 *****************************************************************/