| 2006-06-02 Joseph Myers <joseph@codesourcery.com> |
| |
| * gas/doc/c-arc.texi: Fix typo. |
| |
| 2006-04-28 Joseph Myers <joseph@codesourcery.com> |
| |
| * gas/config/tc-arm.c (do_iwmmxt_wldstbh): Don't multiply offset |
| 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. |
| |
| 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. |