aboutsummaryrefslogtreecommitdiff
path: root/gas
AgeCommit message (Collapse)AuthorFilesLines
2002-06-07 * config/tc-mips.c (mips_opts): Fix comment, all ASE fields are setThiemo Seufer2-29/+36
to -1. (file_ase_mips16): New veriable. (mips_eabi64): Remove. (CPU_HAS_MIPS16): New define. (CPU_HAS_MDMX): Fix data type. (md_begin): Code cleanup. Use file_ase_mips16. (mips_elf_final_processing): Handle mips16 header flag. Handle EABI flag without intermediate variable.
2002-06-07 * doc/as.texinfo: Update MIPS documentation.Thiemo Seufer2-27/+55
2002-06-07 * config/tc-mips.c: Add define for $zero register.Thiemo Seufer2-11/+67
(md_begin): Add $zero as alias name for $0. (insn_uses_reg): Use ZERO define. (mips_ip): Add $zero as alias name for $0. (mips16_ip): Likewise. (s_cplocal): Demand empty rest of input line. (tc_get_register): Likewise. Add support for $kt0, kt1 register names. Use ZERO define. Fix input_line_pointer progress.
2002-06-07 * symbols.c: Replace CONST by const throughout.Alan Modra4-25/+61
(symbol_find_exact): Split out from.. (symbol_find_base): ..here. * symbols.h: Replace CONST by const throughout. (symbol_find_exact): Declare. * config/obj-elf.c: #include "struc-symbol.h". (elf_frob_file): If group name matches an exported symbol, use that symbol for the signature and ".group" as the section name.
2002-06-07Add comment for last change.Joern Rennecke1-0/+15
2002-06-06 * config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,Joern Rennecke5-15/+39
but warn about it. * testsuite/gas/sh/pcrel.s: Also test @(symbol,pc). * testsuite/gas/sh/pcrel.d: Update. * testsuite/gas/sh/pcrel.l: New file.
2002-06-062002-06-06 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz2-4/+9
* tc-mips.c (mips_after_parse_args): Always set mips_opts.ase_mips3d and mips_opts.ase_mdmx if they are uninitialized.
2002-06-06 * gas/config/tc-hppa.c (pa_ip): Replace "L$0\001" with FAKE_LABEL_NAME.Jeff Law2-12/+31
(hppa_force_relocation): Check if a stub just before the start symbol of the last call_info is reachable before forcing relocation. Fix typo.
2002-06-06 * gas/testsuite/gas/hppa/basic/add.s: Set code level to 1.1.Jeff Law9-1/+22
* gas/testsuite/gas/hppa/basic/branch.s: Likewise. * gas/testsuite/gas/hppa/basic/dcor.s: Likewise. * gas/testsuite/gas/hppa/basic/logical.s: Likewise. * gas/testsuite/gas/hppa/basic/shladd.s: Likewise. * gas/testsuite/gas/hppa/basic/sub.s: Likewise. * gas/testsuite/gas/hppa/basic/unit.s: Likewise. * gas/testsuite/gas/hppa/unsorted/unsorted.exp: Return if target "*-*-linux*".
2002-06-04* config/tc-mips.c (mips_after_parse_args): New function.Maciej W. Rozycki3-230/+244
(md_begin): Move processing of defaults to mips_after_parse_args. config/tc-mips.h (md_after_parse_args): Define.
2002-06-04bfd:Jason Thorpe4-188/+219
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo. (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c. (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo. (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c. (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules. * Makefile.in: Regenerate. * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. * configure: Regenerate. * elf32-sh64-nbsd.c: New file. * elf64-sh64-nbsd.c: New file. * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. gas: * configure.in (sh5*): Set cpu_type to sh64 and endian to big. (sh5le*, sh64le*): Set cpu_type to sh64 and endian to little. (sh5*-*-netbsd*, sh64*-*-netbsd*): New targets. * configure: Regenerate. * config/tc-sh64.c (sh64_target_format): Add support for NetBSD environment. ld: * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o, eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o. (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c) (eshlelf64_nbsd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * emulparams/shelf32_nbsd.sh: New file. * emulparams/shelf64_nbsd.sh: New file. * emulparams/shlelf32_nbsd.sh: New file. * emulparams/shlelf64_nbsd.sh: New file. opcodes: * configure.in: Add "sh5*-*" to list of targets which include sh64 support. * configure: Regenerate.
2002-06-04* config/tc-sh64.h (MD_PCREL_FROM_SECTION): Undef before redefining.Jason Thorpe2-0/+5
2002-06-04 * config/obj-elf.c (obj_elf_change_section): Set and check elfAlan Modra2-11/+43
linkonce flag. Print all warnings. (obj_elf_section): Parse ",comdat" for groups. (elf_frob_file): Set SEC_LINK_ONCE on COMDAT groups. Check consistency of comdat flag.
2002-06-02 * config/tc-alpha.c (alpha_adjust_symtab_relocs): Fix thinkoRichard Henderson2-3/+10
with LITERALs without sequence numbers.
2002-06-02 include/elf/Richard Henderson2-15/+13
* alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. gas/ * config/tc-alpha.c: Move LITUSE constants to "elf/alpha.h". Rename them LITUSE_ALPHA_*. bfd/ * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New. (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs in shared libraries. Fix DTPRELHI and TPRELHI value. (INSN_ADDQ, INSN_RDUNIQ): New. (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent. (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend argument. Reject dynamic symbols. Use LITUSE symbolic constants. (elf64_alpha_relax_got_load): Rename from relax_without_lituse. Handle GOTDTPREL and GOTTPREL relocations. (elf64_alpha_relax_gprelhilo): New. (elf64_alpha_relax_tls_get_addr): New. (elf64_alpha_relax_find_tls_segment): New. (elf64_alpha_relax_section): Handle TLS relocations. (ALPHA_ELF_LINK_HASH_TLS_IE): New. (elf64_alpha_check_relocs): Set it.
2002-05-31[ opcodes/ChangeLog ]Chris Demetriou4-0/+291
2002-05-31 Chris G. Demetriou <cgd@broadcom.com> Ed Satterthwaite <ehs@broadcom.com> * mips-opc.c: Add support for SB-1 MDMX subset and extensions. [ gas/testsuite/ChangeLog ] 2002-05-31 Chris G. Demetriou <cgd@broadcom.com> * gas/mips/sb1-ext-mdmx.s: New file. * gas/mips/sb1-ext-mdmx.d: Likewise. * gas/mips/mips.exp: Run new "sb1-ext-mdmx" test.
2002-05-312002-05-31 Chris G. Demetriou <cgd@broadcom.com>Chris Demetriou2-1/+7
* gas/mips/mips.exp: Use elf-rel2 and elfel-rel2 for mipsisa64*-*-* targets, rather than e32-rel2 and e32el-rel2.
2002-05-31Allow stm.l and ldm.l insns to accept parentheses enclosed register lists.Nick Clifton2-81/+93
2002-05-312002-05-30 Chris G. Demetriou <cgd@broadcom.com>Chris Demetriou3-145/+151
* gas/mips/mips64-mdmx.s: Tweak to more thoroughly cover instruction encodings. * gas/mips/mips64-mdmx.d: Likewise.
2002-05-31 * Makefile.am: Run "make dep-am".Alan Modra4-11/+44
* Makefile.in: Regenerate. * po/POTFILES.in: Regenerate.
2002-05-31 * configure.in: Add i386-*-nto-qnx*.Alan Modra3-243/+176
* configure: Regenerate.
2002-05-31 * config/tc-mips.c (mips_ip): Use unsigned long values forThiemo Seufer2-18/+23
warning output.
2002-05-31 * config/tc-mips.c (s_cpsetup): Fix initialization ofThiemo Seufer2-3/+14
mips_cpreturn_register and mips_cpreturn_offset.
2002-05-31 * config/tc-mips.c (s_cpsetup): Fix comment.Thiemo Seufer2-5/+9
2002-05-31 * config/tc-mips.c (md_begin): Add $ra as alias name for $31.Thiemo Seufer2-3/+24
(mips_ip): Likewise. (mips16_ip): Likewise. (tc_get_register): Likewise.
2002-05-31[ gas/ChangeLog ]Chris Demetriou8-6/+695
2002-05-30 Chris G. Demetriou <cgd@broadcom.com> Ed Satterthwaite <ehs@broadcom.com> * config/tc-mips.c (mips_set_options): New "ase_mdmx" member. (mips_opts): Initialize "ase_mdmx" member. (file_ase_mdmx): New variable. (CPU_HAS_MDMX): New macro. (md_begin): Initialize mips_opts.ase_mdmx and file_ase_mdmx based on command line options and configuration defaults. (macro_build): Note in comment that use of MDMX in macros is not currently allowed. (validate_mips_insn): Add support for the "O", "Q", "X", "Y", and "Z" MDMX operand types. (mips_ip): Accept MDMX instructions if mips_opts.ase_mdmx is set, and add support for the "O", "Q", "X", "Y", and "Z" MDMX operand types. (OPTION_MDMX, OPTION_NO_MDMX, md_longopts, md_parse_option): Add support for "-mdmx" and "-no-mdmx" options. (OPTION_ELF_BASE): Move to accomodate new options. (s_mipsset): Support ".set mdmx" and ".set nomdmx". (mips_elf_final_processing): Set MDMX ASE ELF header flag if file_ase_mdmx was set. * doc/as.texinfo: Document -mdmx and -no-mdmx options. * doc/c-mips.texi: Likewise, and document ".set mdmx" and ".set nomdmx" directives. [ gas/testsuite/ChangeLog ] 2002-05-30 Chris G. Demetriou <cgd@broadcom.com> * gas/mips/mips64-mdmx.s: New file. * gas/mips/mips64-mdmx.d: Likewise. * gas/mips/mips.exp: Run new "mips64-mdmx" test. [ include/opcode/ChangeLog ] 2002-05-30 Chris G. Demetriou <cgd@broadcom.com> * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL) (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH) (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC) (INSN_MDMX): New constants, for MDMX support. (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX. [ opcodes/ChangeLog ] 2002-05-30 Chris G. Demetriou <cgd@broadcom.com> Ed Satterthwaite <ehs@broadcom.com> * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y', and 'Z' formats, for MDMX. (mips_isa_type): Add MDMX instructions to the ISA bit mask for bfd_mach_mipsisa64. * mips-opc.c: Add support for MDMX instructions. (MX): New definition. * mips-dis.c: Update copyright years to include 2002.
2002-05-30 * config/tc-mips.c (OPTION_NO_M7000_HILO_FIX): Rename toThiemo Seufer3-4/+12
OPTION_MNO_7000_HILO_FIX. Add alternate "mno-fix7000" command line switch conforming to gcc conventions. * doc/c-mips.texi: Document -mno-fix7000 instead of no-mfix-7000.
2002-05-30 * config/tc-mips.c (macro_build_jalr): New Function.Thiemo Seufer2-82/+201
(md_begin): NewABI uses big GOTs. (macro_build): Recognize BFD_RELOC_MIPS_GOT_DISP, BFD_RELOC_MIPS_GOT_PAGE, BFD_RELOC_MIPS_GOT_OFST as valid. (load_address): Add some NewABI PIC support. (macro): Likewise. (md_apply_fix): Special handling for BFD_RELOC_MIPS_JALR. (tc_gen_reloc): Don't encode NewABI vtables in REL relocations.
2002-05-30 * doc/c-alpha.texi: Add docs for tls relocations.Richard Henderson2-0/+56
2002-05-30 * config/tc-mips.c (load_address): Use mips_gp_register insteadThiemo Seufer2-14/+26
of hardcoded value. Remove dbl parameter, use HAVE_32BIT_ADDRESSES instead. (macro): Use mips_gp_register instead of hardcoded value.
2002-05-30include/elf/Richard Henderson11-25/+351
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. bfd/ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD, ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New. (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove. (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove. (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated. (struct alpha_elf_obj_tdata): Rename total_got_entries and n_local_got_entries to total_got_size and local_got_size. (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs. (alpha_got_entry_size): New. (elf64_alpha_relax_with_lituse): Use it. (elf64_alpha_relax_without_lituse): Likewise. (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES. (get_got_entry): New. (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize. (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask. (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type. (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise. (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size. (elf64_alpha_calc_got_offsets): Likewise. (alpha_dynamic_entries_for_reloc): New. (elf64_alpha_calc_dynrel_sizes): Use it. (elf64_alpha_size_dynamic_sections): Likewise. (elf64_alpha_relocate_section): Handle TLS relocations. * reloc.c: Add Alpha TLS relocations. * bfd-in2.h, libbfd.h: Rebuild. gas/ * expr.h (operatorT): Add O_md17..O_md32. * config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd, O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel, O_tprelhi, O_tprello, O_tprel): New. (USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them. (DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New. (LITUSE_TLSGD, LITUSE_TLSLDM): New. (struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld, saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field. (md_apply_fix3): Handle TLS relocations. (alpha_force_relocation, alpha_fix_adjustable): Likewise. (alpha_adjust_symtab_relocs): Sort LITERAL relocs after the associated TLS reloc. Check lituse_tls relocs match up. (emit_insn): Handle TLS relocations. (ldX_op): Remove. gas/testsuite/ * gas/alpha/elf-tls-1.s, gas/alpha/elf-tls-1.d: New. * gas/alpha/elf-tls-2.s, gas/alpha/elf-tls-1.l: New. * gas/alpha/elf-tls-3.s, gas/alpha/elf-tls-1.l: New. * gas/alpha/alpha.exp: Run them.
2002-05-30 * config/tc-mips.c (mips_gprel_offset): New variable.Thiemo Seufer2-1/+7
(s_gpvalue): Use it.
2002-05-30d10v fixes.Tom Rix2-72/+77
2002-05-30Some d10v gas tests.Tom Rix79-0/+5593
2002-05-28 * config/tc-mips.c: Replace GP in comments by $gp.Thiemo Seufer2-67/+94
(mips_big_got): Initialize. (mips_trap): Initialize. (load_address): Use mips_gp_register instead of hardcoded value. Remove dbl parameter, use HAVE_32BIT_ADDRESSES instead. (macro): Use mips_gp_register instead of hardcoded value. (macro2): Change load_address calls. (md_pcrel_from): Comment formatting. (s_cpload): Use mips_gp_register instead of hardcoded value. (s_cprestore): Likewise. Comment formatting. (s_gpword): Fix data type. (s_cpadd): Use mips_gp_register instead of hardcoded value. (nopic_need_relax): Replace GP in comments by $gp. (mips_elf_final_processing): Better comment.
2002-05-28Add noew about DLX contribution.Nick Clifton2-0/+3
2002-05-28Add DLX targetNick Clifton22-175/+2152
2002-05-27Add missing semicolonNick Clifton2-1/+5
2002-05-26 * config/tc-mips.c (mips_emit_delays): Replace magic constant for RAThiemo Seufer2-62/+96
by the define. Remove superfluous check of mips_opts.mips16. (append_insn): Likewise. Canonicalize variable increments. (macro_build): Canonicalize variable increments. (macro_build_lui): Likewise. (load_register): Likewise. (load_address): Move pointer initialization. (macro): Move pointer to a more local scope. Canonicalize variable increments. Better comments. Replace magic constant for RA by the define. (macro2): Replace magic constant for RA by the define. Canonicalize variable increments. (mips_ip): Canonicalize variable increments. (mips16_ip): Replace magic constant for RA by the define. (my_getSmallParser): Canonicalize variable increments/decrements. (my_getPercentOp): Likewise. (my_getSmallExpression): Likewise. (s_align): Likewise. (s_mipsset): Likewise. (s_cpsetup): Likewise. (s_insn): Remove superfluous check of mips_opts.mips16. (s_mips_stab): Likewise. (mips_handle_align): Canonicalize variable increments. (s_mips_ent): Likewise. (s_mips_end): Add comment.
2002-05-26gas:Jason Thorpe3-121/+113
* configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*. * configure: Regenerate. ld: * configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
2002-05-25 * Makefile.am (OBJS): Depend on ansidecl.h and fopen-same.h.Alan Modra13-20/+112
* 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-24Add a target for i386-netbsdpe.Nick Clifton3-169/+176
2002-05-24New d10v tests.Tom Rix87-19/+791
2002-05-232002-05-23 H.J. Lu <hjl@gnu.org>H.J. Lu3-0/+7
* gas/mips/elf-rel.d: Skip the padding. * gas/mips/elfel-rel.d: Likewise.
2002-05-23Don't match "A-F".H.J. Lu1-1/+1
2002-05-232002-05-23 H.J. Lu <hjl@gnu.org>H.J. Lu4-0/+19
* gas/all/align2.d: New. * gas/all/align2.s: New. * gas/all/gas.exp: Run align2.
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek18-24/+560
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-05-23For the Thumb BLX reloc round the relocation up rather than down.Nick Clifton2-13/+16
2002-05-23Silently ignore an 'a' flag in a COFF .section directive.Nick Clifton3-17/+28
2002-05-23 * config/tc-alpha.c (assemble_tokens): Protect use ofAlan Modra2-1/+7
ALPHA_RELOC_TABLE with #ifdef RELOC_OP_P.