This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: arm maverick disassembly


On Sat, 2005-10-08 at 15:54, Richard Earnshaw wrote:
> On Fri, 2005-10-07 at 22:44, James Lemke wrote:
> > I got a report of incorrect disassembly of mrc opcodes as cfmsub32.
> > E.G.
> > was         ee102610    cfmsub32    mvax0, mvfx2, mvfx0, mvfx0
> > should be   ee102610    mrc     6, 0, r2, cr0, cr0, {0}
> > 
> > I found that 6 of the Maverick CDP opcodes do not depend on bit 4 when
> > they should.  Patch attached.
> > 
> > Tested on x86-linux x arm-elf.
> > No change in binutils results.
> > gcc results had no regressions and 15 improvements:
> > 2x unsupported -> pass  gcc.dg/cpp/trad/num-sign.c
> > 13x untested -> pass gcc.dg/pch/valid-[123].c & warn-1.c
> > 
> > Not sure that this qualifies for the "obvious" rule.
> > OK to commit?
> 
> Thanks, I've put this in after updating it to the current sources.
> 
> For future reference, please don't send ChangeLog entries as diff
> output, they almost never apply cleanly.

Unfortunately this tripped a bug in the gas testsuite.  Fixed thusly:

2005-10-17  Richard Earnshaw  <richard.earnshaw@arm.com>

	* gas/arm/copro.d: 'mcrlt' instruction should not be disassembled as
	'cfsh64lt'.




Index: gas/arm/copro.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/arm/copro.d,v
retrieving revision 1.3
retrieving revision 1.4
diff -p -r1.3 -r1.4
*** gas/arm/copro.d	6 Nov 2003 15:30:05 -0000	1.3
--- gas/arm/copro.d	17 Oct 2005 15:44:01 -0000	1.4
*************** Disassembly of section .text:
*** 22,28 ****
  0+030 <[^>]*> ee715212 	mrc	2, 3, r5, cr1, cr2, \{0\}
  0+034 <[^>]*> aeb1f4f2 	mrcge	4, 5, pc, cr1, cr2, \{7\}
  0+038 <[^>]*> ee21f711 	mcr	7, 1, pc, cr1, cr1, \{0\}
! 0+03c <[^>]*> be228519 	cfsh64lt	mvdx8, mvdx2, #9
  0+040 <[^>]*> ec907300 	ldc	3, cr7, \[r0\], \{0\}
  0+044 <[^>]*> ec816e01 	stc	14, cr6, \[r1\], \{1\}
  0+048 <[^>]*> fc925502 	ldc2	5, cr5, \[r2\], \{2\}
--- 22,28 ----
  0+030 <[^>]*> ee715212 	mrc	2, 3, r5, cr1, cr2, \{0\}
  0+034 <[^>]*> aeb1f4f2 	mrcge	4, 5, pc, cr1, cr2, \{7\}
  0+038 <[^>]*> ee21f711 	mcr	7, 1, pc, cr1, cr1, \{0\}
! 0+03c <[^>]*> be228519 	mcrlt	5, 1, r8, cr2, cr9, \{0\}
  0+040 <[^>]*> ec907300 	ldc	3, cr7, \[r0\], \{0\}
  0+044 <[^>]*> ec816e01 	stc	14, cr6, \[r1\], \{1\}
  0+048 <[^>]*> fc925502 	ldc2	5, cr5, \[r2\], \{2\}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]