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
 *****************************************************************/


Reply via email to