From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Lance Taylor To: joel@OARcorp.com Cc: gas2@cygnus.com Subject: Re: binutils 2.8.1 cpu32 bug Date: Wed, 24 Sep 1997 10:42:00 -0000 Message-id: <199709241742.NAA05637@subrogation.cygnus.com> References: X-SW-Source: 1997/msg00014.html Date: Mon, 15 Sep 1997 14:05:26 -0500 (CDT) From: Joel Sherrill 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