aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sparc.c
AgeCommit message (Collapse)AuthorFilesLines
2005-02-18 * config/tc-openrisc.c (openrisc_relax_frag): Delete unused function.Alan Modra1-1/+1
* config/tc-sparc.c (sparc_ip): Make op_exp static to silence warnings. * config/tc-tic80.c (build_insn): Init insn[1] to silence warning.
2005-02-17 * tc.h (struct relax_type, relax_typeS): Move from here..Alan Modra1-7/+7
* as.h: ..to here. Make rlx_forward and rlx_backward an offsetT. * ecoff.c (ecoff_new_file): Add appfile param. * ecoff.h (ecoff_new_file): Likewise. * itbl-lex.h: New file. * itbl-lex.l: Include itbl-lex.h. * itbl-parse.y: Likewise. (insntbl_line, yyparse, yylex): Move to itbl-lex.h. * read.c (s_app_file_string): Mark appfile possibly unused. * subsegs.c (seg_not_empty_p): Make sec possibly unused. * subsegs.h (struct seg_info_trash): Delete. (seg_info): Use segment_info_type instead. * config/obj-coff.c (struct filename_list): Make filename const char *. * config/obj-ecoff.h (obj_app_file): Pass app to ecoff_new_file. * config/obj-elf.c (elf_file_symbol): Similarly. * config/tc-a29k.c (md_apply_fix3): Make val a valueT. Don't use signed right shift. * config/tc-arc.c (md_operand): Warning fix. * config/tc-arm.c (arm_parse_reloc): Only define when OBJ_ELF. (md_begin): Rearrange #if defined OBJ_COFF || defined OBJ_ELF. * config/tc-cris.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Use do while. * config/tc-frv.c (frv_force_relocation): Warning fix. * config/tc-m68k.c (md_parse_option): Delete unused var. * config/tc-mcore.c (mylog2): Rename from log2 throughout. * config/tc-sparc.c: Likewise. (s_common): Warning fix. * config/tc-mips.c (append_insn): Use unsigned long long expressions. * config/tc-mmix.c (PUSHJSTUB_MAX, PUSHJSTUB_MIN): Define from addressT. * config/tc-s390.c (s390_insn): Delete test of unsigned >= 0. * config/tc-sh.c (sh_cfi_frame_initial_instructions, sh_regname_to_dw2regnum): Only define for OBJ_ELF. * config/tc-tic4x.c (tic4x_insert_reg): Use ISLOWER. (tic4x_do_align): Use TIC_NOP_OPCODE. * config/tc-tic4x.h (TIC_NOP_OPCODE): Rename from NOP_OPCODE. * config/tc-vax.c: Include netinet/in.h. (tc_headers_hook): Formatting. * config/tc-xstormy16.c (md_pcrel_from_section): Correct parens.
2004-10-022004-10-01 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+35
* config/tc-ppc.c (md_apply_fix3): Call S_SET_THREAD_LOCAL for TLS relocations. * config/tc-s390.c (md_apply_fix3): Likewise. * config/tc-sparc.c (md_apply_fix3): Likewise.
2004-01-18* config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for singleJakub Jelinek1-1/+7
precision operands.
2003-11-22 * config/tc-a29k.h: Fix comment typos.Kazu Hirata1-3/+3
* config/tc-arm.c: Likewise. * config/tc-dlx.h: Likewise. * config/tc-hppa.c: Likewise. * config/tc-i386.c: Likewise. * config/tc-m32r.c: Likewise. * config/tc-m68hc11.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m88k.c: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-mmix.c: Likewise. * config/tc-msp430.c: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-or32.c: Likewise. * config/tc-or32.h: Likewise. * config/tc-pj.c: Likewise. * config/tc-ppc.c: Likewise. * config/tc-s390.c: Likewise. * config/tc-sh64.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sparc.c: Likewise.
2003-08-29 * dw2gencfi.c (cfi_pseudo_table): Add cfi_gnu_window_save.Jakub Jelinek1-2/+66
(dot_cfi, output_cfi_insn): Handle DW_CFA_GNU_window_save. (output_cie): Don't use DW_EH_PE_pcrel if neither DIFF_EXPR_OK nor tc_cfi_emit_pcrel_expr are defined. (output_fde): Use tc_cfi_emit_pcrel_expr if available and DIFF_EXPR_OK is not defined. * config/tc-sparc.h (TARGET_USE_CFIPOP): Define. (tc_cfi_frame_initial_instructions, tc_regname_to_dw2regnum, tc_cfi_emit_pcrel_expr): Define. (sparc_cfi_frame_initial_instructions, sparc_regname_to_dw2regnum, sparc_cfi_emit_pcrel_expr): New prototypes. (sparc_cie_data_alignment): New decl. (DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT): Define. * config/tc-sparc.c: Include dw2gencfi.h. (sparc_cie_data_alignment): New variable. (md_begin): Initialize it. (sparc_cfi_frame_initial_instructions): New function. (sparc_regname_to_dw2regnum): Likewise. (sparc_cfi_emit_pcrel_expr): Likewise. * doc/as.texinfo: Document .cfi_gnu_window_save. * config/tc-sparc.c (s_common): Cast last argument to long and change format string to shut up warning. testsuite/ * gas/cfi/cfi-sparc-1.s: New test. * gas/cfi/cfi-sparc-1.d: New test. * gas/cfi/cfi-sparc64-1.s: New test. * gas/cfi/cfi-sparc64-1.d: New test. * gas/cfi/cfi.exp: Run them.
2003-06-24Update .comm error messages to assume an unsigned value.Nick Clifton1-2/+3
Update relaxing code to work in 64-bit address spaces.
2003-05-21Move .file and .loc pseudo ops into obj-elf.cNick Clifton1-2/+0
2003-01-24bfd/Jakub Jelinek1-4/+139
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs. (elf32_sparc_rev32_howto): New variable. (sparc_reloc_map): Add TLS relocs. (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto): Handle REV32. (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject): New functions. (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry, struct elf32_sparc_link_hash_table): New structures. (elf32_sparc_tdata, elf32_sparc_local_got_tls_type, elf32_sparc_hash_table): Define. (link_hash_newfunc, elf32_sparc_link_hash_table_create, create_got_section, elf32_sparc_create_dynamic_sections, elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New functions. (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc reference counting. (elf32_sparc_gc_sweep_hook): Likewise. (elf32_sparc_adjust_dynamic_symbol): Likewise. (elf32_sparc_size_dynamic_sections): Likewise. (elf32_sparc_relocate_section): Likewise. (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff): New functions. (elf32_sparc_object_p): Allocate backend private object data. (bfd_elf32_bfd_link_hash_table_create, elf_backend_copy_indirect_symbol, bfd_elf32_mkobject, elf_backend_can_refcount): Define. (elf_backend_create_dynamic_sections): Define to elf32_sparc_create_dynamic_sections. * reloc.c: Add SPARC TLS relocs. * bfd-in2.h, libbfd.h: Rebuilt. * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs. (sparc_reloc_map): Likewise. gas/ * config/tc-sparc.c (sparc_ip): Handle TLS % operators. (tc_gen_reloc): Handle TLS relocs. (sparc_cons, cons_fix_new_sparc): Handle %r_tls_dtpoff. * config/tc-sparc.h (tc_fix_adjustable): Don't adjust TLS relocs. * config/obj-elf.c (obj_elf_section_word): Handle tls. (obj_elf_type): Handle tls_object. include/ * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252. ld/testsuite/ * ld-sparc/sparc.exp: New. * ld-sparc/tlsg32.s: New test. * ld-sparc/tlsg32.sd: Likewise. * ld-sparc/tlsg64.s: Likewise. * ld-sparc/tlsg64.sd: Likewise. * ld-sparc/tlslib.s: Likewise. * ld-sparc/tlsnopic.s: Likewise. * ld-sparc/tlspic.s: Likewise. * ld-sparc/tlssunbin32.dd: Likewise. * ld-sparc/tlssunbin32.rd: Likewise. * ld-sparc/tlssunbin32.s: Likewise. * ld-sparc/tlssunbin32.sd: Likewise. * ld-sparc/tlssunbin32.td: Likewise. * ld-sparc/tlssunbin64.dd: Likewise. * ld-sparc/tlssunbin64.rd: Likewise. * ld-sparc/tlssunbin64.s: Likewise. * ld-sparc/tlssunbin64.sd: Likewise. * ld-sparc/tlssunbin64.td: Likewise. * ld-sparc/tlssunbinpic32.s: Likewise. * ld-sparc/tlssunbinpic64.s: Likewise. * ld-sparc/tlssunnopic32.dd: Likewise. * ld-sparc/tlssunnopic32.rd: Likewise. * ld-sparc/tlssunnopic32.s: Likewise. * ld-sparc/tlssunnopic32.sd: Likewise. * ld-sparc/tlssunnopic64.dd: Likewise. * ld-sparc/tlssunnopic64.rd: Likewise. * ld-sparc/tlssunnopic64.s: Likewise. * ld-sparc/tlssunnopic64.sd: Likewise. * ld-sparc/tlssunpic32.dd: Likewise. * ld-sparc/tlssunpic32.rd: Likewise. * ld-sparc/tlssunpic32.s: Likewise. * ld-sparc/tlssunpic32.sd: Likewise. * ld-sparc/tlssunpic32.td: Likewise. * ld-sparc/tlssunpic64.dd: Likewise. * ld-sparc/tlssunpic64.rd: Likewise. * ld-sparc/tlssunpic64.s: Likewise. * ld-sparc/tlssunpic64.sd: Likewise. * ld-sparc/tlssunpic64.td: Likewise.
2003-01-23 * symbols.c (S_FORCE_RELOC): Add "strict" param.Alan Modra1-15/+2
* symbols.h (S_FORCE_RELOC): Likewise. * config/obj-aout.h (S_FORCE_RELOC): Likewise. * config/obj-bout.h (S_FORCE_RELOC): Likewise. * config/obj-coff.h (S_FORCE_RELOC): Likewise. * config/obj-ieee.h (S_FORCE_RELOC): Likewise. * config/obj-vms.h (S_FORCE_RELOC): Likewise. * write.c (generic_force_reloc): New function. (TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. (adjust_reloc_syms): Adjust S_FORCE_RELOC call. * as.h (generic_force_reloc): Declare. * doc/internals.texi (S_FORCE_RELOC): Update. (TC_FORCE_RELOCATION_SUB_SAME): Update. * config/tc-alpha.c (alpha_force_relocation): Adjust to use generic_force_reloc. (alpha_fix_adjustable): Likewise. * config/tc-arm.c (arm_force_relocation): Likewise. * config/tc-cris.c (md_cris_force_relocation): Likewise. * config/tc-frv.c (frv_force_relocation): Likewise. * config/tc-i386.c (md_apply_fix3): Likewise. * config/tc-ia64.c (ia64_force_relocation): Likewise. * config/tc-ip2k.c (ip2k_force_relocation): Likewise. * config/tc-m32r.c (m32r_force_relocation): Likewise. * config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise. * config/tc-mcore.c (mcore_force_relocation): Likewise. * config/tc-mips.c (mips_force_relocation): Likewise. * config/tc-mmix.c (mmix_force_relocation): Likewise. * config/tc-ppc.c (ppc_force_relocation): Likewise. * config/tc-s390.c (tc_s390_force_relocation): Likewise. * config/tc-sh.c (sh_force_relocation): Likewise. (md_pcrel_from_section): Likewise. * config/tc-sparc.c (tc_gen_reloc): Likewise. * config/tc-v850.c (v850_force_relocation): Likewise. * config/tc-xstormy16.c (xstormy16_force_relocation): Likewise. * config/tc-i386.h (TC_FORCE_RELOCATION): Likewise. * config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise. * config/tc-sparc.h (tc_fix_adjustable): Likewise. * config/tc-d10v.c (d10v_force_relocation): Delete. * config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define. * config/tc-dlx.c (md_dlx_force_relocation): Delete. * config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define. * config/tc-fr30.c (fr30_force_relocation): Delete. * config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define. * config/tc-mn10300.c (mn10300_force_relocation): Delete. * config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. * config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise. * config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call. * config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix. * config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define. * config/tc-openrisc.c (openrisc_force_relocation): Delete. * config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define. * config/tc-sparc.c (elf32_sparc_force_relocation): Delete. * config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF. * config/tc-i386.c (i386_force_relocation): Delete. * config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for BFD_ASSEMBLER. (EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting. * config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define. * config/tc-pj.h (TC_FORCE_RELOCATION): Don't define. * config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call S_FORCE_RELOC. (TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too. * config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
2002-12-12 * config/tc-sparc.c (s_register): Only declare #ifdef OBJ_ELF.Alan Modra1-2/+4
(md_apply_fix3 <segment>): Add ATTRIBUTE_UNUSED. (tc_gen_reloc <section>): Likewise.
2002-09-05gas reloc rewrite.Alan Modra1-32/+4
2002-08-20 * config/tc-arc.c (md_pseudo_table <dwarf2_directive_file>): Cast.Alan Modra1-1/+1
* config/tc-frv.c: Likewise. * config/tc-hppa.c: Likewise. * config/tc-ia64.c: Likewise. * config/tc-ip2k.c: Likewise. * config/tc-m68hc11.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-mmix.c: Likewise. * config/tc-mn10300.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-v850.c: Likewise.
2002-06-08 * as.c: Replace CONST with const.Alan Modra1-3/+3
* write.c: Likewise. * config/obj-coff.c: Likewise. * config/tc-a29k.c: Likewise. * config/tc-arm.c: Likewise. * config/tc-dlx.c: Likewise. * config/tc-h8300.c: Likewise. * config/tc-h8500.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i860.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-m68hc11.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m88k.c: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mips.c: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-pdp11.c: Likewise. * config/tc-pj.c: Likewise. * config/tc-s390.c: Likewise. * config/tc-sh.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tahoe.c: Likewise. * config/tc-tic80.c: Likewise. * config/tc-v850.c: Likewise. * config/tc-vax.c: Likewise. * config/tc-w65.c: Likewise. * config/tc-z8k.c: Likewise.
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek1-0/+1
for symbols from SHF_TLS section. (_bfd_elf_print_private_bfd_data): Add PT_TLS. (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. (map_sections_to_segments): Build PT_TLS segment if necessary. (assign_file_positions_for_segments): Likewise. (get_program_header_size): Account for PT_TLS segment. (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from SEC_THREAD_LOCAL sections to STT_TLS. * reloc.c: Add 386 and IA-64 TLS relocs. * section.c (SEC_THREAD_LOCAL): Define. (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): Remove. * elflink.h (elf_link_add_object_symbols): Support .tcommon. (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS unconditionally. (struct elf_final_link_info): Add first_tls_sec. (elf_bfd_final_link): Set first_tls_sec. Compute elf_hash_table (info)->tls_segment. (elf_link_output_extsym): Handle STT_TLS symbols. (elf_link_input_bfd): Likewise. * syms.c (BSF_THREAD_LOCAL): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, elf_i386_mkobject, elf_i386_object_p): New functions. (elf_howto_table): Add TLS relocs. (elf_i386_reloc_type_lookup): Support TLS relocs. (elf_i386_info_to_howto_rel): Likewise. (struct elf_i386_link_hash_entry): Add tls_type. (struct elf_i386_obj_tdata): New. (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): New macros. (struct elf_i386_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Clear tls_type. (elf_i386_check_relocs): Support TLS relocs. (elf_i386_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject, elf_backend_object_p): Define. * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, want_tprel, want_dtpmod, want_dtprel. (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to R_IA64_LTOFF_TPREL22. (elf_code_to_howto_index): Add TLS relocs. (elfNN_ia64_check_relocs): Support TLS relocs. (allocate_global_data_got): Account for TLS .got data. (allocate_dynrel_entries): Account for TLS dynamic relocations. (elfNN_ia64_install_value): Supprt TLS relocs. (set_got_entry): Support TLS relocs. (elfNN_ia64_relocate_section): Likewise. * config/obj-elf.c (elf_common): Renamed from obj_elf_common. (obj_elf_common): Call elf_common. (obj_elf_tls_common): New function. (elf_pseudo_tab): Support .tls_common. (special_sections): Add .tdata and .tbss. (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS sections. (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS). (obj_elf_parse_section_letters): Include T in error message. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-alpha.c (alpha_elf_section_letter): Likewise. (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as SEC_MERGE. * config/tc-sparc.c (md_apply_fix3): Likewise. * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF and @NTPOFF. (md_apply_fix3): Add TLS relocs. * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE, FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE, FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE. (pseudo_func): Support @dtpmod(), @dtprel() and @tprel(). (ia64_elf_section_letter): Include T in error message. (md_begin): Support TLS operators. (md_operand): Likewise. (ia64_gen_real_reloc_type): Support TLS relocs. * testsuite/gas/i386/tlspic.s: New file. * testsuite/gas/i386/tlsd.s: New file. * testsuite/gas/i386/tlsnopic.s: New file. * testsuite/gas/i386/tlsd.d: New file. * testsuite/gas/i386/tlsnopic.d: New file. * testsuite/gas/i386/tlspic.d: New file. * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests. * testsuite/gas/ia64/tls.s: New file. * testsuite/gas/ia64/tls.d: New file. * testsuite/gas/ia64/ia64.exp: Add tls test. * write.c (adjust_reloc_syms): Don't change symbols in SEC_THREAD_LOCAL sections to STT_SECTION + addend. * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. * elf/i386.h: Add TLS relocs. * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss. * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for output section if necessary. Handle .tbss. (lang_size_sections): Clear _raw_size for .tbss section (it allocates space in PT_TLS segment only). * ldwrite.c (build_link_order): Build link order for .tbss too. * readelf.c (get_segment_type): Add PT_TLS. (get_elf_section_flags): Add SHF_TLS. (get_dynamic_flags): Optimize. Add DF_STATIC_TLS. (process_dynamic_segment): Use puts instead of printf. (get_symbol_type): Support STT_TLS. * objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS. Add SEC_THREAD_LOCAL.
2002-02-11* config/tc-sparc.c (U0x80000000, U0xffffffff): New constants.Alexandre Oliva1-8/+14
Use all over.
2001-12-21 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask forJakub Jelinek1-4/+163
R_SPARC_DISP32. Support R_SPARC_PLT32. (sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32. (elf32_sparc_check_relocs): Handle R_SPARC_PLT32. (elf32_sparc_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64. (sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL and BFD_RELOC_SPARC_PLT32. (sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64. (sparc64_elf_relocate_section): Likewise. * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32. * bfd-in2.h, libbfd.h: Rebuilt. * config/tc-sparc.h (TC_PARSE_CONS_EXPRESSION): Define. (sparc_cons): Provide prototype. * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_*_PCREL and BFD_RELOC_SPARC_PLT{32,64}. Enumerate for which relocs reloc->addend = fixp->fx_addnumber shouldn't be done instead of enumarating for which pc relative ones it should be done. (sparc_cons_special_reloc): New variable. (sparc_cons): New function. (cons_fix_new_sparc): Use sparc_cons_special_reloc. * testsuite/gas/sparc/pcrel.s: New test. * testsuite/gas/sparc/pcrel.d: Expected output. * testsuite/gas/sparc/pcrel64.s: New test. * testsuite/gas/sparc/pcrel64.d: Expected output. * testsuite/gas/sparc/plt.s: New test. * testsuite/gas/sparc/plt.d: Expected output. * testsuite/gas/sparc/plt64.s: New test. * testsuite/gas/sparc/plt64.d: Expected output. * testsuite/gas/sparc/sparc.exp: Add pcrel, pcrel64, plt and plt64 tests.
2001-11-28 * elf64-alpha.c (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Defined.Jakub Jelinek1-5/+0
(elf64_alpha_relocate_section): Translate local_got_entries for STT_SECTION symbol to SHF_MERGE section the first time we see it. * elfxx-ia64.c (struct elfNN_ia64_local_hash_entry): Add sec_merge_done. (get_local_sym_hash): New, extracted from get_dyn_sym_info. (get_dyn_sym_info): Use it. (elfNN_ia64_relocate_section): Translate local dyn entries for STT_SECTION symbol to SHF_MERGE section the first time we see it. * write.c (adjust_reloc_syms): Mark SEC_MERGE symbols as used in reloc if it has non-zero addend. * config/tc-alpha.c (tc_gen_reloc): Reinstall SEC_MERGE check. * config/tc-sparc.c (md_apply_fix3): Likewise.
2001-11-15Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function.Nick Clifton1-24/+12
2001-11-14Do not remove the symbol's value from the addend for fixups against localNick Clifton1-15/+22
symbols in SEC_MERGE sections - it was not added in, in the first place.
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-15/+15
2001-09-07 * config/tc-sparc.c (md_apply_fix3): Handle relocs against SEC_MERGEJakub Jelinek1-0/+1
section symbols the same way as externs.
2001-08-12Fix behaviour of unaligned data directivesNick Clifton1-2/+2
2001-07-23 * config/tc-alpha.h: Fix formatting.Kazu Hirata1-4/+4
* 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-05-28Add support for .uahword, .uaword and .uaxword pseudo opsNick Clifton1-8/+25
2001-03-08Fix copyright noticesNick Clifton1-1/+2
2001-01-142001-01-14 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-1/+1
* config/tc-alpha.c: Fix formatting. * config/tc-arc.c: Likewise. * config/tc-arc.h: Likewise. * config/tc-d10v.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i386.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-ppc.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tahoe.c: Likewise. * config/tc-vax.c: Likewise.
2000-12-28 * as.h (rs_align_test): New.Richard Henderson1-32/+44
* 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-1/+1
* 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-21 * config/tc-sparc.c (md_pseudo_table): Add .file and .loc.Jakub Jelinek1-0/+7
(output_insn): Call dwarf2_emit_insn.
2000-10-20gas/Jakub Jelinek1-38/+70
* config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p instructions to loose any special insn->architecture mask. * config/tc-sparc.c (v9a_asr_table): Add v9b ASRs. (sparc_md_end, sparc_arch_types, sparc_arch, sparc_elf_final_processing): Handle v8plusb and v9b architectures. (sparc_ip): Handle siam mode operands. Support v9b ASRs (and request v9b architecture if they are used). bfd/ * elf32-sparc.c (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p, elf32_sparc_final_write_processing): Support v8plusb. * elf64-sparc.c (sparc64_elf_merge_private_bfd_data, sparc64_elf_object_p): Support v9b. * archures.c: Declare v8plusb and v9b machines. * bfd-in2.h: Ditto. * cpu-sparc.c: Ditto. include/opcode/ * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B. Note that '3' is used for siam operand. opcodes/ * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs. (compute_arch_mask): Add v8plusb and v9b machines. (print_insn_sparc): siam mode decoding, accept ASRs up to 25. * opcodes/sparc-opc.c: Support for Cheetah instruction set. (prefetch_table): Add #invalidate.
2000-09-262000-09-25 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-2/+2
* config/tc-cris.c: Fix formatting. * config/tc-d10v.h: Likewise. * config/tc-d30v.c: Likewise. * config/tc-d30v.h: Likewise. * config/tc-fr30.c: Likewise. * config/tc-fr30.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-pj.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.h: Likewise. * config/tc-w65.h: Likewise. * config/tc-z8k.h: Likewise.
2000-08-16 * config/tc-sparc.c: Kill all warnings.Jakub Jelinek1-25/+51
(md_parse_option): Set -32/-64 for -xarch=, allow all -A archs in -xarch= as well. (md_show_usage): Update usage text.
2000-08-04Fix typoNick Clifton1-3/+3
2000-08-042000-08-05 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-2/+4
* config/tc-cris.c: Fix formatting. * config/tc-i386.c: Likewise. * config/tc-sparc.c (sparc_ip): Simplify the code.
2000-08-042000-08-04 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-38/+44
* config/tc-cris.c: Rearrange code for readability. * config/tc-d10v.c: Fix formatting. * config/tc-m32r.c: Likewise. * config/tc-sparc.c: Likewise.
2000-07-27Kazu Hirata's formatting fixes.Alan Modra1-208/+220
2000-06-09Don't treat `;' as a line separator by default.Alan Modra1-1/+1
Explicitly mention `;' in line_separator_chars in each backend.
2000-05-26 * config/tc-sparc.c (sparc_relax): New.Jakub Jelinek1-1/+102
(md_longopts): Add -relax and -no-relax options. (md_parse_options, md_show_usage): Likewise. (md_apply_fix3): Optimize tail call into branch always if possible.
2000-04-05* config/tc-sparc.c (sparc_ip): Avoid string pasting.Alexandre Oliva1-2/+1
2000-04-03Move bug report string to one place.Alan Modra1-1/+1
2000-02-282000-02-27 Jakub Jelinek <jakub@redhat.com>Ian Lance Taylor1-1/+11
* config/tc-sparc.c (OPTION_UNDECLARED_REGS): New option. (md_parse_option): Handle it. (md_show_usage): Document it.
1999-08-08 * config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg.Richard Henderson1-1/+4
1999-08-08comment additionsIan Lance Taylor1-0/+2
1999-07-30Jakub Jelinek <jj@ultra.linux.cz>Richard Henderson1-0/+139
* config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option. (sparc_ip): Warn if %g2 or %g3 register is used and not covered by .register pseudo-op if -64 and --no-undeclared-regs. (s_register, sparc_adjust_symtab): New functions. * config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab): Declare sparc_adjust_symtab as tc_adjust_symtab. * doc/c-sparc.texi: Add description of #ignore special literal for .register pseudo-op.
1999-07-16Jakub Jelinek <jj@ultra.linux.cz>Richard Henderson1-6/+35
* config/tc-sparc.c (sparc_ip): Allow OLO10 relocations on -64 and not pic. (output_insn): Put OLO10's secondary addend into tc_fix_data. (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10. (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13. * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE, MAX_RELOC_EXPANSION): Define. (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
1999-06-22 * config/tc-alpha.c: More use of symbol accessor functions.Ian Lance Taylor1-1/+1
* config/tc-arc.c: Likewise. * config/tc-d30v.c: Likewise. * config/tc-fr30.c: Likewise. * config/tc-i860.c: Likewise. * config/tc-m88k.c: Likewise. * config/tc-mcore.c: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-v850.c: Likewise.
1999-06-10 * config/tc-sparc.c (md_pseudo_table): Remove pushsection andIan Lance Taylor1-2/+0
popsection.
1999-06-10 * config/tc-sparc.c (sparc_ip): Add default case to reloc switch.Ian Lance Taylor1-0/+3
1999-06-10Jakub Jelinek <jj@ultra.linux.cz>Richard Henderson1-304/+334
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression with isoctal. * config/tc-sparc.c (synthetize_setuw, synthetize_setsw, synthetize_setx): New functions. (md_assemble): Broken the special cases into the above functions. Make compiler happy if sizeof(bfd_vma)==4. Fix sethi generated from set/setuw. If instructions have a relloc, always clear the fields to be relocated in the opcode. (sparc_ip): Remove special_case global variable.