binutils 2.8.1 cpu32 bug
Ian Lance Taylor
ian@cygnus.com
Wed Sep 24 10:42:00 GMT 1997
Date: Mon, 15 Sep 1997 14:05:26 -0500 (CDT)
From: Joel Sherrill <joel@OARcorp.com>
Here is a fix I received from an RTEMS user. This was in binutils 2.8.1
and I am not sure whether or not it has been fixed since.
--joel
=====================================================================
*** binutils-2.8.1/opcodes/m68k-opc.c Wed Aug 6 09:47:31 1997
--- /usr/src/local/gnu/src/binutils-2.8.1.0.1/opcodes/m68k-opc.c
Wed Jul 23 21:09:13 1997
***************
*** 1760,1766 ****
#define TBL1(name,signed,round,size) \
{name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)|0000400), \
! two(0177700,0107777), "`sD1", cpu32 }, \
{name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)), \
two(0177770,0107770), "DsD3D1", cpu32 }
#define TBL(name1, name2, name3, s, r) \
--- 1760,1766 ----
#define TBL1(name,signed,round,size) \
{name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)|0000400), \
! two(0177700,0107777), "@lD1", cpu32 }, \
{name, two(0174000, (signed<<11)|(!round<<10)|(size<<6)), \
two(0177770,0107770), "DsD3D1", cpu32 }
#define TBL(name1, name2, name3, s, r) \
I don't understand this patch, and I would need more information. My
m680x0 book indicates that the original value is correct, since the
set of operands permitted for the tbl instructions are very limited.
***************
*** 1825,1837 ****
{"trapv", one(0047166), one(0177777), "", m68000up },
! {"tstb", one(0045000), one(0177700), ";b", m68020up | mcf5200 },
{"tstb", one(0045000), one(0177700), "@b", m68000up },
! {"tstw", one(0045100), one(0177700), "*w", m68020up | mcf5200 },
! {"tstw", one(0045110), one(0177700), "As", cpu32 },
{"tstw", one(0045100), one(0177700), "@w", m68000up },
! {"tstl", one(0045200), one(0177700), "*l", m68020up | mcf5200 },
! {"tstl", one(0045210), one(0177700), "As", cpu32 },
{"tstl", one(0045200), one(0177700), "@l", m68000up },
{"unlk", one(0047130), one(0177770), "As", m68000up | mcf5200 },
--- 1825,1835 ----
{"trapv", one(0047166), one(0177777), "", m68000up },
! {"tstb", one(0045000), one(0177700), ";b", m68020up |
mcf5200 | cpu32 },
{"tstb", one(0045000), one(0177700), "@b", m68000up },
! {"tstw", one(0045100), one(0177700), "*w", m68020up |
mcf5200 | cpu32 },
{"tstw", one(0045100), one(0177700), "@w", m68000up },
! {"tstl", one(0045200), one(0177700), "*l", m68020up |
mcf5200 | cpu32 },
{"tstl", one(0045200), one(0177700), "@l", m68000up },
{"unlk", one(0047130), one(0177770), "As", m68000up | mcf5200 },
I checked in a version of this patch. Oddly, the original source does
not appear in my sources. Thanks for sending it.
Ian
More information about the Gas2
mailing list