[patch] More thumb2 fixes

Paul Brook paul@codesourcery.com
Tue Jul 26 20:12:00 GMT 2005


The attached patch fixes some more thumb2 assembly bugs. It implements a 
32-bit form of the adr instruction, ensures correct encoding of 32-bit push 
and pop, and fixes disassembly of thumb2 writeback addressing modes.

Tested with cross to arm-none-eabi.
Ok?

Paul

2005-07-26  Paul Brook  <paul@codesourcery.com>

bfd/
	* reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
gas/
	* config/tc-arm.c (T16_32_TAB): Add "addr". Fix encoding of push and
	pop.
	(do_t_addr): Implement 32-bit variant.
	(do_t_push_pop): Make some errors warnings.  Handle single register
	32-bit case.
	(insns): Use tCE for adr.
	(md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_ADD_PC12.
	(md_apply_fix): Ditto.
gas/testsuite/
	* gas/arm/thumb32.d: Fix expected output for writeback addressing
	modes.  Add single high reg push/pop test.
	* gas/asm/thumb32.s: Add single high reg push/pop test.
opcodes/
	* arm-dis.c: Fixdisassebly of thumb2 writeback addressing modes.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.t2_insns2
Type: text/x-diff
Size: 17952 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20050726/a6745f5e/attachment.bin>


More information about the Binutils mailing list