2006-01-16  Joseph Myers  <joseph@codesourcery.com>

	Backport:
	2005-08-02  Khem Raj  <kraj@mvista.com>

	* config/tc-arm.c (do_iwmmxt_wldstd): Correct the offset range for
	WLDRD/WSTRD instruction.

	2005-08-03  Nick Clifton  <nickc@redhat.com>

	* gas/arm/iwmmxt-bad2.s: New file: Check for error messages about
	erroneous offsets in iwmmxt instructions.  Cannot be part of
	iwmmxt-bad.s because the errors there stop the assembler before it
	gets to check the offsets in instructions.
	* gas/arm/iwmmxt-bad2.d: New file.
	* gas/arm/iwmmxt-bad2.l: New file: Expected error messages.

	2005-08-02  Khem Raj  <kraj@mvista.com>

	* gas/arm/iwmmxt.s: Change the offset values of the WLDRD, WSTRD
	and WSTRW instructions to be larger than +/-255.
	* gas/arm/iwmmxt.d: Fix the expected results for these
	instructions.

2005-04-13  Mark Mitchell <mark@codesourcery.com>

	* doc/binutils.info: Remove.

2005-05-01  Paul Brook  <paul@codesourcery.com>

	* bfd/elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a
	strong definition has already been seen.

2005-05-01  Paul Brook  <paul@codesourcery.com>

	* bfd/elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
	R_ARM_PLT32 the same as R_ARM_PC24.
	(arm_add_to_rel): Ditto.

2005-05-01  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (thumb32_mode): Rename unified_syntax.
	All uses changed to match.
	(COND_ALWAYS): Don't offset.
	(COND_MASK): Delete.
	(struct arm_it): Add cond field.
	(struct asm_opcode): Add tag field.  Change some fields to
	unsigned int and/or to bitfields.
	(my_get_expression): If unified_syntax, always treat the
	prefix as optional.
	(s_thumb32, s_thumb32_func): Delete.
	(opcode_select, s_force_thumb): Don't set thumb32_mode.
	(s_syntax): New function.
	(md_pseudo_table): Update to match.
	(do_blx, do_iwmmxt_wldstw): Look at inst.cond, not
	inst.instruction, for the condition.  
	(do_it): New function.
	(do_t_branch): Get the condition from inst.cond and patch it
	into the appropriate place.
	(output_inst): If inst.size == 0, output nothing, but do issue
	a diagnostic if any.
	(enum opcode_tag): New set of constants.
	(opcode_lookup): New function.
	(md_assemble): Use opcode_lookup.  Restructure a little.
	(conds, OPS0): Adjust comment.
	(TxCE, TxCM, TUE, TUF): Rewrite.
	(TCC): Delete.
	(TxC3, TC3, tC3, TxCM_, C3, C3E): New notational macros.

	(insns): Use TC3, tC3, or C3, as appropriate, for all
	instructions where the conditional infix appears after the
	third letter of the mnemonic.  Use TCE for 'b'.  Use C3E for
	'cmfe' and 'cnfe'.  Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.
	Use TUE, with a dummy ARM opcode, for all variants of 'it'.

	* opcodes/arm-dis.c: Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.

	* gas/testsuite/gas/arm/thumb.d: bal.n is no longer
	distinguishable from b.n.
	* gas/testsuite/gas/arm/thumb32.d: Likewise.  Change 'czbne'
	to 'cbnz', 'czbeq' to 'cbz'.
	* gas/testsuite/gas/arm/thumb32.s: Use .syntax unified.
	Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.

2005-05-01  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (encode_thumb32_addr_mode): Set inst.reloc.pc_rel
	if is_pc.
	(T16_32_TAB): Delete unused entry for BLX.
	(do_t_ldst): Don't offset inst.reloc.exp.X_add_number for PC-relative
	addressing.
	(md_pcrel_from): Report the adjusted PC for
	BFD_RELOC_ARM_THUMB_OFFSET and BFD_RELOC_ARM_T32_OFFSET_IMM.
	(md_apply_fix3): Correct bitmasks for BFD_RELOC_ARM_T32_OFFSET_IMM.
	Do not round up value for PC-relative BFD_RELOC_ARM_THUMB_OFFSET.

	* gas/testsuite/gas/arm/thumb.s: Test PC-relative ldr more thoroughly.
	* gas/testsuite/gas/arm/thumb.d: Update to match.

	* gas/testsuite/gas/arm/thumb32.s: Properly align labels that
	will be targeted by blx instructions.
	* gas/testsuite/gas/arm/thumb32.d: Update to match.  Correct
	expected dissassembly of PC-relative ldr.

	* gas/testsuite/gas/arm/macro1.s: Add leading label and
	trailing padding for a.out compatibility.
	* gas/testsuite/gas/arm/macro1.d: Update to match.
	* gas/testsuite/gas/arm/tcompat2.s: Add trailing padding for a.out
	compatibility.
	* gas/testsuite/gas/arm/tcompat2.d: Update to match.

	* opcodes/arm-dis.c (print_insn_thumb32): Reorganize %a and %A
	handling.  Call info->print_address_func when %a/%A are applied 
	to a PC-relative instruction.

2005-04-29  Zack Weinberg  <zack@codesourcery.com>

	* gas/sb.c: Include as.h.
	(sb_to_scrub, scrub_position, scrub_from_sb): New statics.
	(sb_scrub_and_add_sb): New interface.
	* gas/sb.h: Declare sb_scrub_and_add_sb.
	* gas/input-scrub.c (input_scrub_include_sb): Use it.

	* gas/config/tc-arm.c (do_t_arit3c): Correct typo in expression.
	(do_t_mul): Allow dest to equal either source1 or source2 in
	16-bit form; do not complain about dest == source1 in any
	case.

	* gas/testsuite/gas/arm/tcompat2.s: Test both dest==source1 and
	dest==source2 for commutative arithmetic instructions.
	* gas/testsuite/gas/arm/tcompat2.d: Update to match.
	* gas/testsuite/gas/arm/t16-bad.l: Adjust expected diagnostic.
	* gas/testsuite/gas/arm/macro1.s, gas/arm/macro1.d: New test pair.
	* gas/testsuite/gas/arm/arm.exp: Run it.

2005-04-25  Zack Weinberg  <zack@codesourcery.com>

	Thumb32 assembler.

	* include/elf/arm.h: Import full set of relocation names from
	latest AAELF.  Make the primary name of all relocations be the one
	AAELF specifies.  Provide aliases under the traditional names.
	Kill FIRST_INVALID_RELOC_* and LAST_INVALID_RELOC_*.
	* bfd/reloc.c: Reorganize ARM relocations.  Remove ARM relocations
	that are never generated.  Document more of the relocations.  Add
	relocations for Thumb32.
	* bfd/libbfd.h, bfd/bfd-in2.h: Regenerate.
	* bfd/elf32-arm.c: Reorganize howto tables.  Implement Thumb32
	relocations.
	* ld/testsuite/ld-arm/mixed-app.d: Adjust expectations for
	renamed relocations.

	* gas/hash.c (hash_find_n): New interface.
	* gas/hash.h: Prototype it.

	* gas/config/tc-arm.c: Rewrite and reorganize.  Implement 32-bit
	Thumb instructions.
	* gas/testsuite/gas/arm: Convert all "gas_test" style tests to
	"run_dump_test" style tests, for more thorough testing.  Make
	adjustments to expectations where necessary.
	* gas/testsuite/gas/arm/t16-bad.s, gas/testsuite/gas/arm/tcompat.s
	* gas/testsuite/gas/arm/tcompat2.s, gas/testsuite/gas/arm/thumb32.s:
	New test cases.

	* opcodes/arm-dis.c: Add support for Thumb32 instructions and
	16-bit V6T2 instructions.


2005-04-13  Paul Brook  <paul@codesourcery.com>

	Backport from mainline.
	2005-04-11  Alan Modra  <amodra@bigpond.net.au>
	* emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
	as_needed libs that were not needed.
	(gld${EMULATION_NAME}_check_needed): Likewise.

2005-04-08  Mark Mitchell <mark@codesourcery.com>

	* ld/configure.tgt (arm-wrs-linux-gnueabi*): Support both big- and
	little-endian.

2005-04-08  Paul Brook  <paul@codesourcery.com>

	* elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
	(ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
	(ARM2THUMB_PIC_GLUE_SIZE): Define.
	(a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
	(elf32_arm_to_thumb_stub): Create PIC stubs.
	(record_arm_to_thumb_glue): Use different stub size for relocatable
	images.

2005-03-29  Julian Brown  <julian@codesourcery.com>

	* elf32-arm.c (elf32_arm_final_link_relocate): Use blx to get to
	symbian plt entries from thumb mode.

2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>
	    Phil Blundell  <philb@gnu.org>

	* bfd/bfd-in2.h, libbfd.h: Regenerated.
	* bfd/reloc.c: Add ARM TLS relocations.
	* bfd/elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
	relocations.
	(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
	(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
	(elf32_arm_tls_ie32_howto): New.
	(elf32_arm_howto_from_type): Support TLS relocations.
	(elf32_arm_reloc_map): Likewise.
	(elf32_arm_reloc_type_lookup): Likewise.
	(TCB_SIZE): Define.
	(struct elf32_arm_obj_tdata): New.
	(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
	(elf32_arm_mkobject): New function.
	(struct elf32_arm_relocs_copied): Add pc_count.
	(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
	(GOT_TLS_IE): Define.
	(struct elf32_arm_link_hash_table): Add tls_ldm_got.
	(elf32_arm_link_hash_newfunc): Initialize tls_type.
	(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
	(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
	(dtpoff_base, tpoff): New functions.
	(elf32_arm_final_link_relocate): Handle TLS relocations.
	(IS_ARM_TLS_RELOC): Define.
	(elf32_arm_relocate_section): Warn about TLS mismatches.
	(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
	(elf32_arm_check_relocs): Detect invalid symbol indexes.  Handle
	TLS relocations and pc_count.
	(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
	(allocate_dynrelocs): Handle TLS.  Bind REL32 relocs to local
	calls.
	(elf32_arm_size_dynamic_sections): Handle TLS.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject): Define.

	* gas/config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
	(md_apply_fix3): Mark TLS symbols.
	(tc_gen_reloc): Handle TLS relocations.
	(arm_fix_adjustable): Ignore TLS relocations.
	(s_arm_elf_cons): Support expressions after decorated symbols.

	* gas/testsuite/gas/arm/tls.s, gas/testsuite/gas/arm/tls.d: New files.
	* gas/testsuite/gas/arm/arm.exp: Run TLS test.

	* include/elf/arm.h: Add TLS relocations.

	* ld/testsuite/ld-arm/tls-lib.s, ld/testsuite/ld-arm/tls-lib.d,
	ld/testsuite/ld-arm/tls-lib.r, ld/testsuite/ld-arm/tls-app.s,
	ld/testsuite/ld-arm/tls-app.d, ld/testsuite/ld-arm/tls-app.r: New files.
	* ld/testsuite/ld-arm/arm-lib.ld, ld/testsuite/ld-arm/arm-dyn.ld:
	Increase data segment alignment.
	* ld/testsuite/ld-arm/arm-elf.exp: Run TLS tests.

2005-03-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* bfd/elf32-arm.c (elf32_arm_check_relocs): Increment count for all
	relocation types.  Don't count relocations which will use a PLT.

2005-03-23  Jim Blandy  <jimb@redhat.com>

	* config/tc-arm.c (arm_adjust_symtab): Fetch elf_sym's binding
	attributes properly.

2005-03-21  Nick Clifton  <nickc@redhat.com>

	* gas/testsuite/gas/arm/iwmmxt.s: Update instructions that use the "never" value
	in the conditional field to use "le" instead.  This is so that the
	disassembler will disassemble them.
	* gas/testsuite/gas/arm/iwmmxt.d: Update expected disassemblies.

2005-03-18  Julian Brown  <julian@codesourcery.com>

	* ld/scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
	.rel.fini_array.
	(.rela.dyn): Add .rela.init_array, .rela.fini_array.
	(SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.

2005-03-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* gas/configure.tgt: Set emulation for arm-*-eabi*.
	* gas/config/tc-arm.c (meabi_flags): Check EABI_DEFAULT.
	* gas/config/te-armeabi.h: New file.
	* gas/config/te-armlinuxeabi.h (EABI_DEFAULT): Define.
	* gas/config/te-symbian.h: Include "te-armeabi.h".

2005-03-15  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (do_mla): Rename to do_mlas, take second
	is_mls parameter; do not diagnose Rm==Rd when is_mls.
	(do_mla, do_mls, five_bit_unsigned_immediate, bfci_lsb_and_width)
	(do_bfc, do_bfi, do_bfx, do_rbit, do_mov16, do_ldsttv4): New functions.
	(insns): Add ARMv6T2 instructions:
	bfc bfi mls movw movt rbit sbfx ubfx ldrht ldrsht ldrsbt strht.
	(arm_archs): Add V6T2 variants.

2005-03-12  Zack Weinberg  <zack@codesourcery.com>

	* gas/config/tc-arm.c (tinsns): Add ARMv6K instructions sev, wfe,
	wfi, yield.

	* opcodes/arm-dis.c (thumb_opcodes): Add ARMv6K instructions nop, sev,
	wfe, wfi, yield.

	* gas/testsuite/gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
	* gas/testsuite/gas/arm/arm.exp: Run it.

2005-03-12  Zack Weinberg  <zack@codesourcery.com>

	* opcodes/arm-dis.c (arm_opcodes): Document %E and %V.
	Add entries for v6T2 ARM instructions:
	bfc bfi mls strht ldrht ldrsht ldrsbt movw movt rbit ubfx sbfx.
	(print_insn_arm): Add support for %E and %V.

	* include/opcode/arm.h: Adjust comments for ARM_EXT_V4T and ARM_EXT_V5T.
	Add ARM_EXT_V6T2, ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2,
	and ARM_ARCH_V6ZKT2.
