aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.h
AgeCommit message (Collapse)AuthorFilesLines
2005-05-05Update the address and phone number of the FSFNick Clifton1-2/+2
2005-03-03update copyright datesAlan Modra1-1/+2
2005-02-15gas/Jan Beulich1-0/+3
2005-02-15 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.h (ia64_symbol_chars): Declare. (ty_symbol_chars): Define. * config/tc-ia64.c (ia64_symbol_chars): Define.
2005-02-11gas/Jan Beulich1-4/+4
2005-02-11 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.h (LEX_AT): Include LEX_BEGIN_NAME. (LEX_QM): Likewise. (ia64_parse_name): New third parameter. (md_parse_name): Pass third argument. * config/tc-ia64.c (pseudo_func): Placeholders use NULL as name. (md_operand): Handling of '@'-prefixed symbols moved from here... (ia64_parse_name): ...to here.
2004-07-04Emit error for unaligned instructions.Jim Wilson1-0/+8
* config/tc-ia64.c (emit_one_bundle): Check and set insn_addr. * config/tc-ia64.h (md_frag_check): Define.
2004-03-032004-03-03 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+0
* config/tc-ia64.c (dot_align): New. (ia64_do_align): Make it static. (md_pseudo_table): Use "dot_align" for "align". (ia64_md_do_align): Don't set align_frag here. (ia64_handle_align): Add a stop bit to the previous bundle if needed. * config/tc-ia64.h (ia64_do_align): Removed.
2004-03-032004-03-02 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-0/+4
* config/tc-ia64.c (align_frag): New. (md_assemble): Set the tc_frag_data field in align_frag for IA64_OPCODE_FIRST instructions. (ia64_md_do_align): Set align_frag. (ia64_handle_align): Add a stop bit if needed. * config/tc-ia64.h (TC_FRAG_TYPE): New. (TC_FRAG_INIT): New.
2004-02-21Fix unwind info problems with .align.Jim Wilson1-1/+2
* config/tc-ia64.c (slot_index): New arg before_relax. Use instead of finalize_syms. (fixup_unw_records): New arg before_relax. Pass to slot_index. (ia64_estimate_size_before_relax): New. (ia64_convert_frag): Pass 0 to fixup_unw_records. Add comment. (generate_unwind_image): Pass 1 to fixup_unw_records. * config/tc-ia64.h (ia64_estimate_size_before_relax): Declare. (md_estimate_size_before_relax): Call ia64_estimate_size_before_relax.
2004-02-11Patch from Steve Ellcey for ia64-hpux.Jim Wilson1-0/+6
* config/tc-ia64.h (ia64_frob_symbol): New declaration. (tc_frob_symbol): New macro definition. * config/tc-ia64.c (ia64_frob_symbol): New routine.
2004-02-05Fix region length calculations when regions end with .align padding.Jim Wilson1-1/+1
* config/tc-ia64.c (output_endp): New. (count_bits): Delete. (ia64_flush_insns, process_one_record, optimize_unw_records): Handle endp unwind records. (fixup_unw_records): Handle endp unwind records. Delete code for shortening prologue regions not followed by a body record. (dot_endp): Call add_unwind_entry to emit endp unwind record. * config/tc-ia64.h (unw_record_type): Add endp.
2004-01-072004-01-07 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-2/+3
* config/tc-ia64.c (unwind): Move next_slot_number and next_slot_frag to ... (unw_rec_list): Here. (free_list_records): Removed. (output_unw_records): Likewise. (generate_unwind_image): Make it void. (alloc_record): Initialize next_slot_number and next_slot_frag. (slot_index): Take .org, .space and .align into account. (fixup_unw_records): Don't set slot_number to 0. Use list->next_slot_number and list->next_slot_frag instead of unwind.next_slot_number and unwind.next_slot_frag. (ia64_convert_frag): New. (generate_unwind_image): Generate a rs_machine_dependent frag for unwind record. (emit_one_bundle): Use list->next_slot_number and list->next_slot_frag instead of unwind.next_slot_number and unwind.next_slot_frag. * config/tc-ia64.h (md_convert_frag): Defined as ia64_convert_frag. (md_estimate_size_before_relax): Defined as (f)->fr_var.
2003-07-25bfd/H.J. Lu1-4/+0
2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * elf-bfd.h (bfd_elf_special_section): New. (elf_backend_data): Add special_sections, a pointer to bfd_elf_special_section. (elf_section_type). New. (elf_section_flags): New. (_bfd_elf_get_sec_type_attr): New. * elf.c (_bfd_elf_make_section_from_shdr): Always use the real section type/flags. (special_sections): New. (get_special_section): New. (_bfd_elf_get_sec_type_attr): New. (_bfd_elf_new_section_hook): Check special_section to set elf_section_type and elf_section_flags. (elf_fake_sections): Don't use section name to set ELF section data. * elf32-m32r.c (m32r_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-m68hc11.c (elf32_m68hc11_special_sections): New. (elf_backend_special_sections): Defined. * elf32-mcore.c (mcore_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-ppc.c (ppc_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-sh64.c (sh64_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-v850.c (v850_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-xtensa.c (elf_xtensa_special_sections): New. (elf_backend_special_sections): Defined. * elf64-alpha.c (elf64_alpha_special_sections): New. (elf_backend_special_sections): Defined. * elf64-hppa.c (elf64_hppa_special_sections): New. (elf_backend_special_sections): Defined. * elf64-ppc.c (ppc64_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf64-sh64.c (sh64_elf64_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-ia64.c (elfNN_ia64_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-mips.c (_bfd_mips_elf_special_sections): New. * elfxx-mips.h (_bfd_mips_elf_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-target.h (elf_backend_special_sections): New. Default to NULL. (elfNN_bed): Initialize special_sections. * section.c (bfd_abs_section): Remove const. (bfd_und_section): Likewise. (bfd_com_section): Likewise. (bfd_ind_section): Likewise. gas/ 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * config/obj-elf.c (special_sections): Removed. (obj_elf_change_section): Call _bfd_elf_get_sec_type_attr. Set elf_section_type and elf_section_flags. (elf_frob_file): Set SHT_GROUP. * config/obj-elf.h (obj_sec_set_private_data): New. * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): Removed. * config/tc-ia64.h: Likewise. * config/tc-m32r.h: Likewise. * config/tc-m68hc11.h: Likewise. * config/tc-mcore.h: Likewise. * config/tc-mips.h: Likewise. * config/tc-ppc.h: Likewise. * config/tc-sh64.h: Likewise. * config/tc-v850.h: Likewise. * config/tc-xtensa.h: Likewise. * config/tc-v850.h (SHF_V850_GPREL): Removed. (SHF_V850_EPREL): Likewise. (SHF_V850_R0REL): Likewise. * subsegs.c (subseg_get): Call obj_sec_set_private_data if it is defined. include/elf/ 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * v850.h (SHF_V850_GPREL): New. (SHF_V850_EPREL): Likewise. (SHF_V850_R0REL): Likewise.
2003-05-07gas/H.J. Lu1-0/+6
2003-05-07 H.J. Lu <hongjiu.lu@intel.com> * config/tc-ia64.c (alias_hash): New. (alias_name_hash): New. (secalias_hash): New. (secalias_name_hash): New. (md_pseudo_table): Add "secalias". (md_begin): Initialize alias_hash, alias_name_hash, secalias_hash and secalias_name_hash. (struct alias): New. (dot_alias): Implement .alias and .secalias directives. (do_alias): New. (ia64_adjust_symtab): New. (do_secalias): New. (ia64_frob_file): New. * config/tc-ia64.h (ia64_adjust_symtab): New. (tc_adjust_symtab): Defined. (ia64_frob_file): New. (tc_frob_file): Defined. gas/testsuite/ 2003-05-07 H.J. Lu <hongjiu.lu@intel.com> * gas/ia64/ia64.exp: Add alias. * gas/ia64/alias.s: New. * gas/ia64/alias.d: Likewise.
2003-05-02gas/H.J. Lu1-0/+1
2003-05-01 H.J. Lu <hjl@gnu.org> * config/tc-ia64.h (tc_canonicalize_section_name): New. * config/obj-elf.c (obj_elf_section_name): Call tc_canonicalize_section_name if it is defined. gas/testsuite/ 2003-05-01 H.J. Lu <hjl@gnu.org> * gas/ia64/ia64.exp: Add secname. * gas/ia64/secname.s: New. Test the trailing '#' in section name. * gas/ia64/secname.d: Likewise.
2003-05-022003-05-01 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+2
* config/tc-ia64.c (ia64_check_label): New. * config/tc-ia64.h (tc_check_label): New. * read.c (read_a_source_file): Call tc_check_label after creating a user-defined label if defined.
2003-05-01gas/H.J. Lu1-2/+15
2003-04-30 H.J. Lu <hjl@gnu.org> * config/tc-ia64.c (ia64_number_to_chars): New function pointer. (ia64_float_to_chars): Likewise. (dot_byteorder): Set target_big_endian, ia64_number_to_chars and ia64_float_to_chars by tc_segment_info_data.endian from the current segment if byteorder == -1. (md_begin): Call dot_byteorder to set target_big_endian. (md_atof): Call ia64_float_to_chars to convert floating point. (ia64_float_to_chars_bigendian): New function. (ia64_float_to_chars_littleendian): Likewise. (ia64_elf_section_change_hook): Likewise. * config/tc-ia64.h (ia64_number_to_chars): New. (md_number_to_chars): Changed to (*ia64_number_to_chars) (ia64_elf_section_change_hook): New. (md_elf_section_change_hook): Defined. (ia64_segment_info_type): New struct. (TC_SEGMENT_INFO_TYPE): Defined. gas/testsuite/ 2003-04-30 H.J. Lu <hjl@gnu.org> * gas/ia64/ia64.exp: Add order. * gas/ia64/order.s: New file. * gas/ia64/order.d: Likewise.
2003-05-01gas/H.J. Lu1-0/+3
2003-04-30 H.J. Lu <hjl@gnu.org> * config/tc-ia64.c (md_section_align): Deleted. * config/tc-ia64.h (SUB_SEGMENT_ALIGN): New. (md_section_align): New. gas/testsuite/ 2003-04-29 H.J. Lu <hjl@gnu.org> * gas/ia64/ia64.exp: Add align. * gas/ia64/align.d: New file. * gas/ia64/align.s: Likewise. * ia64/dependency-1.d: Remove the padding. ld/testsuite/ 2003-04-29 H.J. Lu <hjl@gnu.org> * ld-ia64/tlsbin.dd: Updated. * ld-ia64/tlsbin.rd: Likewise. * ld-ia64/tlsbin.sd: Likewise. * ld-ia64/tlsbin.td: Likewise. * ld-ia64/tlspic.rd: Likewise. * ld-ia64/tlspic.sd: Likewise. * ld-ia64/tlspic.td: Likewise.
2003-03-11 * dwarf2dbg.c (generic_dwarf2_emit_offset): New.Richard Henderson1-0/+2
(TC_DWARF2_EMIT_OFFSET): Provide default. (out_debug_aranges, out_debug_info): Use it. * config/tc-ia64.c (ia64_dwarf2_emit_offset): New. (ia64_cons_fix_new): Move FUNC_DTP_RELATIVE handling ... (ia64_gen_real_reloc_type): ... here. * config/tc-ia64.h (TC_DWARF2_EMIT_OFFSET): New.
2002-09-05gas reloc rewrite.Alan Modra1-10/+9
2002-05-25 * Makefile.am (OBJS): Depend on ansidecl.h and fopen-same.h.Alan Modra1-2/+2
* Makefile.in: Regenerate. * dep-in.sed: Reorder to match OBJS in Makefile.am. * configure.in (ALL_OBJ_DEPS): Add symcat.h when need_bfd. * configure: Regenerate. * as.h: Use #include "" instead of <> for local header files. * flonum-konst.c: Likewise. * flonum-mult.c: Likewise. * gasp.c: Likewise. * listing.c: Likewise. * config/tc-ia64.h: Likewise. * config/tc-v850.h: Likewise.
2002-05-06 * config/tc-ia64.c: Fix formatting.Kazu Hirata1-1/+1
* config/tc-ia64.h: Likewise.
2002-03-042002-03-04 H.J. Lu <hjl@gnu.org>H.J. Lu1-2/+0
* config/obj-elf.c (special_section): Add .init_array, .fini_array and .preinit_array. * config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove .init_array and .fini_array.
2002-01-11Add support for ia64-hpux target.Nick Clifton1-1/+5
2001-11-28 * as.c (parse_args): Call md_after_parse_args if defined.Andreas Schwab1-0/+2
* 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-4/+0
2001-09-11 * config/tc-alpha.c (alpha_elf_section_letter): New.Richard Henderson1-0/+2
(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-07-23 * config/tc-alpha.h: Fix formatting.Kazu Hirata1-2/+2
* 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-04-12* expr.c (operand): Pass &c to md_parse_name().Alexandre Oliva1-1/+1
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-03-08Fix copyright noticesNick Clifton1-1/+1
2001-02-14Address comment from Richard about relocs always needing a type.Jim Wilson1-1/+4
* 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-4/+4
(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-072001-02-06 H.J. Lu <hjl@gnu.org>H.J. Lu1-1/+2
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if there is no relocation.
2001-02-062001-02-06 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+12
* 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".
2000-12-28 * as.h (rs_align_test): New.Richard Henderson1-2/+6
* 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-12Eliminate ia64 compiler warnings. Fix ia64 gas testsuite again.Jim Wilson1-0/+1
* elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *. * config/tc-ia64.h (ia64_init): Add prototype. * gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d, gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update. * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode argument. * ia64_gen.c (insert_deplist): Cast sizeof result to int. (print_dependency_table): Print NULL if semantics field not set. (insert_opcode_dependencies): Mark cmp parameter as unused. (print_main_table): Use fprintf_vma to print long long fields. (main): Mark argv paramter as unused. Convert to old style definition. * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int. * ia64-asmtab.c: Regnerate.
2000-11-07ia64-hpux patches from Steve Ellcey.Jim Wilson1-5/+18
* 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-09-162000-09-15 Kazu Hirata <kazu@hxi.com> Kazu Hirata1-9/+8
* 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-05-25IA-64 unwind info changes, fix errors, add missing pieces, and some cleanup.Jim Wilson1-4/+17
* config/tc-ia64.c (dot_restorereg_p): New function. (md_pseudo_table): Add restorereg.p. ...
2000-04-21IA-64 ELF support.Jim Wilson1-0/+218