This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] extend push bug workaround for all targets of msp430 family.
- From: Dmitry <diwil at mail dot ru>
- To: binutils at sources dot redhat dot com
- Date: Thu, 31 Jul 2003 20:28:32 +0400
- Subject: [PATCH] extend push bug workaround for all targets of msp430 family.
- Organization: EIS
- Reply-to: diwil at mail dot ru
Hello fellows,
TI does not want to fix 'push #const' bug in further arches assuming assembler
workarounds it for all arches.
So, assume this bug exists in all subdevices, not only in 1x ones.
( http://www.ti.com/cgi-bin/sc/buglist.cgi?bug=CPU4 )
Cheers,
Dmitry.
ChangeLog:
2003-07-31 Dmitry Diky <diwil@mail.ru>
* config/tc-msp430.c (msp430_srcoperand): extend 'push' bug workaround for
all arches.
Index: tc-msp430.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-msp430.c,v
retrieving revision 1.4
diff -c -3 -p -r1.4 tc-msp430.c
*** tc-msp430.c 7 May 2003 08:58:33 -0000 1.4
--- tc-msp430.c 31 Jul 2003 16:22:32 -0000
*************** msp430_srcoperand (op, l, bin, imm_op)
*** 981,991 ****
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))
{
/* Remove warning as confusing.
as_warn(_("Hardware push bug workaround")); */
--- 981,987 ----
else if (x == 4)
{
#ifdef PUSH_1X_WORKAROUND
! if (bin == 0x1200)
{
/* Remove warning as confusing.
as_warn(_("Hardware push bug workaround")); */
*************** msp430_srcoperand (op, l, bin, imm_op)
*** 1002,1012 ****
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))
{
/* Remove warning as confusing.
as_warn(_("Hardware push bug workaround")); */
--- 998,1004 ----
else if (x == 8)
{
#ifdef PUSH_1X_WORKAROUND
! if (bin == 0x1200)
{
/* Remove warning as confusing.
as_warn(_("Hardware push bug workaround")); */