aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.h
AgeCommit message (Collapse)AuthorFilesLines
2015-05-08Change ARM symbol name verification code so that it only triggers when the ↵Nick Clifton1-0/+3
form "name = val" is used. PR gas/18347 * config/tc-arm.h (TC_EQUAL_IN_INSN): Define. * config/tc-arm.c (arm_tc_equal_in_insn): New function. Move the symbol name checking code to here from... (md_undefined_symbo): ... here.
2015-04-24[ARM]: Don't tail-pad over-aligned functions to the alignment boundary.Richard Earnshaw1-0/+9
2015-04/24 Richard Earnshaw <rearnsha@arm.com> gas/ * config/tc-arm.h (arm_min): New function. (SUB_SEGMENT_ALIGN): Define. gas/testsuite/ * gas/arm/align64.d: Delete trailing padding NOPs. ld/testsuite/ * ld-arm/armthumb-lib.d: Regenerate expected output. * ld-arm/armthumb-lib.d: Likewise. * ld-arm/armthumb-lib.sym: Likewise. * ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-b-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-b.d: Likewise. * ld-arm/cortex-a8-fix-bcc-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-bcc.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise. * ld-arm/cortex-a8-fix-bl-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-bl.d: Likewise. * ld-arm/cortex-a8-fix-blx-bcond.d: Likewise. * ld-arm/cortex-a8-fix-blx-rel-arm.d: Likewise. * ld-arm/cortex-a8-fix-blx-rel-thumb.d: Likewise. * ld-arm/cortex-a8-fix-blx.d: Likewise. * ld-arm/cortex-a8-fix-hdr.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib-v4t.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/mixed-app-v5.d: Likewise. * ld-arm/mixed-app.d: Likewise. * ld-arm/mixed-lib.d: Likewise.
2015-03-12Fixes a problem generating relocs for thumb function calls to local symbols ↵Nick Clifton1-2/+2
defined in other sections. PR gas/17444 * config/tc-arm.h (MD_APPLY_SYM_VALUE): Pass the current segment to arm_apply_sym_value. Update prototype. * config/tc-arm.c (arm_apply_sym_value): Add segment argument. Do not apply the value if the symbol is in a different segment to the current segment.
2015-01-02ChangeLog rotatation and copyright year updateAlan Modra1-1/+1
2014-11-21Calculate ARM arch attribute after relaxationTerry Guo1-0/+3
gas/ 2014-11-21 Terry Guo <terry.guo@arm.com> * config/tc-arm.c (md_assemble): Do not consider relaxation. (md_convert_frag): Test and set target arch attribute accordingly. (aeabi_set_attribute_string): Turn it into a global function. * config/tc-arm.h (md_post_relax_hook): Enable it for ARM target. (aeabi_set_public_attributes): Declare it. gas/testsuite/ 2014-11-21 Terry Guo <terry.guo@arm.com> * gas/arm/attr-arch-assumption.d: New file. * gas/arm/attr-arch-assumption.s: Likewise. ld/testsuite/ 2014-11-21 Terry Guo <terry.guo@arm.com> * ld-arm/tls-longplt-lib.s: Require ARMv6T2. * ld-arm/tls-longplt.s: Likewise. * ld-arm/tls-longplt-lib.d: Updated. * ld-arm/tls-longplt.d: Likewise.
2014-04-09gas TC_PARSE_CONS_EXPRESSION communication with TC_CONS_FIX_NEWAlan Modra1-1/+2
A number of targets pass extra information from TC_PARSE_CONS_EXPRESSION to TC_CONS_FIX_NEW via static variables. That's OK, but not best practice. tc-ppc.c goes further in implementing its own replacement for cons(), because the generic one doesn't allow relocation modifiers on constants. This patch fixes both of these warts. * gas/config/tc-alpha.h (TC_CONS_FIX_NEW): Add RELOC parameter. * gas/config/tc-arc.c (arc_cons_fix_new): Add reloc parameter. * gas/config/tc-arc.h (arc_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Add RELOC parameter. * gas/config/tc-arm.c (cons_fix_new_arm): Similarly * gas/config/tc-arm.h (cons_fix_new_arm, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-cr16.c (cr16_cons_fix_new): Similarly. * gas/config/tc-cr16.h (cr16_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-crx.h (TC_CONS_FIX_NEW): Similarly. * gas/config/tc-m32c.c (m32c_cons_fix_new): Similarly. * gas/config/tc-m32c.h (m32c_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-mn10300.c (mn10300_cons_fix_new): Similarly. * gas/config/tc-mn10300.h (mn10300_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-ns32k.c (cons_fix_new_ns32k): Similarly. * gas/config/tc-ns32k.h (cons_fix_new_ns32k): Similarly. * gas/config/tc-pj.c (pj_cons_fix_new_pj): Similarly. * gas/config/tc-pj.h (pj_cons_fix_new_pj, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-rx.c (rx_cons_fix_new): Similarly. * gas/config/tc-rx.h (rx_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-sh.c (sh_cons_fix_new): Similarly. * gas/config/tc-sh.h (sh_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-tic54x.c (tic54x_cons_fix_new): Similarly. * gas/config/tc-tic54x.h (tic54x_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-tic6x.c (tic6x_cons_fix_new): Similarly. * gas/config/tc-tic6x.h (tic6x_cons_fix_new, TC_CONS_FIX_NEW): Similarly. * gas/config/tc-arc.c (arc_parse_cons_expression): Return reloc. * gas/config/tc-arc.h (arc_parse_cons_expression): Update proto. * gas/config/tc-avr.c (exp_mod_data): Make global. (pexp_mod_data): Delete. (avr_parse_cons_expression): Return exp_mod_data pointer. (avr_cons_fix_new): Add exp_mod_data_t pointer param. (exp_mod_data_t): Move typedef.. * gas/config/tc-avr.h: ..to here. (exp_mod_data): Declare. (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define. (avr_parse_cons_expression, avr_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Update. * gas/config/tc-hppa.c (hppa_field_selector): Delete static var. (cons_fix_new_hppa): Add hppa_field_selector param. (fix_new_hppa): Adjust. (parse_cons_expression_hppa): Return field selector. * gas/config/tc-hppa.h (parse_cons_expression_hppa): Update proto. (cons_fix_new_hppa): Likewise. (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define. * gas/config/tc-i386.c (got_reloc): Delete static var. (x86_cons_fix_new): Add reloc param. (x86_cons): Return got reloc. * gas/config/tc-i386.h (x86_cons, x86_cons_fix_new): Update proto. (TC_CONS_FIX_NEW): Add RELOC param. * gas/config/tc-ia64.c (ia64_cons_fix_new): Add reloc param. Adjust calls. * gas/config/tc-ia64.h (ia64_cons_fix_new): Update prototype. (TC_CONS_FIX_NEW): Add reloc param. * gas/config/tc-microblaze.c (parse_cons_expression_microblaze): Return reloc. (cons_fix_new_microblaze): Add reloc param. * gas/config/tc-microblaze.h: Formatting. (parse_cons_expression_microblaze): Update proto. (cons_fix_new_microblaze): Likewise. * gas/config/tc-nios2.c (nios2_tls_ldo_reloc): Delete static var. (nios2_cons): Return ldo reloc. (nios2_cons_fix_new): Delete. * gas/config/tc-nios2.h (nios2_cons): Update prototype. (nios2_cons_fix_new, TC_CONS_FIX_NEW): Delete. * gas/config/tc-ppc.c (md_pseudo_table): Remove quad, long, word, short. Make llong use cons. (ppc_elf_suffix): Return BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. (ppc_elf_cons): Delete. (ppc_elf_parse_cons): New function. (ppc_elf_validate_fix): Don't check for BFD_RELOC_UNUSED. (md_assemble): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. * gas/config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): Define (ppc_elf_parse_cons): Declare. * gas/config/tc-sparc.c (sparc_cons_special_reloc): Delete static var. (sparc_cons): Return reloc specifier. (cons_fix_new_sparc): Add reloc specifier param. (sparc_cfi_emit_pcrel_expr): Use emit_expr_with_reloc. * gas/config/tc-sparc.h (TC_PARSE_CONS_RETURN_TYPE): Define. (TC_PARSE_CONS_RETURN_NONE): Define. (sparc_cons, cons_fix_new_sparc): Update prototype. * gas/config/tc-v850.c (hold_cons_reloc): Delete static var. (v850_reloc_prefix): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED. (md_assemble): Likewise. (parse_cons_expression_v850): Return reloc. (cons_fix_new_v850): Add reloc parameter. * gas/config/tc-v850.h (parse_cons_expression_v850): Update proto. (cons_fix_new_v850): Likewise. * gas/config/tc-vax.c (vax_cons_special_reloc): Delete static var. (vax_cons): Return reloc. (vax_cons_fix_new): Add reloc parameter. * gas/config/tc-vax.h (vax_cons, vax_cons_fix_new): Update proto. * gas/config/tc-xstormy16.c (xstormy16_cons_fix_new): Add reloc param. * gas/config/tc-xstormy16.h (xstormy16_cons_fix_new): Update proto. * gas/dwarf2dbg.c (TC_PARSE_CONS_RETURN_NONE): Provide default. (emit_fixed_inc_line_addr): Adjust exmit_expr_fix calls. * gas/read.c (TC_PARSE_CONS_EXPRESSION): Return value. (do_parse_cons_expression): Adjust. (cons_worker): Pass return value from TC_PARSE_CONS_EXPRESSION to emit_expr_with_reloc. (emit_expr_with_reloc): New function handling reloc, mostly extracted from.. (emit_expr): ..here. (emit_expr_fix): Add reloc param. Adjust TC_CONS_FIX_NEW invocation. Handle reloc. (parse_mri_cons): Convert to ISO. * gas/read.h (TC_PARSE_CONS_RETURN_TYPE): Define. (TC_PARSE_CONS_RETURN_NONE): Define. (emit_expr_with_reloc): Declare. (emit_expr_fix): Update prototype. * gas/write.c (write_object_file): Update TC_CONS_FIX_NEW invocation.
2014-03-19Add support for ARM assembler produced by CodeCompositor Studio.Daniel Gutson1-0/+13
* config/tc-arm.c (codecomposer_syntax): New flag that states whether the CCS syntax compatibility mode is on or off. (asmfunc_states): New enum to represent the asmfunc directive state. (asmfunc_state): New variable holding the asmfunc directive state. (comment_chars): Rename to arm_comment_chars. (line_separator_chars): Rename to arm_line_separator_chars. (s_ccs_ref): New function that handles the .ref directive. (asmfunc_debug): New function. (s_ccs_asmfunc): New function that handles the .asmfunc directive. (s_ccs_endasmfunc): New function that handles the .endasmfunc directive. (s_ccs_def): New function that handles the .def directive. (tc_start_label_without_colon): New function. (md_pseudo_table): Added new CCS directives. (arm_ccs_mode): New function that handles the -mccs command line option. (arm_long_opts): Added new -mccs command line option. * config/tc-arm.h (LABELS_WITHOUT_COLONS): New macro. (TC_START_LABEL_WITHOUT_COLON): New macro. (tc_start_label_without_colon): Added extern function declaration. (tc_comment_chars): Define. (tc_line_separator_chars): Define. * app.c (do_scrub_begin): Use tc_line_separator_chars, if defined. * read.c (read_begin): Likewise. * doc/as.texinfo: Add documentation for the -mccs command line option. * doc/c-arm.texi: Likewise. * doc/internals.texi: Document tc_line_separator_chars. * NEWS: Mention the new feature. * gas/arm/ccs.s: New test case. * gas/arm/ccs.d: New expected disassembly.
2014-03-05Update copyright yearsAlan Modra1-2/+1
2012-11-20gas/Roland McGrath1-0/+3
* config/tc-arm.c (arm_symbol_chars): New variable. * config/tc-arm.h (tc_symbol_chars): New macro, defined to that. gas/testsuite/ * gas/arm/macro-pld.s: New file. * gas/arm/macro-pld.d: New file.
2012-08-24 * gas/config/tc-arm.c (do_t_it): Fully initialise now_it.Matthew Gretton-Dann1-0/+2
(new_automatic_it_block): Likewise. (handle_it_block): Record whether current instruction is conditionally executed. * gas/config/tc-arm.c (depr_insn_mask): New structure. (depr_it_insns): New variable. (it_fsm_post_encode): Warn on deprecated uses. * gas/config/tc-arm.h (current_it): Add new fields. * gas/testsuite/gas/arm/armv8-a-it-bad.d: New testcase. * gas/testsuite/gas/arm/armv8-a-it-bad.l: Likewise. * gas/testsuite/gas/arm/armv8-a-it-bad.s: Likewise. * gas/testsuite/gas/arm/ldr-t-bad.s: Update testcase. * gas/testsuite/gas/arm/ldr-t.d: Likewise. * gas/testsuite/gas/arm/ldr-t.s: Likewise. * gas/testsuite/gas/arm/neon-cond-bad-inc.s: Likewise. * gas/testsuite/gas/arm/sp-pc-validations-bad-t: Likewise. * gas/testsuite/gas/arm/vfp-fma-inc.s: Likewise. * gas/testsuite/gas/arm/vfp-neon-syntax-inc.s: Likewise.
2012-03-13gas/Roland McGrath1-0/+3
2012-03-12 Roland McGrath <mcgrathr@google.com> * config/tc-arm.c (arm_frag_max_var): New function. * config/tc-arm.h: Declare it. (md_frag_max_var): New macro. * config/tc-i386.c (i386_frag_max_var): New function. * config/tc-i386.h: Declare it. (md_frag_max_var): New macro. * doc/as.texinfo (Bundle directives): New node. (Pseudo Ops): Add it to the menu. * NEWS: Mention new feature. * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro. [HANDLE_BUNDLE] (bundle_align_p2): New variable. [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables. [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle): New functions. (assemble_one): New function if [HANDLE_BUNDLE], #define directly to md_assembly if not. (read_a_source_file): Call assemble_one in place of md_assemble. (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated .bundle_lock at end of processing. [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock): New functions. [HANDLE_BUNDLE] (potable): Add their entries. * read.h: Declare new functions. gas/testsuite/ 2012-03-12 Roland McGrath <mcgrathr@google.com> * gas/i386/bundle-bad.s: New file. * gas/i386/bundle-bad.d: New file. * gas/i386/bundle-bad.l: New file. * gas/i386/i386.exp: Run it. * gas/arm/bundle.s: New file. * gas/arm/bundle.d: New file. * gas/arm/bundle-lock.s: New file. * gas/arm/bundle-lock.d: New file. * gas/i386/bundle.s: New file. * gas/i386/bundle.d: New file. * gas/i386/x86-64-bundle.s: New file. * gas/i386/x86-64-bundle.d: New file. * gas/i386/bundle-lock.s: New file. * gas/i386/bundle-lock.d: New file. * gas/i386/i386.exp: Run them.
2012-02-21 * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.Nick Clifton1-1/+4
2011-05-312011-05-31 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+6
Nathan Sidwell <nathan@codesourcery.com> gas/ * config/tc-arm.c (fix_new_arm): Create an absolute symbol for pc-relative fixes to constants. * config/tc-arm.h (TC_FORCE_RELOCATATION_ABS): Define. ld/testsuite/ * ld-arm/abs-call-1.d: New. * ld-arm/abs-call-1.s: New. * ld-arm/arm-elf.exp: Add it.
2010-05-04 * write.c (fixup_segment): Revert previous delta.Nick Clifton1-0/+1
* config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the generation of relocations for fixups against weak symbols.
2009-09-01 * read.c (TC_START_LABEL): Add a new argument.Jie Zhang1-1/+1
(read_a_source_file): Pass the beginning of the symbol through the new argument of TC_START_LABEL. * config/tc-arm.h (TC_START_LABEL): Add a new argument. * config/tc-bfin.c (bfin_start_label): Only search '(' and '[' from the beginning of the symbol. * config/tc-bfin.h (TC_START_LABEL): Add the new argument. * config/tc-d30v.h (TC_START_LABEL): Likewise. * config/tc-fr30.h (TC_START_LABEL): Likewise. * config/tc-m32c.h (TC_START_LABEL): Likewise. * config/tc-m32r.h (TC_START_LABEL): Likewise. * config/tc-mep.h (TC_START_LABEL): Likewise. testsuite/ * gas/bfin/stack2.s: Add pop multiple instruction with a label on the same line. * gas/bfin/stack2.d: Adjust accordingly.
2009-08-07 gas/Daniel Jacobowitz1-0/+5
* config/tc-arm.c (marked_pr_dependency, mapstate): Delete global variables. (mapping_state): Use the section's mapstate. (mapping_state_2): Likewise. Skip special sections. (s_arm_unwind_fnend): Use the section's marked_pr_dependency. (arm_elf_change_section): Do not set deleted globals. * config/tc-arm.h (struct arm_segment_info_type): Document marked_pr_dependency. gas/testsuite/ * gas/arm/mapping2.s: Test code after .ident.
2009-07-31 binutils/testsuite/Daniel Jacobowitz1-3/+16
* binutils-all/arm/thumb2-cond.s: Use instructions instead of .short. gas/ * config/obj-elf.c (obj_elf_ident): Notify section change to the hook. * config/tc-arm.c (make_mapping_symbol): New function, from mapping_state. Save mapping symbols in the frag. (insert_data_mapping_symbol): New. (mapping_state): Use make_mapping_symbol, improve state transitions. (mapping_state_2): New. Provide dummy definition. (opcode_select): Do not call mapping_state. (s_bss): Call md_elf_section_change_hook instead of mapping_state. (output_inst): Update use of tc_frag_data. (new_automatic_it_block): Call mapping_state before emitting the IT instruction. (md_assemble): Move mapping_state to just before outputting the new instruction. (arm_handle_align): Update use of tc_frag_data. Call insert_data_mapping_symbol. (arm_init_frag): Update use of tc_frag_data. Call mapping_state_2. (arm_elf_change_section): Always update the mapping symbol FSM state. (check_mapping_symbols): New function. (arm_adjust_symtab): Use check_mapping_symbols. * config/tc-arm.h (struct arm_frag_type): New. (TC_FRAG_TYPE): Change to struct arm_frag_type. (TC_FRAG_INIT): Pass max_chars. (arm_init_frag): Update prototype. gas/testsuite/ * gas/arm/mapdir.d, gas/arm/mapdir.s: New files. * gas/arm/mapping.d: Adapted to new symbols generation. * gas/arm/mapping2.d: New test case. * gas/arm/mapping2.s: New file. * gas/arm/mapping3.d: New test case. * gas/arm/mapping3.s: New file. * gas/arm/mapping4.d: New test case. * gas/arm/mapping4.s: New file. * gas/arm/mapshort-eabi.d: Adapted to new symbols generation. * gas/elf/section2.e-armeabi: Adapted to new symbols generation.
2009-07-14 * config/tc-arm.h (MAX_MEM_ALIGNMENT_BYTES): Define.Nick Clifton1-1/+2
(MAX_MEM_FOR_RS_ALIGN_CODE): Define in terms of MAX_MEM_ALIGNMENT_BYTES. * config/tc-arm.c (arm_frag_align_code): Replace hard coded constant with MAX_MEM_FOR_RS_ALIGN_CODE. * gas/arm/align64.s: New test case. * gas/arm/align64.d: Expected disassembly.
2009-07-14 PR 10387Nick Clifton1-12/+14
* config/tc-arm.h (THUMB_IS_FUNC): Handle a NULL pointer. (ARM_IS_FUNC): Likewise.
2009-06-22 * config/tc-arm.c (implicit_it_mode): New enum.Nick Clifton1-1/+20
(implicit_it_mode): New global. (it_instruction_type): New enum. (arm_parse_it_mode): New function. (arm_long_opts): New option added. (arm_it): New field. (it_state): New enum. (now_it): New macro. (check_it_blocks_finished): New function. (insns[]): Use the IT Thumb opcodes for ARM too. (arm_cleanup): Call check_it_blocks_finished. (now_it_compatible): New function. (conditional_insn): New function. (set_it_insn_type): New macro. (set_it_insn_type_last): New macro. (do_it): Call automatic IT machinery functions. (do_t_add_sub): Likewise (do_t_arit3): Likewise. (do_t_arit3c): Likewise. (do_t_blx): Likewise. (do_t_branch): Likewise. (do_t_bkpt): Likewise. (do_t_branch23): Likewise. (do_t_bx): Likewise. (do_t_bxj): Likewise. (do_t_cps): Likewise. (do_t_cpsi): Likewise. (do_t_cbz): Likewise. (do_t_it): Likewise. (encode_thumb2_ldmstm): Likewise. (do_t_ldst): Likewise. (do_t_mov_cmp): Likewise. (do_t_mvn_tst): Likewise. (do_t_mul): Likewise. (do_t_neg): Likewise. (do_t_setend): Likewise. (do_t_shift): Likewise. (do_t_tb): Likewise. (output_it_inst): New function. (new_automatic_it_block): New function. (close_automatic_it_block): New function. (now_it_add_mask): New function. (it_fsm_pre_encode): New function. (handle_it_state): New function. (it_fsm_post_encode): New function. (force_automatic_it_block_close): New function. (in_it_block): New function. (md_assemble): Call automatic IT block machinery functions. (arm_frob_label): Likewise. (arm_opts): New element. * config/tc-arm.h (it_state): New enum. (current_it): New struct. (arm_segment_info_type): New member added. * doc/c-arm.texi: New option -mimplicit-it documented. * gas/arm/arm-it-auto.d: New test. * gas/arm/arm-it-auto.s: New file. * gas/arm/arm-it-auto-2.d: New test case. * gas/arm/arm-it-auto-2.s: New file. * gas/arm/arm-it-auto-3.d: New test case. * gas/arm/arm-it-auto-3.s: New file. * gas/arm/arm-it-bad.d: New test case. * gas/arm/arm-it-bad.l: New file. * gas/arm/arm-it-bad.s: New file. * gas/arm/arm-it-bad-2.d: New test case. * gas/arm/arm-it-bad-2.l: New file. * gas/arm/arm-it-bad-2.s: New file. * gas/arm/arm-it-bad-3.d: New test case. * gas/arm/arm-it-bad-3.l: New file. * gas/arm/arm-it-bad-3.s: New file. * gas/arm/thumb2_it_auto.d: New test. * gas/arm/thumb2_it_bad.l: Error message updated. * gas/arm/thumb2_it_bad_auto.d: New test. * gas/arm/thumb2_it.d: Comment added. * gas/arm/thumb2_it_bad.d: Comment added.
2009-05-05Fix local branches for bl and blx.Ramana Radhakrishnan1-2/+17
2009-04-012009-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>Ramana Radhakrishnan1-1/+3
* config/tc-arm.c (arm_validate_fix): Define only for OBJ_COFF. (find_real_start): Likewise. * config/tc-arm.h (TC_VALIDATE_FIX): Likewise
2009-01-19* gas/arm/attr-syntax.d: Do not run for non-ELF based ARM targets.Nick Clifton1-2/+4
* config/tc-arm.h (CONVERT_SYMBOLIC_ATTRIBUTE): Only define for ELF format ARM targets. * config/tc-arm.c (arm_convert_symbolic_attribute): Likewise.
2009-01-162009-01-16 Andrew Stubbs <ams@codesourcery.com>Andrew Stubbs1-0/+3
Daniel Jacobowitz <dan@codesourcery.com> gas/ * config/tc-arm.c (arm_copy_symbol_attributes): New function. * config/tc-arm.h (arm_copy_symbol_attributes): New prototype. (CONVERT_SYMBOLIC_ATTRIBUTE): New define. * read.c (s_vendor_attribute): Add support for symbolic tag names. Improve string parser. * doc/c-arm.texi (ARM Machine Directives): Document .eabi_attribute symbolic tag names. gas/testsuite/ * gas/arm/attr-syntax.d: New file. * gas/arm/attr-syntax.s: New file.
2007-07-03Switch to GPLv3Nick Clifton1-1/+1
2007-03-15 gas/Daniel Jacobowitz1-0/+6
* config/tc-arm.c (arm_copy_symbol_attributes): New. * config/tc-arm.h (arm_copy_symbol_attributes): Declare. (TC_COPY_SYMBOL_ATTRIBUTES): Define. * gas/symbols.c (copy_symbol_attributes): Use TC_COPY_SYMBOL_ATTRIBUTES. gas/testsuite/ * gas/arm/thumbver.d, gas/arm/thumbver.s: New test.
2007-02-01 * write.h (struct fix <fx_pcrel_adjust, fx_size>): Move.Alan Modra1-2/+1
(struct fix <fx_plt>): Rename to tcbit2. * write.c (fix_new_internal): Adjust. (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt. * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-cris.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-i960.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sh.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sh64.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sparc.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-msp430.c (msp430_force_relocation_local): Likewise. * config/tc-ia64.c (emit_one_bundle): Don't set fx_plt. * config/tc-ia64.h (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt. Instead, compare fx_r_type. * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Use fx_tcbit in place of fx_plt. * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Define. * doc/internals.texi (TC_FORCE_RELOCATION_LOCAL): Remove reference to fx_plt.
2006-11-292006-11-29 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+13
gas/ * config/tc-arm.c (arm_is_eabi): New function. * config/tc-arm.h (arm_is_eabi): New prototype. (THUMB_IS_FUNC): Use ELF function type for EABI objects. * doc/c-arm.texi (.thumb_func): Update documentation.
2006-11-22opcodes/Daniel Jacobowitz1-0/+8
* arm-dis.c (last_is_thumb): Delete. (enum map_type, last_type): New. (print_insn_data): New. (get_sym_code_type): Take MAP_TYPE argument. Check the type of the right symbol. Handle $d. (print_insn): Check for mapping symbols even without a normal symbol. Adjust searching. If $d is found see how much data to print. Handle data. gas/ * config/tc-arm.h (md_cons_align): Define. (mapping_state): New prototype. * config/tc-arm.c (mapping_state): Make global. gas/testsuite/ * gas/arm/arm7t.d, gas/arm/neon-ldst-rm.d, gas/arm/thumb2_pool.d, gas/arm/tls.d: Update for $d support. * gas/arm/mapshort.d, gas/arm/mapshort.s: New test. * gas/elf/section2.e-armeabi: Update. * gas/elf/section2.e-armelf: New file. * gas/elf/elf.exp: Use it. ld/testsuite/ * ld-arm/mixed-app.d, ld-arm/tls-app.d, ld-arm/tls-lib.d: Update for $d support.
2006-09-11 PR gas/3165Alan Modra1-2/+2
* config/tc-mips.h (enum dwarf2_format): Forward declare. (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative number in parens. * config/tc-alpha.h (DWARF2_CIE_DATA_ALIGNMENT): Likewise. * config/tc-arm.h (DWARF2_CIE_DATA_ALIGNMENT): Likewise.
2006-08-21bfdNick Clifton1-0/+2
* Makefile.am: Add rules to build pe-arm-wince.lo and pei-arm-wince.lo objects. * Makefile.in: Regenerate. * pe-arm-wince.c: New file. * pei-arm-wince.c: New file. * pei-arm.c: Remove ARM_WINCE block. * pe-arm.c: Remove ARM_WINCE block. Rename bfd_arm_pe_allocate_interworking_sections, bfd_arm_pe_get_bfd_for_interworking, and bfd_arm_pe_process_before_allocation to bfd_armpe_allocate_interworking_sections, bfd_armpe_get_bfd_for_interworking, and bfd_armpe_process_before_allocation. Move them before including bfd.h. * bfd.c: ARM wince bfd format names were renamed. Adjust. * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up with unexpected/conflicting relocs. * targets.c: The arm-wince-pe target got its own new vector. Adjust. * config.bfd: Likewise. * configure.in: Likewise. * configure: Regenerate. binutils * configure.in: Split arm-pe and arm-wince-pe. Build dlltool with -DDLLTOOL_ARM_WINCE for Windows CE case. * configure: Regenerate. * dlltool.c: Add support for arm-wince. gas * Makefile.am (TARG_ENV_HFILES): Add te-wince-pe.h. * Makefile.in: Regenerate. * config/tc-arm.h [TARGET_FORMAT]: ARM wince bfd names were renamed. Adjust. ld * Makefile.am: Split arm-wince into its own emulation. * Makefile.in: Regenerate. * configure.tgt: Set targ_emul to arm_wince_pe for ARM Windows CE targets. * pe-dll.c : Define PE_ARCH_arm_wince. (pe_detail_list): Add PE_ARCH_arm_wince case. (make_one): Handle PE_ARCH_arm_epoc and PE_ARCH_arm_wince cases. * emulparams/arm_wince_pe.sh: New file. * emultempl/pe.em: Handle new TARGET_IS_arm_wince_pe define. Remap bfd_arm_allocate_interworking_sections, bfd_arm_get_bfd_for_interworking and bfd_arm_process_before_allocation for arm-pe and arm-wince-pe targets too. (gld_${EMULATION_NAME}_recognized_file): Handle arm-wince and arm-epoc bfd format names.
2006-08-06* bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little and ↵Nick Clifton1-7/+17
pei-arm-little. * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle ARM_SECREL. (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to ARM_SECREL. * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in pe-arm.c. [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. * config/tc-arm.c: Move "dwarf2dbg.h" inclusion out of OBJ_ELF only block. (pe_directive_secrel) [TE_PE]: New function. (md_pseudo_table) [!OBJ_ELF]: Handle 2byte, 4byte, 8byte, file, loc, loc_mark_labels. [TE_PE]: Handle secrel32. (output_relax_insn): Remove OBJ_ELF around dwarf2_emit_insn call. (output_inst): Remove OBJ_ELF around dwarf2_emit_insn call. (arm_frob_label): Remove OBJ_ELF around dwarf2_emit_label call. (md_section_align): Only round section sizes here for AOUT targets. (tc_arm_regname_to_dw2regnum): Move out for OBJ_ELF only block. (tc_pe_dwarf2_emit_offset): New function. (md_apply_fix) [TE_PE]: Handle BFD_RELOC_32_SECREL. (cons_fix_new_arm): Handle O_secrel. * config/tc-arm.h : Move DWARF2_LINE_MIN_INSN_LENGTH, DWARF2_DEFAULT_RETURN_COLUMN and DWARF2_CIE_DATA_ALIGNMENT out of OBJ_ELF only block. [TE_PE]: Define O_secrel, TC_DWARF2_EMIT_OFFSET, and declare tc_pe_dwarf2_emit_offset. * ld-pe/pe.exp: Enable tests on arm-wince-pe. * ld-pe/secrel.d: Adjust test to work on arm-wince-pe too.
2006-05-19 * config/tc-arm.c, config/tc-arm.h (tc_arm_regname_to_dw2regnum):Thiemo Seufer1-1/+1
Un-constify string argument. * config/tc-i386.c, config/tc-i386.h (tc_x86_regname_to_dw2regnum): Likewise. * config/tc-m68k.c, config/tc-m68k.h (tc_m68k_regname_to_dw2regnum): Likewise. * config/tc-ppc.c, config/tc-ppc.h (tc_ppc_regname_to_dw2regnum): Likewise. * config/tc-s390.c, config/tc-s390.h (tc_s390_regname_to_dw2regnum): Likewise. * config/tc-sh.c, config/tc-sh.h (sh_regname_to_dw2regnum): Likewise. * config/tc-sparc.c, config/tc-sparc.h (sparc_regname_to_dw2regnum): Likewise. -------------------------------------------------------------------
2006-05-022006-05-02 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+9
bfd/ * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit for R_ARM_REL32. gas/ * config/tc-arm.c (arm_optimize_expr): New function. * config/tc-arm.h (md_optimize_expr): Define (arm_optimize_expr): Add prototype. (TC_FORCE_RELOCATION_SUB_SAME): Define. ld/testsuite/ * ld-arm/arm-elf.exp: Add thumb-rel32. * ld-arm/thumb-rel32.d: New test. * ld-arm/thumb-rel32.s: New test.
2005-10-082005-10-08 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+5
bfd/ * elf32-arm.c: Move #include "elf/arm.h" after libbfd.h. (NUM_KNOWN_ATTRIBUTES): Define. (aeabi_attribute, aeabi_attribute_list): Define. (elf32_arm_obj_tdata): Add known_eabi_attributes and other_eabi_attributes. (uleb128_size, is_default_attr, eabi_attr_size, elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute, elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link, elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int, elf32_arm_add_eabi_attr_compat, copy_eabi_attributes, elf32_arm_merge_eabi_attributes): New functions. (elf32_arm_copy_private_bfd_data): Copy EABI object attributes. (elf32_arm_fake_sections): Handle .ARM.attributes. (elf32_arm_parse_attributes): New function. (elf32_arm_section_from_shdr): Use it. (bfd_elf32_bfd_final_link): Define. gas/ * config/tc-arm.c: Don't provide fallback default for CPU_DEFAULT. (arm_arch_used, thumb_arch_used, selected_cpu, selected_cpu_name): New variables. (arm_cpu_option_table): Add canonical_name. (arm_cpus): Populate canonical_name field. (s_arm_eabi_attribute, s_arm_arch, s_arm_cpu, s_arm_fpu, aeabi_set_public_attributes, arm_md_end): New functions. (md_pseudo_table): Add "cpu", "arch", "fpu" and "eabi_attribute". (md_assemble): Set thumb_arch_used and arm_arch_used. (md_begin): Set defaut cpu if CPU_DEFAULT not defined. * config/tc-arm.h (md_end): Define. * doc/c-arm.texi: Document .cpu, .arch, .fpu and .eabi_attribute. gas/testsuite/ * gas/arm/eabi_attr_1.s: New test. * gas/arm/eabi_attr_1.d: New test. * gas/arm/arm7t.d: Only disassemble code sections. * gas/arm/bignum1.d: Ignore Arm object attribute sections. * gas/arm/mapping.d: Ditto. * gas/arm/unwind.d: Ditto. * gas/elf/section0.d: Ditto. * gas/elf/section1.d: Ditto. * gas/elf/elf.exp: Set target_machine for Arm EABI based targets. * gas/elf/section2.e-armeabi: New file. include/elf/ * arm.h: Add prototypes for BFD object attribute routines. ld/testsuite/ * ld-arm/arm-rel31.d: Ignore Arm object attribute sections. * ld-arm/arm-target1-abs.d: Ditto. * ld-arm/arm-target1-rel.d: Ditto. * ld-arm/arm-target2-abs.d: Ditto. * ld-arm/arm-target2-got-rel.d: Ditto. * ld-arm/arm-target2-rel.d: Ditto.
2005-09-062005-09-06 Paul Brook <paul@codesourcery.com>Paul Brook1-1/+3
gas/ * config/tc-arm.c (arm_it): Add relax field. (T16_32_TAB): Add addi, addis, add_pc, add_sp, dec_sp, inc_sp, b, bcond, ldr_pc, ldr_pc2, ldr_sp, str_sp, subi, subis. (do_t_add_sub, do_t_addr, do_t_branch, do_t_ldst, do_t_mov_cmp): Allow relaxation. (output_relax_insn): New function. (put_thumb32_insn): New function. (output_inst): Use new functions. (md_assemble): Don't throw error on relaxable instructions. (insns): Change "b" entry from TCE(...) to tCE(...). (md_estimate_size_before_relax): Return 2. (md_convert_frag, relax_immediate, relax_adr, relax_addsub, relax_branch, arm_relax_frag): New functions. (arm_force_relocation): Return 0 for Thumb-2 immediate operand relocations. * config/tc-arm.h (md_convert_frag): Remove definition. (md_relax_frag): Define. (arm_relax_frag): Add prototype. gas/testsuite/ * gas/arm/thumb2_relax.d: New test. * gas/arm/thumb2_relax.s: New test. * gas/arm/thumb32.d: Adjust expected results to include relaxation. * gas/arm/thumb32.s: Tweak for better coverage of relaxable instructions. Remove load/store tests.
2005-08-11 * README-vms: Delete.Alan Modra1-3/+0
* config-gas.com: Delete. * makefile.vms: Delete. * vmsconf.sh: Delete. * config/atof-tahoe.c: Delete. * config/m88k-opcode.h: Delete. * config/obj-bout.c: Delete. * config/obj-bout.h: Delete. * config/obj-hp300.c: Delete. * config/obj-hp300.h: Delete. * config/tc-a29k.c: Delete. * config/tc-a29k.h: Delete. * config/tc-h8500.c: Delete. * config/tc-h8500.h: Delete. * config/tc-m88k.c: Delete. * config/tc-m88k.h: Delete. * config/tc-tahoe.c: Delete. * config/tc-tahoe.h: Delete. * config/tc-tic80.c: Delete. * config/tc-tic80.h: Delete. * config/tc-w65.c: Delete. * config/tc-w65.h: Delete. * config/te-aux.h: Delete. * config/te-delt88.h: Delete. * config/te-delta.h: Delete. * config/te-dpx2.h: Delete. * config/te-hp300.h: Delete. * config/te-ic960.h: Delete. * config/vms-a-conf.h: Delete. * doc/c-a29k.texi: Delete. * doc/c-h8500.texi: Delete. * doc/c-m88k.texi: Delete. * README: Remove obsolete examples, and list of supported targets. * Makefile.am: Remove a29k, h8500, m88k, tahoe, tic80, w65, bout and hp300 support. (DEP_FLAGS): Don't define BFD_ASSEMBLER. * configure.in: Remove --enable-bfd-assembler, need_bfd, primary_bfd_gas. * configure.tgt: Remove a29k, h8300-coff, h8500-*, i960 non-elf, m68k non bfd, m88k, or32-coff, tic80-*, vax non-bfd, w65k-*, *-nindy. * as.c: Remove all non-BFD_ASSEMBLER code, support for above targets. * as.h: Likewise. * dw2gencfi.c: Likewise. * dwarf2dbg.c: Likewise. * ehopt.c: Likewise. * input-file.c: Likewise. * listing.c: Likewise. * literal.c: Likewise. * messages.c: Likewise. * obj.h: Likewise. * output-file.c: Likewise. * read.c: Likewise. * stabs.c: Likewise. * struc-symbol.h: Likewise. * subsegs.c: Likewise. * subsegs.h: Likewise. * symbols.c: Likewise. * symbols.h: Likewise. * tc.h: Likewise. * write.c: Likewise. * write.h: Likewise. * config/aout_gnu.h: Likewise. * config/obj-aout.c: Likewise. * config/obj-aout.h: Likewise. * config/obj-coff.c: Likewise. * config/obj-coff.h: Likewise. * config/obj-evax.h: Likewise. * config/obj-ieee.h: Likewise. * config/tc-arm.c: Likewise. * config/tc-arm.h: Likewise. * config/tc-avr.c: Likewise. * config/tc-avr.h: Likewise. * config/tc-crx.h: Likewise. * config/tc-d10v.h: Likewise. * config/tc-d30v.h: Likewise. * config/tc-dlx.h: Likewise. * config/tc-fr30.h: Likewise. * config/tc-frv.h: Likewise. * config/tc-h8300.c: Likewise. * config/tc-h8300.h: Likewise. * config/tc-hppa.h: Likewise. * config/tc-i370.h: Likewise. * config/tc-i386.c: Likewise. * config/tc-i386.h: Likewise. * config/tc-i860.h: Likewise. * config/tc-i960.c: Likewise. * config/tc-i960.h: Likewise. * config/tc-ip2k.h: Likewise. * config/tc-iq2000.h: Likewise. * config/tc-m32c.h: Likewise. * config/tc-m32r.h: Likewise. * config/tc-m68hc11.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-maxq.c: Likewise. * config/tc-maxq.h: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mcore.h: Likewise. * config/tc-mn10200.h: Likewise. * config/tc-mn10300.c: Likewise. * config/tc-mn10300.h: Likewise. * config/tc-ms1.h: Likewise. * config/tc-msp430.c: Likewise. * config/tc-msp430.h: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-ns32k.h: Likewise. * config/tc-openrisc.h: Likewise. * config/tc-or32.c: Likewise. * config/tc-or32.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-s390.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic30.h: Likewise. * config/tc-tic4x.c: Likewise. * config/tc-tic4x.h: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-tic54x.h: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.c: Likewise. * config/tc-vax.h: Likewise. * config/tc-xstormy16.h: Likewise. * config/tc-xtensa.h: Likewise. * config/tc-z8k.c: Likewise. * config/tc-z8k.h: Likewise. * config/vms-a-conf.h * doc/Makefile.am: Likewise. * doc/all.texi: Likewise. * doc/as.texinfo: Likewise. * doc/Makefile.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * config.in: Regenerate. * po/POTFILES.in: Regenerate.
2005-06-30gas:Zack Weinberg1-0/+3
* config/tc-arm.c (T_OPCODE_BRANCH, encode_arm_addr_mode_2) (encode_arm_addr_mode_3, encode_arm_cp_address, do_blx, do_t_blx) (do_t_branch, insns [b, bl]): Don't encode pipeline offset. (s_arm_elf_cons): Disallow use of (plt) suffix. (do_adrl): Adjust X_add_number unconditionally. (md_pcrel_from): Rename md_pcrel_from_section, add second segT argument. Handle all adjustment for pipeline offset here. (md_apply_fix): No need to undo work of md_pcrel_from. No need to extract pre-encoded pipeline adjustments from various branch instructions. Generally, assume instructions are already all-bits-zero in the field being fixed up. Remove all OBJ_ELF special cases. Handle BFD_RELOC_ARM_PLT32 like BFD_RELOC_ARM_PCREL_BRANCH. (tc_gen_reloc): Remove OBJ_ELF special case. * config/tc-arm.c: Define MD_PCREL_FROM_SECTION. gas/testsuite: * gas/arm/arm.exp: Don't special case ldconst, arm7t, or copro for *-wince-*. * gas/arm/wince_arm7t.d, gas/arm/wince_copro.d * gas/arm/wince_ldconst.d: Delete.
2005-06-13gas:Zack Weinberg1-3/+2
* config/tc-arm.c (find_real_start): Check S_IS_LOCAL on symbolP as well as for names with a leading dot. Use ACONCAT. (md_apply_fix): For branch relocations, only replace value with fixP->fx_offset (under #ifdef OBJ_ELF) when !fixP->fx_done. (arm_force_relocation): Remove #ifdef OBJ_ELF case. * config/tc-arm.h (LOCAL_LABEL): Remove unnecessary parentheses. (LOCAL_LABEL_PREFIX): Don't define. gas/testsuite: * gas/arm/thumb.s: Only branch to labels defined in this file. * gas/arm/thumb.d, gas/arm/thumb32.d: Adjust expected output.
2005-06-07Revert accidental commitZack Weinberg1-3/+3
2005-06-07gas:Zack Weinberg1-4/+4
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c * config/tc-a29k.c, config/tc-alpha.c, config/tc-alpha.h * config/tc-arc.c, config/tc-arc.h, config/tc-arm.c * config/tc-arm.h, config/tc-avr.c, config/tc-avr.h * config/tc-cris.c, config/tc-crx.c, config/tc-d10v.c * config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h * config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.h * config/tc-frv.c, config/tc-frv.h, config/tc-h8300.c * config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h * config/tc-i370.c, config/tc-i370.h, config/tc-i386.c * config/tc-i386.h, config/tc-i860.c, config/tc-i860.h * config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c * config/tc-ip2k.c, config/tc-ip2k.h, config/tc-iq2000.c * config/tc-iq2000.h, config/tc-m32r.c, config/tc-m32r.h * config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c * config/tc-m68k.h, config/tc-m88k.c, config/tc-maxq.c * config/tc-mcore.c, config/tc-mcore.h, config/tc-mips.c * config/tc-mips.h, config/tc-mmix.c, config/tc-mn10200.c * config/tc-mn10300.c, config/tc-msp430.c, config/tc-ns32k.c * config/tc-openrisc.h, config/tc-or32.c, config/tc-or32.h * config/tc-pdp11.c, config/tc-pj.c, config/tc-pj.h * config/tc-ppc.c, config/tc-ppc.h, config/tc-s390.c * config/tc-s390.h, config/tc-sh64.c, config/tc-sh.c * config/tc-sh.h, config/tc-sparc.c, config/tc-sparc.h * config/tc-tahoe.c, config/tc-tic30.c, config/tc-tic4x.c * config/tc-tic54x.c, config/tc-tic80.c, config/tc-v850.c * config/tc-v850.h, config/tc-vax.c, config/tc-vax.h * config/tc-w65.c, config/tc-xstormy16.c, config/tc-xstormy16.h * config/tc-xtensa.c, config/tc-z8k.c: Replace all instances of the string "_apply_fix3" with "_apply_fix". * po/POTFILES.in, po/gas.pot: Regenerate. bfd: * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment. cgen: * doc/porting.texi: Change all mention of md_apply_fix3 and gas_cgen_md_apply_fix3 to md_apply_fix and gas_cgen_md_apply_fix respectively.
2005-05-27 * config/tc-arm.h (TC_FIX_TYPE): Change to int.Zack Weinberg1-2/+2
(TC_INIT_FIX_DATA): Initialize to 0, not NULL. * config/tc-arm.c (fix_new_arm): Remove now-unnecessary cast. (md_apply_fix3): Delete fix_is_thumb variable; refer to fixP->tc_fix_data directly in the sole place it was used. Explicitly truncate value, *valP, fixP->fx_addnumber, and fixP->fx_offset to 32 bits, for consistent behavior between 32- and 64-bit hosts.
2005-05-18include/elf:Zack Weinberg1-1/+0
* arm.h: Import complete list of official relocation names and numbers from AAELF. Define FAKE_RELOCs for old names. Remove a few old names no longer used anywhere. bfd: * elf32-arm.c: Wherever possible, use official reloc names from AAELF. (elf32_arm_howto_table, 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) (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto) (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel) (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1, elf32_arm_howto_table_2, and elf32_arm_howto_table_3. Add many new relocations from AAELF. (elf32_arm_howto_from_type): Update to match. (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24, R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8, R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY. (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type. (elf32_arm_final_link_relocate): Add support for R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove case entries redundant with default. * reloc.c: Reorganize ARM relocations. Add Thumb assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8, BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE. Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7, BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25. Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY. * bfd-in2.h, libbfd.h: Regenerate. opcodes: * arm-dis.c (thumb_opcodes): Add disassembly for V6T2 16-bit instructions. Adjust disassembly of some opcodes to match unified syntax. (thumb32_opcodes): New table. (print_insn_thumb): Rename print_insn_thumb16; don't handle two-halfword branches here. (print_insn_thumb32): New function. (print_insn): Choose among print_insn_arm, print_insn_thumb16, and print_insn_thumb32. Be consistent about order of halfwords when printing 32-bit instructions. gas: * hash.c (hash_lookup): Add len parameter. All callers changed. (hash_find_n): New interface. * hash.h: Prototype hash_find_n. * sb.c: Include as.h. (scrub_from_sb, sb_to_scrub, scrub_position): New statics. (sb_scrub_and_add_sb): New interface. * sb.h: Prototype sb_scrub_and_add_sb. * input-scrub.c (input_scrub_include_sb): Use sb_scrub_and_add_sb. * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Remove reference to BFD_RELOC_ARM_GOT12 which is never generated. * config/tc-arm.c: Rewrite, adding Thumb-2 support. gas/testsuite: * gas/arm/arm.exp: Convert all existing "gas_test" tests to "run_dump_test" tests. Run more tests unconditionally. Run new tests. * gas/arm/arch4t.s, gas/arm/arch6zk.s, gas/arm/arm3.s, gas/arm/arm6.s * gas/arm/arm7dm.s, gas/arm/bignum1.s, gas/arm/float.s * gas/arm/immed.s, gas/arm/iwmmxt.s, gas/arm/offset.s, gas/arm/thumb.s: Adjust to work as a dump test. * gas/arm/arch4t.d, gas/arm/arch6zk.d, gas/arm/arm3.d, gas/arm/arm6.d * gas/arm/arm7dm.d, gas/arm/bignum1.d, gas/arm/float.d * gas/arm/immed.d, gas/arm/iwmmxt.d, gas/arm/offset.d, gas/arm/thumb.d: New files. * gas/arm/armv1-bad.l, gas/arm/armv1-bad.s: Remove tests for diagnostics that don't happen in the first pass anymore. * gas/arm/iwmmxt-bad.l, gas/arm/r15-bad.l, gas/arm/req.l * gas/arm/vfp-bad.l: Update expected diagnostics. * gas/arm/pic.d: Update expected reloc name. * gas/arm/thumbv6.d: CPY no longer appears in disassembly. * gas/arm/r15-bad.s: Avoid two-argument mul. * gas/arm/req.s: Adjust comments. * gas/arm/maverick.d, gas/arm/maverick.s: Avoid inappropriate use of PC. * gas/arm/macro-1.d, gas/arm/macro1.s * gas/arm/t16-bad.l, gas/arm/t16-bad.s * gas/arm/tcompat.d, gas/arm/tcompat.s * gas/arm/tcompat2.d, gas/arm/tcompat2.s * gas/arm/thumb32.d, gas/arm/thumb32.s New test pair. ld/testsuite: * ld-arm/mixed-app.d: Adjust expected disassembly a little.
2005-05-05Update the address and phone number of the FSFNick Clifton1-2/+2
2005-03-29 * gas/config/tc-arm.c (marked_pr_dependency): New bitmap, bit NJulian Brown1-1/+7
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.
2005-03-03update copyright datesAlan Modra1-2/+2
2004-10-25Add ARM CFI supportNick Clifton1-1/+15
2004-10-01The patch below adds binutils support for the SHT_ARM_EXIDX, as defined byNick Clifton1-0/+3
the ARM EABI.
2004-04-22Apply Bruno de Bus's patch to record the ARM mapping symbol state on a per-Nick Clifton1-93/+79
section basis and to switch to the MAP_DATA state when emitting literal pools.
2003-11-21 * config/tc-a29k.h: Fix comment typos.Kazu Hirata1-1/+1
* config/tc-alpha.c: Likewise. * config/tc-alpha.h: Likewise. * config/tc-arc.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-arm.h: Likewise. * config/tc-cris.c: Likewise. * config/tc-d10v.c: Likewise. * config/tc-d30v.c: Likewise. * config/tc-dlx.c: Likewise. * config/tc-dlx.h: Likewise.