and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 28 Apr, 2006 1 commit
    • Joseph Myers's avatar
      * gas/config/tc-arm.c (do_iwmmxt_wldstbh): Don't multiply offset · 7096c735
      Joseph Myers authored
      	by 4 here.
      	(md_apply_fix3): Multiply offset by 4 here for
      	BFD_RELOC_ARM_CP_OFF_IMM_S2.
      	* gas/testsuite/gas/arm/arm.exp: Run iwmmxt-bad2.
      	* gas/testsuite/gas/arm/iwmmxt.s: Increase offsets for wstrb and
      	wstrh.
      	* gas/testsuite/gas/arm/iwmmxt.d: Update expected results.
      	* gas/testsuite/gas/arm/iwmmxt-bad2.s: Test wstrb, wstrh, wldrb
      	and wldrh.
      	* gas/testsuite/gas/arm/iwmmxt-bad2.l: Update expected error
      	messages.
      7096c735
  2. 17 Jan, 2006 1 commit
    • Joseph Myers's avatar
      Backport: · 8614ab26
      Joseph Myers authored
      	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.
      8614ab26
  3. 03 Aug, 2005 1 commit
    • nobody's avatar
      This commit was manufactured by cvs2svn to create branch 'binutils-csl-arm- · 300d3cba
      nobody authored
      2005q1-branch'.
      
      Cherrypick from master 2005-08-03 09:50:43 UTC Nick Clifton <nickc@redhat.com> 'config/tc-arm.c (do_iwmmxt_wldstd): Correct the offset range for WLDRD/WSTRD':
          gas/testsuite/gas/arm/iwmmxt-bad2.d
          gas/testsuite/gas/arm/iwmmxt-bad2.l
          gas/testsuite/gas/arm/iwmmxt-bad2.s
      300d3cba
  4. 23 May, 2005 1 commit
  5. 18 May, 2005 3 commits
  6. 02 May, 2005 1 commit
  7. 01 May, 2005 1 commit
  8. 30 Apr, 2005 2 commits
    • Paul Brook's avatar
      2005-05-01 Zack Weinberg <zack@codesourcery.com> · c5fd799b
      Paul Brook authored
      	* 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'.
      c5fd799b
    • Paul Brook's avatar
      2005-05-01 Zack Weinberg <zack@codesourcery.com> · 0e8142ad
      Paul Brook authored
      	* 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.
      0e8142ad
  9. 29 Apr, 2005 3 commits
    • Zack Weinberg's avatar
      * gas/sb.c: Include as.h. · 0fccc402
      Zack Weinberg authored
      	(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.
      0fccc402
    • Paul Brook's avatar
      Delete the right files · 61164eb0
      Paul Brook authored
      61164eb0
    • Paul Brook's avatar
  10. 26 Apr, 2005 1 commit
    • Zack Weinberg's avatar
      Thumb32 assembler. · 24f73624
      Zack Weinberg authored
      	* 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.
      24f73624
  11. 13 Apr, 2005 1 commit
    • Paul Brook's avatar
      2005-04-13 Paul Brook <paul@codesourcery.com> · 23c2ba7e
      Paul Brook authored
      	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.
      23c2ba7e
  12. 08 Apr, 2005 2 commits
  13. 30 Mar, 2005 1 commit
    • Julian Brown's avatar
      * bfd/bfd-in.h (bfd_is_arm_mapping_symbol_name): Add prototype. · 5db1eb02
      Julian Brown authored
      	* bfd/bfd-in2.h: Regenerate.
      	* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
      	bfd_is_arm_mapping_symbol_name.
      	(elf32_arm_output_symbol_hook): Likewise.
      	(arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
      	mapping symbols.
      	(is_arm_mapping_symbol_name): Function moved from here...
      	* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): ...to here,
      	renamed and made global.
      	* gas/config/tc-arm.c (mapping_state): Change documentation in
      	function comment to cross-reference spec instead. Change type of
      	mapping symbols to BSF_NO_TYPE.
      	(arm_adjust_symtab): Don't change type of mapping symbols here.
      	* gas/testsuite/gas/arm/mapping.d: Update expected output.
      	* ld/testsuite/ld-arm/arm-app-abs32.d: Likewise.
      	* ld/testsuite/ld-arm/arm-app.d: Likewise.
      	* ld/testsuite/ld-arm/mixed-app.d: Likewise.
      5db1eb02
  14. 29 Mar, 2005 2 commits
    • Julian Brown's avatar
      * gas/config/tc-arm.c (marked_pr_dependency): New bitmap, bit N · f4b55334
      Julian Brown authored
      	indicates whether personality routine index N has been output for this
      	section.
      	(mapping_state): tc_segment_info_data now struct not enum.
      	(arm_elf_change_section): Likewise, and marked_pr_dependency is now
      	handled on section change.
      	(create_unwind_entry): Previous code to output dependency removed.
      	(s_arm_unwind_fnend): Output dependency if it hasn't been done already
      	for this section.
      	* gas/config/tc-arm.h (TC_SEGMENT_INFO_TYPE): Redefined as struct
      	arm_segment_info_type.
      	(arm_segment_info_type): New struct.
      	* gas/testsuite/gas/arm/unwind.d: Update expected output.
      f4b55334
    • Paul Brook's avatar
      2005-03-29 Julian Brown <julian@codesourcery.com> · e6b2e78c
      Paul Brook authored
      	* elf32-arm.c (elf32_arm_final_link_relocate): Use blx to get to
      	symbian plt entries from thumb mode.
      e6b2e78c
  15. 28 Mar, 2005 4 commits
    • Mark Mitchell's avatar
      * include/libiberty.h (ffs): Declare. · 5b85129a
      Mark Mitchell authored
      5b85129a
    • Daniel Jacobowitz's avatar
      * bfd/bfd-in2.h, libbfd.h: Regenerated. · eeec8951
      Daniel Jacobowitz authored
      	* 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.
      eeec8951
    • Daniel Jacobowitz's avatar
      * elf32-arm.c (elf32_arm_check_relocs): Increment count for all · e3f7d989
      Daniel Jacobowitz authored
      	relocation types.  Don't count relocations which will use a PLT.
      e3f7d989
    • Daniel Jacobowitz's avatar
  16. 25 Mar, 2005 2 commits
    • nobody's avatar
      This commit was manufactured by cvs2svn to create branch 'binutils-csl-arm- · 952532d2
      nobody authored
      2005q1-branch'.
      
      Sprout from binutils-2_16-branch 2005-03-25 02:21:44 UTC Mark Mitchell <mark@codesourcery.com> '	* config/default.exp: Do not load libpath.exp if it does not'
      Cherrypick from master 2005-03-16 17:27:17 UTC Daniel Jacobowitz <drow@false.org> '	* configure.tgt: Set emulation for arm-*-eabi*.':
          gas/config/te-armeabi.h
          gas/testsuite/gas/arm/archv6t2-bad.l
          gas/testsuite/gas/arm/archv6t2-bad.s
          gas/testsuite/gas/arm/archv6t2.d
          gas/testsuite/gas/arm/archv6t2.s
          gas/testsuite/gas/arm/thumbv6k.d
          gas/testsuite/gas/arm/thumbv6k.s
      952532d2
    • Mark Mitchell's avatar
      * config/default.exp: Do not load libpath.exp if it does not · ef30d2dc
      Mark Mitchell authored
      	exist.
      	(CC): Provide fallback definition.
      	(CFLAGS): Likewise.
      	(CXX): Likewise.
      	(CXXFLAGS): Likewise.
      ef30d2dc
  17. 24 Mar, 2005 1 commit
  18. 23 Mar, 2005 1 commit
  19. 22 Mar, 2005 6 commits
    • Alan Modra's avatar
      daily update · 25e5959d
      Alan Modra authored
      25e5959d
    • Bob Wilson's avatar
      include: · d474e874
      Bob Wilson authored
      	* xtensa-isa.h: Update a comment and whitespace.
      bfd:
      	* xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
      	xtensa_sysreg_lookup_name, xtensa_interface_lookup,
      	xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
      	(xtensa_opcode_decode): Rearrange code.
      d474e874
    • Daniel Jacobowitz's avatar
      * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for · b756b2eb
      Daniel Jacobowitz authored
      	unresolved symbols in R_ARM_NONE relocations.
      b756b2eb
    • Daniel Jacobowitz's avatar
      * elf32-arm.c (elf32_arm_final_link_relocate): Add · 9073db52
      Daniel Jacobowitz authored
      	UNRESOLVED_RELOC_P argument.  Set it appropriately.
      	(elf32_arm_relocate_section): Update call to
      	elf32_arm_final_link_relocate.  Don't clobber RELOCATION; use
      	unresolved_reloc instead.
      9073db52
    • Alan Modra's avatar
      bfd/ · 9fbbf7e2
      Alan Modra authored
      	* elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
      	.gnu.warning.* sections.
      ld/
      	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
      	SEC_EXCLUDE on .gnu.warning sections.
      9fbbf7e2
    • Alan Modra's avatar
      gas/testsuite/ · 352a2bd8
      Alan Modra authored
      	* gas/elf/section5.s: Don't start directives in first column.
      ld/testsuite/
      	* ld-elf/tbss.s: Don't start directives in first column.
      	* ld-scripts/weak1.s: Likewise.
      	* ld-scripts/weak2.s: Likewise.
      	* ld-undefined/weak-undef.s: Likewise.
      	* ld-undefined/undefined.exp: Enable tests for hppa-elf.
      352a2bd8
  20. 21 Mar, 2005 5 commits