aboutsummaryrefslogtreecommitdiff
path: root/gas
AgeCommit message (Collapse)AuthorFilesLines
2002-09-302002-09-29 H.J. Lu <hjl@gnu.org>H.J. Lu2-2/+19
* config/tc-mips.c (md_apply_fix3): Subtract the symbol value twice if howto->pcrel_offset is true.
2002-09-28* config/tc-vax.c (md_estimate_size_before_relax): Only try toJason Thorpe2-7/+13
convert undefined references to GOT32/PLT32 if PIC code is requested. Fix comment.
2002-09-282002-09-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>Daniel Jacobowitz6-0/+47
* config/tc-sh.c (sh_force_relocation): Return 0 for some PC relative relocations when not relaxing. * testsuite/gas/sh/pcrel2.s: New. * testsuite/gas/sh/pcrel2.d: New. * testsuite/gas/sh/basic.exp: Add pcrel2 test.
2002-09-27* gas/vax/elf-rel.[ds]: New test.Jason Thorpe4-2/+87
* gas/vax/quad.exp: Move contents to... * gas/vax/vax.exp: ...here. New file.
2002-09-27bfd/Jakub Jelinek2-4/+36
* reloc.c: Add x86-64 TLS relocs. * bfd-in2.h, libbfd.h: Rebuilt. * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit relocs. Add TLS relocs. (x86_64_reloc_map): Add TLS relocs. (elf64_x86_64_info_to_howto): Adjust for added TLS relocs. (struct elf64_x86_64_link_hash_entry): Add tls_type field. (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define. (elf64_x86_64_hash_entry): Define. (struct elf64_x86_64_obj_tdata): New. (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define. (struct elf64_x86_64_link_hash_table): Add tls_ld_got. (link_hash_newfunc): Initialize tls_type. (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got. (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary. (elf64_x86_64_mkobject): New. (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata. (elf64_x86_64_tls_transition): New. (elf64_x86_64_check_relocs): Add r_type variable and use it. Handle TLS relocs. (elf64_x86_64_gc_sweep_hook): Handle TLS relocs. (allocate_dynrelocs): Allocate GOT space for TLS relocs. (elf64_x86_64_size_dynamic_sections): Likewise. (dtpoff_base, tpoff): New. (elf64_x86_64_relocate_section): Handle TLS relocs. (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT entries. (bfd_elf64_mkobject): Define. * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set DF_STATIC_TLS if shared. gas/ * config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add @tlsld. (md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD, BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF. (tc_gen_reloc): Handle x86-64 TLS relocs. include/ * elf/x86-64.h: Add TLS relocs. ld/testsuite/ * lib/ld-lib.exp (run_ld_link_tests): Add. * ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff, file_contents): Remove. (sh64tests): Add 6th field to the tests array. * ld-i386/i386.exp (run_ld_link_tests): Remove. * ld-x86-64/x86-64.exp: New. * ld-x86-64/tlsbin.dd: New test. * ld-x86-64/tlsbinpic.s: New test. * ld-x86-64/tlsbin.rd: New test. * ld-x86-64/tlsbin.s: New test. * ld-x86-64/tlsbin.sd: New test. * ld-x86-64/tlsbin.td: New test. * ld-x86-64/tlslib.s: New test. * ld-x86-64/tlspic1.s: New test. * ld-x86-64/tlspic2.s: New test. * ld-x86-64/tlspic.dd: New test. * ld-x86-64/tlspic.rd: New test. * ld-x86-64/tlspic.sd: New test. * ld-x86-64/tlspic.td: New test.
2002-09-272002-09-27 H.J. Lu <hjl@gnu.org>H.J. Lu5-1/+21
* gas/mips/mips-jalx.s: Add ".p2align 4". * gas/mips/mips16-jalx.s: Likewise. * gas/mips/mips-jalx.d: Check nop. * gas/mips/mips16-jalx.d: Likewise.
2002-09-27 * config/tc-avr.c (md_apply_fix3): Reinstate code handling pcrelAlan Modra2-0/+16
fixups to current or absolute section.
2002-09-26Fix v850 .offset pseudo-opJim Wilson2-5/+10
* config/tc-v850.c (v850_offset): Use frag_var instead of frag_now_fix and frag_more.
2002-09-26 /gas/ChangeLogThiemo Seufer10-5/+59
* config/tc-mips.c (CPU_HAS_MIPS16): Add mips-lsi-elf as MIPS16 capable configuration. (macro_build): Check for MIPS16 capability, not for actual MIPS16 code generation. (mips_ip): Likewise. /gas/testsuite/ChangeLog * gas/mips/mips-jalx.d: New file, check jalx assembly. * gas/mips/mips-jalx.s: Likewise. * gas/mips/mips-no-jalx.l: Likewise. * gas/mips/mips-no-jalx.s: Likewise. * gas/mips/mips16-jalx.d: Likewise. * gas/mips/mips16-jalx.s: Likewise. * gas/mips/mips.exp: Add new tests. /opcodes/ChangeLog: * mips-dis.c (print_insn_mips): Always allow disassembly of 32-bit jalx opcode.
2002-09-26 * config/tc-mips.c (append_insn): Fix jump overflow check.Thiemo Seufer5-10/+18
* gas/mips/jal-range.s: Fix jump overflow check. * gas/mips/jal-range.l: Likewise.
2002-09-24 * config/tc-i386.c (process_operands): Warn about "lea" segmentAlan Modra2-9/+15
overrides.
2002-09-23Add LDM and STM instructions which are unpredictable because of their use ofNick Clifton3-0/+14
the writeback bit.
2002-09-23* write.c: Delete set_segment_vma and prototype. Update all callers.DJ Delorie2-25/+4
2002-09-21 * config/tc-i386.c (md_apply_fix3): Replace S_IS_EXTERNAL,Alan Modra5-35/+49
S_IS_WEAK etc. with S_FORCE_RELOC call. Correct comment. Rename "fseg" to "sym_seg". * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate.
2002-09-21Fix UNPREDICATABLE use of writeback in LDM/STM instructions.Nick Clifton3-6/+12
2002-09-20symbols.c (colon): Do not allow symbols to be created in the absolute sectionNick Clifton2-8/+10
if WORKING_DOT_WORD is not defined and new_broken_words would require a new frag to be created.
2002-09-20Do not allow symbols to be created in the absolute section.Nick Clifton2-1/+12
2002-09-20 * expr.c (expr): Simplify foo-foo here.Alan Modra2-31/+19
(clean_up_expression): Remove O_subtract code.
2002-09-19 * write.h (struct fix): Add fx_dot_value.Alan Modra4-1/+22
(dot_value): Declare. * write.c (dot_value): New var. (fix_new_internal): Save dot_value as fx_dot_value. * expr.c (expr): Update dot_value.
2002-09-19bfd/Jakub Jelinek7-16/+77
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Add. * bfd-in2.h, libbfd.h: Rebuilt. * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE and R_386_TLS_GOTIE. (elf_i386_reloc_type_lookup): Handle it. (struct elf_i386_link_hash_entry): Change tls_type type to unsigned char instead of enum, change GOT_* into defines. (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define. (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE. (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is accessed both as normal and TLS symbol. Move R_386_TLS_LDM and R_386_PLT32 cases so that R_386_TLS_IE can fall through. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if tls_type is GOT_TLS_IE_BOTH. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE. Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch all 4 GOT_TLS_* TLS types. gas/ * config/tc-i386.c (tc_i386_fix_adjustable): Handle BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE. (BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0 if not defined. (lex_got): Handle @GOTNTPOFF and @INDNTPOFF. (md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE. gas/testsuite/ * gas/i386/tlspic.s: Add tests. * gas/i386/tlspic.d: Regenerated. * gas/i386/tlsnopic.s: Add tests. * gas/i386/tlsnopic.d: Regenerated. include/ * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): Define. ld/testsuite/ * ld-i386/i386.exp: New. * ld-i386/tlsbin.dd: New test. * ld-i386/tlsbinpic.s: New test. * ld-i386/tlsbin.rd: New test. * ld-i386/tlsbin.s: New test. * ld-i386/tlsbin.sd: New test. * ld-i386/tlsbin.td: New test. * ld-i386/tlslib.s: New test. * ld-i386/tlsnopic1.s: New test. * ld-i386/tlsnopic2.s: New test. * ld-i386/tlsnopic.dd: New test. * ld-i386/tlsnopic.rd: New test. * ld-i386/tlsnopic.sd: New test. * ld-i386/tlspic1.s: New test. * ld-i386/tlspic2.s: New test. * ld-i386/tlspic.dd: New test. * ld-i386/tlspic.rd: New test. * ld-i386/tlspic.sd: New test. * ld-i386/tlspic.td: New test.
2002-09-19 * config/tc-alpha.c (md_pcrel_from): Only adjust special forRichard Henderson6-9/+66
branch type relocs. (alpha_force_relocation): Don't special-case branch type relocs. * gas/alpha/elf-reloc-7.s: New. * gas/alpha/elf-reloc-7.d: New. * gas/alpha/alpha.exp: Run it.
2002-09-19Handle situation where architecture has not yet been selected.Nick Clifton2-0/+10
2002-09-18[ gas/ChangeLog ]Chris Demetriou1-0/+1
2002-09-18 Chris Demetriou <cgd@broadcom.com> * config/tc-mips.c (md_apply_fix3): Just return for BFD_RELOC_8. [ gas/testsuite/ChangeLog ] 2002-09-18 Chris Demetriou <cgd@broadcom.com> * gas/mips/baddata1.s: New file. * gas/mips/baddata1.l: New file. * gas/mips/mips.exp: Run new test.
2002-09-18[ gas/ChangeLog ]Chris Demetriou6-16/+268
2002-09-18 Chris Demetriou <cgd@broadcom.com> * config/tc-mips.c (IS_SEXT_32BIT_NUM): Move closer to top of file. (IS_SEXT_16BIT_NUM): New macro. (macro_build_ldst_constoffset): New function, to build a set of instructions to do a load or store from a constant offset relative to a given register. (macro, s_cprestore): Use macro_build_ldst_constoffset to implement .cprestore pseudo-op. [ gas/testsuite/ChangeLog ] 2002-09-18 Chris Demetriou <cgd@broadcom.com> * gas/mips/mips-abi32-pic2.s: New file. * gas/mips/mips-abi32-pic2.d: New file. * gas/mips/mips.exp: Run new test. [ plus, fixed date on prev. gas/testsuite/ChangeLog entry. ]
2002-09-18[ gas/ChangeLog ]Chris Demetriou5-0/+27
2002-09-18 Chris Demetriou <cgd@broadcom.com> * config/tc-mips.c (md_apply_fix3): Just return for BFD_RELOC_8. [ gas/testsuite/ChangeLog ] 2002-09-18 Chris Demetriou <cgd@broadcom.com> * gas/mips/baddata1.s: New file. * gas/mips/baddata1.l: New file. * gas/mips/mips.exp: Run new test.
2002-09-18[ gas/testsuite/ChangeLog ]Chris Demetriou6-0/+125
2002-09-18 Chris Demetriou <cgd@broadcom.com> * gas/mips/branch-misc-1.d: New file. * gas/mips/branch-misc-1.s: New file. * gas/mips/branch-misc-2.s: New file. * gas/mips/branch-misc-2.d: New file. * gas/mips/mips.exp: Run new tests. [ ld/testsuite/ChangeLog ] 2002-09-18 Chris Demetriou <cgd@broadcom.com> * ld-mips-elf/branch-misc-1.d: New file. * ld-mips-elf/branch-misc-2.d: New file. * ld-mips-elf/mips-elf.exp: Run new tests.
2002-09-18 * config/tc-mips.c (s_change_section): Fix parsing. Code cleanup.Thiemo Seufer2-8/+10
2002-09-18 * tc-mips.c (load_address): Use BFD_RELOC_MIPS_GOT_DISP for newabi.Stan Cox2-44/+94
(macro): Likewise for la. Likewise for ld. (mips_after_parse_args): Make -xgot optional, not the default. (md_apply_fix3): Allow composite relocation to set up gp. (tc_gen_reloc): Allow relaxing for newabi. Relax R_MIPS_CALL16 to R_MIPS_GOT_PAGE/R_MIPS_GOT_OFST if local. Relax R_MIPS_GOT16/R_MIPS_LO16 to R_MIPS_GOT_DISP if local.
2002-09-17Note that an implemented BFD_RELOC_ARM_IMMEDIATE has been done.Nick Clifton2-6/+41
Do not issue reloc number of unimplemented BFD_RELOC_ARM_IMMEDIATE and BFD_RELOC_ARM_OFFSET_IMM relocs - their name is already in the error message - plus remove them from the default case. Warn about unpredictable behavior of LDM and STM instructions.
2002-09-172002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>Thiemo Seufer4-0/+17
* gas/mips/jal-range.s: Check for jal overflows. * gas/mips/jal-range.l: List file for it. * gas/mips/mips.exp: Use it.
2002-09-17 * config/tc-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.Alan Modra2-65/+240
Convert functions to K&R format.
2002-09-17 * config/tc-mips.c (pdr_seg): Define only for ELF.Thiemo Seufer2-4/+12
(s_change_section): Remove unused variable. Don't use for nonELF.
2002-09-17 * config/obj-elf.c (obj_elf_change_section): Move prototype toThiemo Seufer3-2/+8
obj-elf.h * config/obj-elf.h (obj_elf_change_section): Likewise.
2002-09-17 * dwarf2dbg.c (out_debug_abbrev): Add support for the DW_AT_name field.Richard Henderson2-0/+16
(out_debug_info): Likewise.
2002-09-172002-09-16 Bruno Haible <bruno@clisp.org>David O'Brien4-3/+25
* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included by a target variant implementation. * elf64-alpha.c: Likewise. * elf32-i386-fbsd.c: New file. * elf64-alpha-fbsd.c: New file. * targets.c: Support bfd_elf32_i386_freebsd_vec and bfd_elf64_alpha_freebsd_vec. * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec, bfd_elf64_alpha_freebsd_vec. * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo. (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c. (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo. (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c. (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies. * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate. * config/tc-i386.h (ELF_TARGET_FORMAT): New macro. (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386". * config/tc-i386.c (i386_target_format): Likewise. * config/tc-alpha.h (ELF_TARGET_FORMAT): New macro. (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha". * emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to elf32-i386-freebsd. * emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to elf64-alpha-freebsd. Approved by: Alan Modra <amodra@bigpond.net.au> Message-ID: <20020715021113.GJ30362@bubble.sa.bigpond.net.au>
2002-09-13Do not count FAKE operands when deciding if any operands have been skipped.Nick Clifton2-1/+14
2002-09-11New TI port supports both C4x and C3x series of DSPs.Nick Clifton2-2/+4
2002-09-11Update translationsNick Clifton2-1655/+2724
2002-09-11 * config/tc-i386.c (md_apply_fix3): Allow addend forJakub Jelinek2-3/+6
BFD_RELOC_386_TLS_LDO_32, BFD_RELOC_386_TLS_LE and BFD_RELOC_386_TLS_LE_32.
2002-09-09 * config/tc-hppa.c (md_apply_fix3): Don't set fx_done forJeff Law3-4/+11
marker relocations such as ENTRY/EXIT. * config/tc-hppa.h (MD_APPLY_SYM_VALUE): Definition applies to both OBJ_ELF and OBJ_SOM.
2002-09-092002-09-08 Ben Elliston <bje@redhat.com>Ben Elliston13-23/+26
* gas/hppa/basic/basic.exp: Update DejaGnu mail address. * gas/hppa/parse/parse.exp: Likewise. * gas/hppa/reloc/reloc.exp: Likewise. * gas/hppa/unsorted/unsorted.exp: Likewise. * gas/mn10200/basic.exp: Likewise. * gas/mn10300/basic.exp: Likewise. * gas/sh/basic.exp: Likewise. * gas/sh/sh64/sh64.exp: Likewise. * gas/v850/basic.exp: Likewise. * lib/gas-defs.exp: Likewise. * gas/all/gas.exp: Removing limping support for DejaGnu 1.1.1. * gasp/gasp.exp: Likewise.
2002-09-06correct entryAlan Modra1-3/+2
2002-09-05 * gas/i386/absrel.s: New.Alan Modra12-18/+252
* gas/i386/absrel.d: New. * gas/i386/pcrel.s: New. * gas/i386/pcrel.d: New. * gas/i386/i386.exp: Run them. * gas/testsuite/gas/mmix/comment-1.d: Don't test the symbol index, the name will do. * gas/mri/moveml.d: Escape dots. * gas/macros/macros.exp (strings): Add rs6000-*-* to xfails. * gas/mips/beq.s: Don't make text_label global. * gas/mips/mips32.s: Likewise. * gas/mips/mips64-mips3d.s: Likewise.
2002-09-05gas reloc rewrite.Alan Modra95-1786/+1801
2002-09-04 * config/tc-ppc.c (ppc_frob_symbol): Formatting, warning fix.Alan Modra2-36/+40
(ppc_fix_adjustable <coff version>): Cleanup.
2002-09-04 * config/tc-ppc.c (PPC_HIGHER, PPC_HIGHEST): Fix warning.Alan Modra2-6/+26
(md_parse_option): No -a64 without BFD64. (ppc_set_cpu): Select appropriate cpu when ppc_obj64. (ppc_arch): Use bfd_mach_rs6k for bfd_arch_rs6000.
2002-09-04Do not insert non-BookE32 instructions into the hash table if the target cpuNick Clifton2-0/+13
is the BookE32. (case 107575)
2002-08-31 * read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, notHans-Peter Nilsson2-1/+6
ATTRIBUTE_UNUSED.
2002-08-29Add linker relaxation to v850 toolchainNick Clifton4-25/+142
2002-08-28Add TMS320C4x supportNick Clifton8-171/+2920