This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Are you sure your patch is completely correct? My reading of the Motorola manuals is that, of the 020/030/040 addressing modes only (bd,An,Xn) and (bd,PC,Xn) are supported by the CPU32 and then only for word and long accesses. Your patch appears to allow all the 020/030/040 modes and any width?! I used a much more paranoid patch to solve the problem, I JUST allowing the (bd,An,Xn) mode - the (bd,PC,Xn) mode was not causing me a problem. Does anyone know what the offical patch is that made it into the beta binutils? Cheers Mark FYI - my patch:- -------------------cut here----------------- *** opcodes/m68k-opc.c.orig Tue May 20 10:33:18 1997 --- opcodes/m68k-opc.c Tue May 20 11:32:43 1997 *************** *** 1828,1835 **** --- 1828,1837 ---- {"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 }, -------------------cut here----------------- Mark S. Phillips ESN 742 2461 msp@nortel.co.uk Tel. +44 1279 402461 On Wed, 22 Oct 1997, Robin Kirkham wrote: > > On Tue, 21 Oct 1997, Jim Wilson wrote: > > > > In article <199710220043.TAA19960.cygnus.crossgcc@eesn12.ews.uiuc.edu> you write: > > >> _floatdixf > > >> /tmp/cca12355.s: Assembler messages: > > >> /tmp/cca12355.s:70: Error: operands mismatch -- statement `tstl a4' > > ... > > The GNU as bug is fixed in binutils 2.8. > > ... > > This gcc bug is fixed in both the EGCS gcc sources and gcc2 sources, so > > the next release of either of them will not have this bug. > > There remains a gas 2.8.1 bug, however, which shows up with exactly the same > symptoms when you configure EGCS to compile for the CPU32. This confused me > for a while. > > The above-mentioned gas fix now only permits tst.[bwl] instructions with > PCR, immediate and An addressing modes on 68020's and up, and Coldfires. > However, the CPU32 can also execute these (and egcs will emit them). > > The following simple patch I believe corrects this situation: apply it in the > binutils-2.8.1 directory. > > Robin Kirkham CSIRO Manufacturing Science and Technology > Project Engineer Locked Bag 9, Preston 3072, Australia > robin.kirkham@mlb.dmt.csiro.au Phone: +61 3 9662-7756 Fax: +61 3 9662-7851 > > > *** opcodes/m68k-opc.c Tue May 27 03:34:19 1997 > --- opcodes/m68k-opc.c Wed Oct 22 15:35:54 1997 > *************** > *** 1825,1835 **** > > {"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(0045100), one(0177700), "@w", m68000up }, > ! {"tstl", one(0045200), one(0177700), "*l", m68020up | mcf5200 }, > {"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|cpu32|mcf5200 }, > {"tstb", one(0045000), one(0177700), "@b", m68000up }, > ! {"tstw", one(0045100), one(0177700), "*w", m68020up|cpu32|mcf5200 }, > {"tstw", one(0045100), one(0177700), "@w", m68000up }, > ! {"tstl", one(0045200), one(0177700), "*l", m68020up|cpu32|mcf5200 }, > {"tstl", one(0045200), one(0177700), "@l", m68000up }, > > {"unlk", one(0047130), one(0177770), "As", m68000up | mcf5200 }, >