aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.c
AgeCommit message (Collapse)AuthorFilesLines
2002-05-06 * config/tc-ia64.c: Fix formatting.Kazu Hirata1-60/+61
* config/tc-ia64.h: Likewise.
2002-04-02 * config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt relocRichard Henderson1-5/+20
in 32-bit mode.
2002-03-12 * config/tc-ia64.c (fixup_unw_records): Clear region when seeing aAndreas Schwab1-1/+5
body record so that an error is given for misplaced .save pseudo-ops.
2002-02-22Keep track of prologue counts across .label_state/.copy_state directivesNick Clifton1-1/+86
2002-01-11Add support for ia64-hpux target.Nick Clifton1-21/+58
2002-01-01 * config/tc-ia64.c (has_suffix_p): New.Richard Henderson1-9/+21
(note_register_values): Use it instead of strstr.
2002-01-01 * config/tc-ia64.c (errata_nop_necessary_p): Prototype.Richard Henderson1-2/+3
(make_unw_section_name): Constify local variables.
2001-11-28 * as.c (parse_args): Call md_after_parse_args if defined.Andreas Schwab1-0/+7
* config/tc-ia64.h (md_after_parse_args): Define. * config/tc-ia64.c (ia64_after_parse_args): Reject --gstabs. * doc/internals.texi (CPU backend): Document md_after_parse_args.
2001-11-15Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function.Nick Clifton1-9/+7
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-9/+10
2001-09-11 * config/tc-alpha.c (alpha_elf_section_letter): New.Richard Henderson1-0/+14
(alpha_elf_section_flags): New. * config/tc-alpha.h (md_elf_section_letter): New. (md_elf_section_flags): New. * config/tc-ia64.c (ia64_elf_section_letter): New. * config/tc-ia64.h (md_elf_section_letter): New.
2001-09-05 * config/tc-ia64.c (FUNC_IPLT_RELOC): New.Richard Henderson1-0/+25
(pseudo_func): Add @iplt. (pseudo_opcode): Add data16 and data16.ua. (md_begin): Set iplt pseudo. (ia64_cons_fix_new): Handle 16 byte iplt reloc specially.
2001-08-23 * config/tc-ia64.c (dot_endp): Set function symbol sizes.Jakub Jelinek1-3/+46
* config/obj-elf.c (obj_elf_size): When size is constant, free and clear symbol_get_obj(sym)->size if any.
2001-07-23 * config/tc-alpha.h: Fix formatting.Kazu Hirata1-10/+10
* config/tc-arc.c: Likewise. * config/tc-d10v.h: Likewise. * config/tc-hppa.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i386.h: Likewise. * config/tc-i960.h: Likewise. * config/tc-ia64.c: Likewise. * config/tc-ia64.h: Likewise. * config/tc-m32r.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m88k.c: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-pdp11.c: Likewise. * config/tc-pj.h: Likewise. * config/tc-s390.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-sparc.h: Likewise. * config/tc-tic80.c: Likewise. * config/tc-w65.h: Likewise.
2001-07-0632-bit unwind data for ia64-hpux, from Steve EllceyJim Wilson1-33/+73
* config/tc-ia64.c (special_section): Add SPECIAL_SECTION_INIT_ARRAY and SPECIAL_SECTION_FINI_ARRAY. (special_section_name): Add .init_array and .fini_array. (md_pseudo_table): Add init_array and fini_array. (md): Add pointer_size and pointer_size_shift fields. (setup_unwind_header): New static function. (output_unw_records): Modify to use setup_unwind_header. (generate_unwind_image, dot_endp): Modify to use md.pointer_size and md.pointer_size_shift. (md_begin): Initialize md.pointer_size and md.pointer_size_shift.
2001-07-05Fix ia64-linux gas ehopt testsuite failure.Jim Wilson1-0/+9
* config/tc-ia64.c (md_pseudo_table): Add 2byte, 4byte, and 8byte.
2001-07-05Fix 2 ia64-linux gas testsuite failures.Jim Wilson1-5/+15
* config/tc-ia64.c (is_conditional_branch): Rewrite to exclude mod sched branches.
2001-05-11 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwindJakub Jelinek1-4/+28
sections as well. (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO to .gnu.linkonce.t.FOO text section. * readelf.c (process_unwind): Print all unwind sections, not just one. * config/tc-ia64.c (special_linkonce_name): New. (make_unw_section): Map .gnu.linkonce.t.FOO text section into .gnu.linkonce.ia64unw{,i}.FOO. (ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO. (dot_endp): Add comment about it. * elf/ia64.h (ELF_STRING_ia64_unwind_once): Define. (ELF_STRING_ia64_unwind_info_once): Define. * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put .gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind* output sections. * emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-10 * config/tc-ia64.c (generate_unwind_image): Align the fragmentRichard Henderson1-0/+1
beginning a function's unwind info block.
2001-04-272001-04-27 David Mosberger <davidm@hpl.hp.com>H.J. Lu1-2/+2
* config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p() argument passing order: predicate goes last, not first.
2001-04-14Fix latent bug exposed by a gcc-3 bug fix.Jim Wilson1-9/+9
* tc-ia64.c (is_conditional_branch): Return true for br, brl, and br. excluding br.i.
2001-03-16Add local tag support. Don't flush instructions for .xdata directives.Jim Wilson1-4/+39
* config/tc-ia64.c (md): New member keep_pending_output. (ia64_flush_pending_output): Flush only if md.keep_pending_output is not set. (dot_xdata): Turn on md.keep_pending_output for the duration of this function. (dot_xfloat_cons): Ditto. (dot_xstringer): Ditto. (dot_xdata_ua): Ditto. (dot_xfloat_cons_ua): Ditto. * config/tc-ia64.c (ia64_unrecognized_line, case '['): Add local label support.
2001-03-08Fix copyright noticesNick Clifton1-1/+1
2001-02-22Added ia64-*-aix* configuration.Timothy Wall1-0/+17
2001-02-22Improve gas error messages for invalid instructions.Jim Wilson1-99/+207
* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for C8 said "1" instead of "8". Clarify error string for IMM22: "signed integer" instead of just "integer". * config/tc-ia64.c (enum operand_match_result): New type. (operand_match): Change return type to operand_match_result. Fix all returns appropriately, adding support for returning the out-of-range result. (parse_operands): New locals result, error_pos, out_of_range_pos, curr_out_of_range_pos. Rewrite operand matching loop to give better error messages. * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two separate variants: one for IMM22 and the other for IMM14. * ia64-asmtab.c: Regenerate.
2001-02-21Fix bugs in handling of the .restore directive.Jim Wilson1-4/+14
* config/tc-ia64.c (struct unwind): Add member "prologue_count". (dot_proc): Clear unwind.prologue_count to zero. (dot_prologue): Increment unwind.prologue_count. (dot_restore): If second operand is omitted, use unwind.prologue_count -1 for "ecount" (# of additional regions to pop). Decrement unwind.prologue_count by number of regions popped.
2001-02-14Address comment from Richard about relocs always needing a type.Jim Wilson1-7/+9
* config/tc-ia64.c (operand_match, case TAG13): Make a BFD_RELOC_UNUSED reloc instead of a 0 reloc. (md_apply_fix3): Check for BFD_RELOC_UNUSED instead of 0, and mark it as done. * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Likewise.
2001-02-10 * config/tc-ia64.h (md_elf_section_type): New macro.Richard Henderson1-58/+207
(ELF_TC_SPECIAL_SECTIONS): Drop .IA_64.unwind and .IA_64.unwind_info (they're now handled via ia64_elf_section_type. * config/tc-ia64.c (unwind): New members saved_text_seg, saved_text_subseg, and force_unwind_entry. (optimize_unw_records): New function to optimize away unnecessary unwind directives. (ia64_elf_section_type): New function. (output_unw_records): Generate unwind info only if the size is non-zero or if it's forced for some other reason (e.g., handlerdata or a personality routine). (generate_unwind_image): Don't switch back to previous section---stay inside the unwind info section instead so that handlerdata that may follow goes into the right place. (dot_handlerdata): Force generation of unwind entry and save the current active text segment before generating unwind image. (dot_unwentry): Force generation of unwind entry. (dot_personality): Ditto. (dot_endp): Generate unwind table entry only if there is some unwind info or the unwind entry was forced. * config/tc-ia64.c (make_unw_section_name): New macro to form unwind section name. (generate_unwind_image): Add "text_name" argument. Use it to form unwind section name. (dot_handlerdata): Determine current segment (section) name and pass it to generate_unwind_image(). (dot_endp): Determine current segment (section) name and use it to determine the appropriate unwind section name. (ia64_md_do_align): Add missing ATTRIBUTE_UNUSED declarations to n, fill, and max arguments.
2001-02-062001-02-06 H.J. Lu <hjl@gnu.org>H.J. Lu1-1/+2
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined. * config/tc-ia64.c (md_parse_option): Only accept the valid ia64 options on "-axxx".
2001-02-06Don't abort for invalid input, print an error message instead.Jim Wilson1-3/+6
* config/tc-ia64.c (errata_nop_necessary_p): Return 0 instead of aborting for invalid operands.
2001-01-15Fix assembler segfault on gcc/crtstuff.c file.Jim Wilson1-0/+17
* config/tc-ia64.c (ia64_flush_insns): Handle unwind directives not immediately followed by an instruction.
2000-12-28 * as.h (rs_align_test): New.Richard Henderson1-27/+37
* frags.c (NOP_OPCODE): Move default from read.c. (MAX_MEM_FOR_RS_ALIGN_CODE): New default. (frag_align_code): New. * frags.h (frag_align_code): Declare. * read.c (NOP_OPCODE): Remove. (do_align): Use frag_align_code. * write.c (NOP_OPCODE): Remove. (get_recorded_alignment): New. (cvt_frag_to_fill): Handle rs_align_test. (relax_segment): Likewise. (subsegs_finish): Align last subseg in section to the section alignment. Use frag_align_code. * write.h (get_recorded_alignment): Declare. * config/obj-coff.c (size_section): Handle rs_align_test. (fill_section, fixup_mdeps): Likewise. (write_object_file): Use frag_align_code. * config/tc-alpha.c (alpha_align): Use frag_align_code. (alpha_handle_align): New. * config/tc-alpha.h (HANDLE_ALIGN): New. (MAX_MEM_FOR_RS_ALIGN_CODE): New. * config/tc-i386.h (md_do_align): Use frag_align_code. (MAX_MEM_FOR_RS_ALIGN_CODE): New. * config/tc-ia64.c (ia64_md_do_align): Don't do code alignment. (ia64_handle_align): New. * config/tc-ia64.h (HANDLE_ALIGN): New. (MAX_MEM_FOR_RS_ALIGN_CODE): New. * config/tc-m32r.c (m32r_do_align): Remove. (m32r_handle_align): New. (fill_insn): Use frag_align_code. * config/tc-m32r.h (md_do_align): Remove. (HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): New. * config/tc-m88k.c, config/tc-m88k.h: Similarly. * config/tc-mips.c, config/tc-mips.h: Similarly. * config/tc-sh.c (sh_cons_align): Use rs_align_test. (sh_handle_align): Likewise. Handle rs_align_code. (sh_do_align): Remove. * config/tc-sh.h (md_do_align): Remove. (MAX_MEM_FOR_RS_ALIGN_CODE): New. * config/tc-sparc.c (sparc_cons_align): Use rs_align_test. (sparc_handle_align): Likewise. Handle rs_align_code. * config/tc-sparc.h (md_do_align): Remove. (MAX_MEM_FOR_RS_ALIGN_CODE): New.
2000-12-032000-12-03 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-2/+2
* tc-a29k.c: Fix formatting. * tc-alpha.c: Likewise. * tc-arm.c: Likewise. * tc-cris.c: Likewise. * tc-hppa.c: Likewise. * tc-i370.c: Likewise. * tc-i386.c: Likewise. * tc-i860.c: Likewise. * tc-i960.c: Likewise. * tc-ia64.c: Likewise. * tc-m68hc11.c: Likewise. * tc-m68k.c: Likewise. * tc-m88k.c: Likewise. * tc-pj.c: Likewise. * tc-ppc.c: Likewise. * tc-sh.c: Likewise. * tc-sparc.c: Likewise. * tc-tahoe.c: Likewise. * tc-vax.c: Likewise.
2000-11-22Eliminate compiler warnings from IA-64 port.Jim Wilson1-109/+116
* config/tc-ia64.c (pseudo_func): Add missing initializers. (struct rsrc): Make line unsigned. (gr_values): Add missing initializer. (SLOT_NUM_NOT_SET): Add unsigned cast. (ia64_elf_section_flags, output_vbyte_mem, count_output, dot_radix, dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save, dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata, dot_unwentry, dot_altrp, dot_saveg, dot_savef, dot_saveb, dot_savegf, dot_spill, dot_spillreg, dot_spillreg_p, dot_label_state, dot_copy_state, dot_unwabi, dot_personality, dot_proc, dot_body, dot_prologue, dot_endp, dot_regstk, dot_psr, dot_alias, dot_ln, dot_reg_val, dot_entry, dot_mem_offset, ia64_init, mark_resource, md_undefined_symbol, md_apply_fix3, tc_gen_reloc, ia64_md_do_align): Add ATTRIBUTE_UNUSED to unused parameters. (convert_expr_to_ab_reg): Add parens. (convert_expr_to_xy_reg): Add parens. Comment out >= REG_GR test. (dot_prologue): Initialize grsave when declared. (md_pseudo_table): Add missing initializers. (operand_match): Add casts to bfd_vma. (emit_one_bundle): Delete unused local prev. Make required_template unsigned. (specify_resource): Cast i to unsigned. (note_register_values): Use fprintf_vma. (print_dependency): Likewise.
2000-11-22Fix linux kernel unwind section alignment failure.Jim Wilson1-0/+7
* config/tc-ia64.c (generate_unwind_image): Call record_alignment for unwind info section. (dot_endp): Likewise for unwind section.
2000-11-22Fix assembler error on linux kernel mm/memory.c file.Jim Wilson1-1/+1
* config/tc-ia64.c (emit_one_bundle): Pass size of 8 not 4 to fix_new_exp.
2000-11-17 * as.c (debug_type): Init to DEBUG_UNSPECIFIED.Richard Henderson1-6/+1
* as.h (debug_type): Clarify documentation of the meaning of this variable. * dwarf2dbg.c (DWARF2_LINE_MIN_INSN_LENGTH): Default to 1. (print_stats): Fix parenthesis problem. (now_subseg_size): New. (dwarf2_finish): Use it. If DEBUG_DWARF2, emit bits for .debug_info. (dwarf2_directive_file): Don't set debug_type. (dwarf2_where): Honor DEBUG_DWARF2 first. (dwarf2_emit_insn): Renamed from dwarf2_generate_asm_lineno; do nothing if not emitting dwarf2 debug info, or no work. * dwarf2dbg.h (dwarf2_emit_insn): Update. * ecoff.c (add_file): Turn on DEBUG_ECOFF only if DEBUG_UNSPECIFIED. (ecoff_new_file): Likewise. * read.c (generate_lineno_debug): Kill ecoff hackery. Update commentary wrt dwarf2. * config/tc-alpha.c (alpha_adjust_symtab_relocs): Add ATTRIBUTE_UNUSED as needed. (emit_insn): Call dwarf2_emit_insn. (s_alpha_file): New. (s_alpha_loc): New. (s_alpha_coff_wrapper): Don't handle them. (md_pseudo_table): Update for .file and .loc. * config/tc-alpha.h (DWARF2_LINE_MIN_INSN_LENGTH): New. * config/tc-arm.c (output_inst): Update for dwarf2_emit_insn; don't protect with debug_type. * config/tc-hppa.c (md_assemble): Likewise. * config/tc-m68hc11.c (m68hc11_new_insn): Likewise. * config/tc-mn10300.c (md_assemble): Likewise. * config/tc-sh.c (md_assemble): Likewise. * config/tc-v850.c (md_assemble): Likewise. * config/tc-arm.c (arm_end_of_source): Remove. * config/tc-hppa.c (pa_end_of_source): Remove. * config/tc-m68hc11.c (m68hc11_end_of_source): Remove. * config/tc-mn10300.c (mn10300_finalize): Remove. * config/tc-sh.c (sh_finalize): Remove. * config/tc-v850.c (sh_finalize): Remove. * config/tc-arm.h (md_end): Remove. * config/tc-hppa.h (md_end): Remove. (DWARF2_LINE_MIN_INSN_LENGTH): New. * config/tc-m68hc11.h (md_end): Remove. * config/tc-mn10300.h (md_end): Remove. * config/tc-sh.h (md_end): Remove. * config/tc-v850.h (md_end): Remove. * config/tc-ia64.c (emit_one_bundle): Don't protect dwarf2 bits with debug_type. (md_assemble): Likewise. (ia64_end_of_source): Don't call dwarf2_finish.
2000-11-16Fix minor typos in recent errata workaround patch.Jim Wilson1-3/+3
* config/tc-ia64.c (errata_nop_necessary_p): Abort if general regno >= 128 instead of > 128. Abort if predicate regno is >= 64 instead of > 16.
2000-11-15Workaround for Itanium A/B step errataBernd Schmidt1-0/+117
2000-11-14Extend earlier ia64-hpux patches to work correctly for ia64-linux.Jim Wilson1-3/+13
* config/tc-ia64.c (ia64_target_format): If EF_IA_64_BE not set, then return little endian bfd formats.
2000-11-142000-11-14 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-1/+1
* config/aout_gnu.h: Fix formatting. * config/atof-vax.c: Likewise. * config/m68k-parse.h: Likewise. * config/m88k-opcode.h: Likewise. * config/obj-elf.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-cris.c: Likewise. * config/tc-i386.c: Likewise. * config/tc-ia64.c: Likewise. * config/tc-mn10300.c: Likewise. * config/te-386bsd.h: Likewise. * config/te-hppa.h: Likewise. * config/te-nbsd.h: Likewise. * config/te-ppcnw.h: Likewise. * config/te-sparcaout.h: Likewise. * config/te-tmips.h: Likewise. * config/vax-inst.h: Likewise. * config/vms-conf.h: Likewise.
2000-11-08Correct unwind region length calculations.Jim Wilson1-10/+72
* config/tc-ia64.c (struct unw_rec_list): Add slot_frag field. (struct unwind): Add next_slot_frag field. (slot_index): New parameters slot_frag and first_frag. Add code to add in frag sizes when different. Add comments. (fixup_unw_records): New locals first_frag and last_frag. Pass new arguments to slot_index. (emit_one_bundle): Set slot_frag field. Set next_slot_number after loop end. Set next_slot_frag field.
2000-11-07ia64-hpux patches from Steve Ellcey.Jim Wilson1-17/+56
* config/tc-ia64.c (md_shortopts, md_parse_option, md_show_usage): Change M to m for -milp32 or -mlp64 to match gcc. (dot_endp): Use bytes_per_address instead of 8. (emit_one_bundle): Use number_to_chars_littleendian instead of md_number_to_chars. (fix_insn): Likewise. (ia64_init): New function. (ia64_target_format): New function. (md_begin): Set endianness, arch, and machine as appropriate. * config/tc-ia64.h: (TARGET_BYTES_BIG_ENDIAN, md_number_to_chars): Make these macros depend on TE_HPUX macro. (TARGET_FORMAT): Define. (HOST_SPECIAL_INIT): Define. * config/te-hpux.h: New file. * configure.in: Add "ia64-*-hpux*" target to configure. * configure: Regenerate.
2000-11-01Add tag support. Error for dangling qualifying predicates.Jim Wilson1-2/+77
* config/tc-ia64.c (struct md): New field tag_fixups. (ia64_flush_insns): Handle tag_fixups. Error if dangling qualifying predicate. (emit_one_bundle): Delete spurious multiplication by one. Handle tag_fixups. (ia64_start_line): Error if dangling qualifying predicate. (defining_tag): New static variable. (ia64_unrecognized_line, case '['): Parse tags. (ia64_frob_label): Create tag_fixups. (md_assemble): Reset md.qp.X_op after using it.
2000-10-31Better bundle template selectionBernd Schmidt1-2/+2
2000-10-05Minor DV table update, minor DV checking bug fix.Jim Wilson1-2/+3
* config/tc-ia64.c (resources_match): Handle IA64_RS_PRr. * ia64-ic.tbl: Update from Intel. * ia64-asmtab.c: Regenerate.
2000-10-04Excise C++ style comments.Alan Modra1-1/+1
2000-09-22Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.Jim Wilson1-32/+132
gas/ChangeLog * config/tc-ia64.c (dv_sem): Add "stop". (specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now. (specify_resource, case IA64_RS_PRr): New for regs 16 to 62. (specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to match above. (mark_resources): Check IA64_RS_PRr. gas/testsuite/ChangeLog * gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62. * gas/ia64/dv-waw-err.s: Likewise. * gas/ia64/dv-imply.d: Regenerate. * gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d, gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l, gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise. include/opcode/ChangeLog * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP. opcodes/ChangeLog * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change. * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP. (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62". * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update. * ia64-asmtab.c: Regnerate.
2000-09-162000-09-15 Kazu Hirata <kazu@hxi.com> Kazu Hirata1-9/+9
* config/tc-h8300.h: Fix formatting. * config/tc-h8500.c: Likewise. * config/tc-h8500.h: Likewise. * config/tc-hppa.h: Likewise. * config/tc-i370.h: Likewise. * config/tc-i386.h: Likewise. * config/tc-i860.c: Likewise. * config/tc-i860.h: Likewise. * config/tc-i960.h: Likewise. * config/tc-ia64.c: Likewise. * config/tc-ia64.h: Likewise.
2000-09-14Eliminate false DVs on parallel compares.Timothy Wall1-7/+57