aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2003-01-24 * bfd-in2.h: Regenerate.Martin Schwidefsky6-124/+1662
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition, s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions. (elf_howto_table): Add TLS relocs. (elf_s390_reloc_type_lookup): Likewise. (elf_s390_link_hash_entry): Add tls_type. (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type): New macros. (elf_s390_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Initialize tls_type. (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got. (elf_s390_copy_indirect_symbol): Copy tls_type information. (elf_s390_check_relocs): Support TLS relocs. (elf_s390_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_s390_size_dynamic_sections): Likewise. (elf_s390_relocate_section): Likewise. (elf_s390_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject): Define for TLS. * elf64-s390.c: Same changes as for elf32-s390.c. * libbfd.h: Regenerate. * reloc.c: Add s390 TLS relocations.
2003-01-24 Fix name of --enable-install-libbfd switch.Nick Clifton2-1/+5
2003-01-23daily updateAlan Modra1-1/+1
2003-01-23Add SH2E supportNick Clifton5-22/+51
2003-01-23include/elf/ChangeLogAlan Modra18-120/+411
* sh.h: Split out various bits to bfd/elf32-sh64.h. include/opcode/ChangeLog * m68hc11.h (cpu6812s): Define. bfd/ChangeLog * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change dynindx to an int. Rearrange for better packing. * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done. * elf32-mips.c (bfd_elf32_new_section_hook): Define. * elf32-sh64.h: New. Split out from include/elf/sh.h. (struct _sh64_elf_section_data): New struct. (sh64_elf_section_data): Don't dereference sh64_info (was tdata). * elf32-sh64-com.c: Include elf32-sh64.h. * elf32-sh64.c: Likewise. (sh64_elf_new_section_hook): New function. (bfd_elf32_new_section_hook): Define. (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change. (sh64_bfd_elf_copy_private_section_data): Likewise. (sh64_elf_final_write_processing): Likewise. * elf32-sparc.c (struct elf32_sparc_section_data): New. (elf32_sparc_new_section_hook): New function. (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. (sec_do_relax): Define. (elf32_sparc_relax_section): Adjust to use sec_do_relax. (elf32_sparc_relocate_section): Likewise. * elf64-mips.c (bfd_elf64_new_section_hook): Define. * elf64-mmix.c (struct _mmix_elf_section_data): New. (mmix_elf_section_data): Define. Use throughout file. (mmix_elf_new_section_hook): New function. (bfd_elf64_new_section_hook): Define. * elf64-ppc.c (struct _ppc64_elf_section_data): New. (ppc64_elf_section_data): Define. Use throughout. (ppc64_elf_new_section_hook): New function. (bfd_elf64_new_section_hook): Define. * elf64-sparc.c (struct sparc64_elf_section_data): New. (sparc64_elf_new_section_hook): New function. (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. (sec_do_relax): Define. (sparc64_elf_relax_section): Adjust to use sec_do_relax. (sparc64_elf_relocate_section): Likewise. (bfd_elf64_new_section_hook): Define. * elfn32-mips.c (bfd_elf32_new_section_hook): Define. * elfxx-mips.c (struct _mips_elf_section_data): New. (mips_elf_section_data): Define. Use throughout. (_bfd_mips_elf_new_section_hook): New function. (mips_elf_create_got_section): Don't alloc used_by_bfd. * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare. * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. opcodes/ChangeLog * sh64-dis.c: Include elf32-sh64.h. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. gas/ChangeLog * config/tc-sh64.c (shmedia_frob_section_type): Adjust for changed sh64_elf_section_data. * config/tc-sh64.h: Include elf32-sh64.h. * config/tc-m68hc11.c: Don't include stdio.h. (md_show_usage): Fix missing continuation. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. ld/ChangeLog * emultempl/sh64elf.em: Include elf32-sh64.h. (sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed sh64_elf_section_data. (sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
2003-01-22daily updateAlan Modra1-1/+1
2003-01-22 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.Richard Henderson2-31/+104
(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value. (elf64_alpha_adjust_dynamic_symbol): Set them. (elf64_alpha_size_plt_section_1): Reset them when plt entry removed. (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the symbol index when relaxing LDM to TPREL. (elf64_alpha_relax_section): Likewise. Allow relaxation of GD relocs, even if the target isn't locally defined. (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero. (elf64_alpha_relocate_section): Likewise. Force TP-relative relocs vs symndx 0 to the tp base.
2003-01-21daily updateAlan Modra1-1/+1
2003-01-21Add support for i386-*-aros triple.Nick Clifton2-0/+7
2003-01-21 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.Andreas Schwab2-11/+343
(struct ppc_elf_link_hash_entry): Define. (ppc_elf_hash_entry): New function. (struct ppc_elf_link_hash_table): Define. (ppc_elf_hash_table): New function. (ppc_elf_link_hash_newfunc): New function. (ppc_elf_link_hash_table_create): New function. (ppc_elf_copy_indirect_symbol): New function. (allocate_dynrelocs): New function. (readonly_dynrelocs): New function. (ppc_elf_size_dynamic_sections): Allocate space for dynamic relocs and determine DT_TEXTREL. (ppc_elf_check_relocs): Don't do that here, just count the dynamic relocs. (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the removed section. (bfd_elf32_bfd_link_hash_table_create): Define. (elf_backend_copy_indirect_symbol): Define.
2003-01-21 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL andRichard Henderson2-119/+120
TPREL also get a reloc if shared. Remove SREL support. (elf64_alpha_emit_dynrel): New. (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL and GOTTPREL relocs to local symbols against the tp base. (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel. * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got use count before clobbering r_type. (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn ordering would mean dataflow inspection is necessary.
2003-01-20daily updateAlan Modra1-1/+1
2003-01-20Updates for fixing tic4x arch tagging of its object files.Svein Seldal2-0/+7
* bfd/coffcode.h (coff_set_flags): Added get/set arch hooks. * include/coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug * include/coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros * ld/Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o * ld/Makefile.in: Regenerate * ld/configure.tgt: Added extra target emulations * ld/emulparams/tic3xcoff.sh: Remove old settings * ld/emulparams/tic4xcoff.sh: Ditto * ld/emulparams/tic3xcoff-onchip.sh: Added new * ld/scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x * ld/scripttempl/tic3xcoff.sc: Remove
2003-01-20Treat elfNN_bed like other macros defined in elfxx-target.h and #undef itNick Clifton5-109/+108
before #define'ing it.
2003-01-20 * bfd-in2.h: Regenerate.Martin Schwidefsky6-268/+831
* elf32-s390.c (elf_s390_adjust_gotplt): New prototype. (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16, R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16, R_390_PLTOFF32 and R_390_PLTOFF64. (elf_s390_reloc_type_lookup): Likewise. (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track of GOTPLT references to a function. (link_hash_newfunc): Initialize gotplt_refcount. (elf_s390_check_relocs): Move allocation of local_got_refcounts array and creation of the got section out of the main switch. Add support for the gotoff, gotplt and pltoff relocations. (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt and pltoff. (elf_s390_adjust_gotplt): New function. (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed plt entries. (allocate_dynrelocs): Add comment. (elf_s390_relocate_section): Change r_type to unsigned. Add support for gotoff, gotplt and pltoff relocations. * elf64-s390.c: Same changes as for elf32-s390.c. * libbfd.h: Regenerate. * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12, BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64, BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32 and BFD_RELOC_390_PLTOFF64.
2003-01-18daily updateAlan Modra1-1/+1
2003-01-17 * elfxx-ia64.c (elfNN_ia64_relocate_section): HandleJakub Jelinek2-4/+18
R_IA64_TPREL64[LM]SB against non-global symbol properly. * ld-ia64/tlspic1.s: Add tests for IE in shared libraries. * ld-ia64/tlspic.rd: Adjust. * ld-ia64/tlspic.dd: Adjust. * ld-ia64/tlspic.sd: Adjust.
2003-01-17daily updateAlan Modra1-1/+1
2003-01-16daily updateAlan Modra1-1/+1
2003-01-16 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): AddJakub Jelinek2-6/+51
self_dtpmod_done and self_dtpmod_offset. (allocate_global_data_got): Only use one got entry for all dtpmod relocs against local symbols. (allocate_dynrel_entries): Only need .rela.got entry for dtpmod against global symbol. (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset. Reserve space in .rela.got for the local dtpmod entry. (set_got_entry): Initialize the common local dtpmod .got entry. (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB and R_IA_64_DTPREL64MSB. * config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data. * ld-ia64/ia64.exp: New. * ld-ia64/tlsbin.dd: New test. * ld-ia64/tlsbinpic.s: New test. * ld-ia64/tlsbin.rd: New test. * ld-ia64/tlsbin.s: New test. * ld-ia64/tlsbin.sd: New test. * ld-ia64/tlsbin.td: New test. * ld-ia64/tlsg.s: New test. * ld-ia64/tlsg.sd: New test. * ld-ia64/tlslib.s: New test. * ld-ia64/tlspic1.s: New test. * ld-ia64/tlspic2.s: New test. * ld-ia64/tlspic.dd: New test. * ld-ia64/tlspic.rd: New test. * ld-ia64/tlspic.sd: New test. * ld-ia64/tlspic.td: New test.
2003-01-16 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.Alan Modra5-64/+85
(R_PPC_*): Rename all occurrences to R_PPC64_*. (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30. (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type. (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other relative relocs, not with absolute ones. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Regenerate.
2003-01-15daily updateAlan Modra1-1/+1
2003-01-15 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for aAndreas Schwab2-2/+7
relocation against a non-allocated readonly section.
2003-01-14daily updateAlan Modra1-1/+1
2003-01-13daily updateAlan Modra1-1/+1
2003-01-12daily updateAlan Modra1-1/+1
2003-01-11daily updateAlan Modra1-1/+1
2003-01-10daily updateAlan Modra1-1/+1
2003-01-09daily updateAlan Modra1-1/+1
2003-01-09 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.Alan Modra3-8/+17
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
2003-01-092002-01-08 Klee Dienes <kdienes@apple.com>Klee Dienes3-4/+10
* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c. (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c. * Makefile.in: Regenerate.
2003-01-08daily updateAlan Modra1-1/+1
2003-01-08* elfn32-mips.c (prev_reloc_section): New.Alexandre Oliva2-12/+21
(GET_RELOC_ADDEND): Use it. Parenthesize macro arguments. (SET_RELOC_ADDEND): Parenthesize macro argument.
2003-01-08 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,Dave Anglin2-7/+11
adjust addil instructions if the symbol has no section.
2003-01-07daily updateAlan Modra1-1/+1
2003-01-07* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 notDJ Delorie2-1/+6
partial_inplace.
2003-01-07 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL forAndreas Schwab2-6/+34
PC relative relocations. (elf_m68k_discard_copies): Set it here instead.
2003-01-06daily updateAlan Modra1-1/+1
2003-01-05daily updateAlan Modra1-1/+1
2003-01-04daily updateAlan Modra1-1/+1
2003-01-03daily updateAlan Modra1-1/+1
2003-01-03 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.Stan Cox13-3/+1109
(ALL_MACHINES_CFILES): Add cpu-iq2000.c. (BFD32_BACKENDS): Add elf32-iq2000.lo. (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c. (cpu-iq2000.lo): New target. * Makefile.in: Regenerate. * config.bfd: Handle iq2000-*-elf. * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000. (bfd_archures_list): Add bfd_iq2000_arch. * configure.in: Handle bfd_elf32_iq2000_vec. * configure: Regenerate. * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21, and BFD_RELOC_IQ2000_UHI16. * targets.c (bfd_elf32_iq2000_vec): Declare. (bfd_target_vector): Add bfd_elf32_iq2000_vec. * elf.c (prep_headers): Set e_machine to EM_IQ2000. * cpu-iq2000.c: New file. * elf32-iq2000.c: Likewise. * libbfd.h: Regenerate. * bfd-in2.h: Likewise.
2003-01-03oops - omitted from previous delta - a reworking of the linker relaxation code.Nick Clifton1-740/+717
2003-01-02daily updateAlan Modra1-1/+1
2003-01-02bfd/Richard Sandiford2-110/+167
* elfxx-mips.c: Include libiberty.h. (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove. (mips_set_isa_flags): New function, split out from... (_bfd_mips_elf_final_write_processing): ...here. Only call mips_set_isa_flags if the EF_MIPS_MACH bits are clear. (mips_mach_extensions): New array. (mips_32bit_flags_p): New function. (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks. Use mips_32bit_flags_p to check if one binary is 32-bit and the other is 64-bit. When adopting IBFD's architecture, adopt the bfd_mach as well as the flags. ld/testsuite/ * ld-mips-elf/jr.s: New file. * ld-mips-elf/mips-elf-flags.exp: New test.
2003-01-02Rework IP2k linker relxation.Nick Clifton1-0/+8
2003-01-01daily updateAlan Modra1-1/+1
2002-12-31daily updateAlan Modra1-1/+1
2002-12-31[ bfd/ChangeLog ]Chris Demetriou6-2/+36
2002-12-30 Chris Demetriou <cgd@broadcom.com> * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case. * archures.c (bfd_mach_mipsisa32r2): New define. * bfd-in2.h: Regenerate. * cpu-mips.c (I_mipsisa32r2): New enum value. (arch_info_struct): Add entry for I_mipsisa32r2. * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach) (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2. (_bfd_mips_elf_final_write_processing): Add bfd_mach_mipsisa32r2 case. (_bfd_mips_elf_merge_private_bfd_data): Handle merging of binaries marked as using MIPS32 Release 2. [ binutils/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * doc/binutils.texi (objdump): Note MIPS HWR (Hardware Register) changes in MIPS -M options. [ gas/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * configure.in: Recognize mipsisa32r2, mipsisa32r2el, and CPU variants. * configure: Regenerate. * config/tc-mips.c (ISA_HAS_DROR, ISA_HAS_ROR): New defines. (macro_build): Handle "K" operand. (macro2): Use ISA_HAS_DROR and ISA_HAS_ROR in the places where CPU_HAS_DROR and CPU_HAS_ROR are currently used. (mips_ip): New variable "lastpos", and implement "+A", "+B", and "+C" operands for MIPS32 Release 2 ins/ext instructions. Implement "K" operand for MIPS32 Release 2 rdhwr instruction. (validate_mips_insn): Implement "+" as a way to extend the allowed operands, and implement "K", "+A", "+B", and "+C" operands. (OPTION_MIPS32R2): New define. (md_longopts): Add entry for OPTION_MIPS32R2. (OPTION_ELF_BASE): Adjust to accomodate OPTIONS_MIPS32R2. (md_parse_option): Handle OPTION_MIPS32R2. (s_mipsset): Reimplement handling of ".set mipsN" options and add support for ".set mips32r2". (mips_cpu_info_table): Add entry for "mips32r2" (MIPS32 Release 2). (md_show_usage): Document "-mips32r2" option. * doc/as.texinfo: Document "-mips32r2" option. * doc/c-mips.texi: Likewise. [ gas/testsuite/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * gas/mips/cp0-names-mips32r2.d: New test. * gas/mips/hwr-names-mips32r2.d: New test. * gas/mips/hwr-names-numeric.d: New test. * gas/mips/hwr-names.s: New test source file. * gas/mips/mips32r2.d: New test. * gas/mips/mips32r2.s: New test source file. * gas/mips/mips32r2-ill.l: New test. * gas/mips/mips32r2-ill.s: New test source file. * gas/mips/mips.exp: Add mips32r2 architecture data array entry. Run new tests mentioned above. [ include/elf/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * mips.h (E_MIPS_ARCH_32R2): New define. [ include/opcode/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * mips.h: Document "+" as the start of two-character operand type names, and add new "K", "+A", "+B", and "+C" operand types. (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB) (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New defines. [ opcodes/ChangeLog ] 2002-12-30 Chris Demetriou <cgd@broadcom.com> * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric) (mips_hwr_names_mips3264r2): New arrays. (mips_arch_choice): New "hwr_names" member. (mips_arch_choices): Adjust for structure change, and add a new entry for "mips32r2" ISA. (mips_hwr_names): New variable. (set_default_mips_dis_options): Set mips_hwr_names. (parse_mips_dis_option): New "hwr-names" option which sets mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names. (print_insn_arg): Change return type to "int" and use that to indicate number of characters consumed. Add support for "+" operand extension character, "+A", "+B", "+C", and "K" operands. (print_insn_mips): Adjust for changes to print_insn_arg. (print_mips_disassembler_options): Adjust for "hwr-names" addition and "reg-names" change. * mips-opc (I33): New define (shorthand for INSN_ISA32R2). (mips_builtin_opcodes): Note that "nop" and "ssnop" are special forms of "sll". Add new MIPS32 Release 2 instructions: ehb, di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2, rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh. Note that hardware rotate instructions (ror, rorv) can be used on MIPS32 Release 2, and add the official mnemonics for them (rotr, rotrv) and the similar "rotl" mnemonic for left-rotate.
2002-12-30daily updateAlan Modra1-1/+1