2007-10-10 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 690c46d8ba27f4c8d736c4f90cbc68fcfd06aa91..9e8ffad0deb904e18cb8aed44f83ef302729e097 100644 (file)
@@ -1,3 +1,172 @@
+2007-10-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (get_program_header_size): Always add a PT_GNU_RELRO
+       segment for -z relro.
+       (_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
+       segment only when needed.
+
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (relax_section): Call pin_internal_relocs when
+       changing a relocation's offset.  Adjust call to translate_reloc.  Do
+       not add a fix record for a DIFF reloc.  For other relocs, only add a
+       fix record if the translated target is in a different object file;
+       otherwise, just update the relocation.  Call pin_internal_relocs when
+       updating a reloc but not when adding a fix record.
+       (translate_reloc): Get the target section from a new argument, not
+       from the relocation.  Change check for relaxable sections to an
+       assertion.  Compute separate offset adjustments for the base symbol
+       and the addend, and set the new relocation's addend correctly.  Return
+       the new target section.
+       
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
+       r_type and howto after calling do_fix_for_relocateable_link and
+       do_fix_for_final_link.
+       
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (removed_by_actions): New.
+       (offset_with_removed_text): Reimplement using removed_by_actions.
+       (offset_with_removed_text_before_fill): Delete.
+       (relax_property_section): Use removed_by_actions.  Rearrange logic.
+       (relax_section_symbols): Likewise.
+       
+2007-10-04  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
+       (reloc_bfd_fix_init): Remove target_abfd argument.
+       (relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
+
+2007-10-04  Nick Clifton  <nickc@redhat.com>
+
+       PR linker/5099
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
+       apostrophe to error message.
+
+2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+       * elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
+       final relocation phase.
+       Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
+       * reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
+       R_CR16_SWITCH16, R_CR16_SWITCH32.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2007-09-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c: Formatting.
+
+2007-09-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
+       sections.  Don't test symbol st_shndx.  Don't bother with
+       bfd_link_hash_common symbols.  Print longs rather than ints
+       in debug messages.
+       (eval_symbol): Replace "sym" and "advanced" params with "symp".
+       Replace "addr" and "section_offset" params with "dot".  Don't
+       cast bfd_vma values to signed, cast them to bfd_signed_vma.
+       (bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
+       "local_syms" and "local_sections" params.  Add "relocation".
+       Delete code calculating relocation value.
+       (evaluate_complex_relocation_symbols): Delete function.  Fold into..
+       (elf_link_input_bfd): ..existing code examining relocs.
+       * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
+       * elf32-mep.c (mep_elf_check_relocs): Delete function.
+       (mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
+       (mep_elf_object_p): Don't set elf_bad_symtab.
+       (elf_backend_check_relocs): Don't define.
+       (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
+       (elf_backend_can_gc_sections, USE_RELA): Likwise.
+       (mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
+       call after we have calculated reloc value.  Delete local sym
+       debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
+       adjusting code..
+       (elf_backend_rela_normal): ..instead define this.
+
+2007-09-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
+       * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+       * elf32-avr.c (elf32_avr_check_relocs): Likewise.
+       * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
+       * elf32-cris.c (cris_elf_check_relocs): Likewise.
+       * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
+       * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
+       * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
+       * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
+       (elf32_frv_check_relocs): Likewise.
+       * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
+       * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
+       * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+       * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
+       * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
+       * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
+       * elf32-mt.c (mt_elf_check_relocs): Likewise.
+       * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
+       * elf32-sh.c (sh_elf_check_relocs): Likewise.
+       * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
+       * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+       * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
+       (score_elf_local_relocation_p): Likewise.
+       (_bfd_score_elf_relocate_section): Likewise.
+       (score_elf_final_link_relocate): Likewise.
+
+2007-09-26  Jan Beulich  <jbeulich@novell.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
+       check for R_386_GNU_VTINHERIT.
+       * elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
+       pointer for R_xxx_GNU_VTENTRY.
+       * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+       * elf32-bfin.c (bfin_check_relocs): Likewise.
+       (bfinfdpic_check_relocs): Likewise.
+       * elf32-cris.c (cris_elf_check_relocs): Likewise.
+       * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
+       * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
+       * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
+       * elf32-frv.c (elf32_frv_check_relocs): Likewise.
+       * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
+       * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
+       * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+       * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
+       * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+       * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
+       * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
+       * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
+       * elf32-s390.c (elf_s390_check_relocs): Likewise.
+       * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
+       * elf32-sh.c (sh_elf_check_relocs): Likewise.
+       * elf32-v850.c (v850_elf_check_relocs): Likewise.
+       * elf32-vax.c (elf_vax_check_relocs): Likewise.
+       * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
+       * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
+       * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
+       * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+       * elf64-s390.c (elf_s390_check_relocs): Likewise.
+       * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+
+2007-09-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (set_symbol_value): Add isymbuf and locsymcount
+       params.  Change symidx to a size_t.  Don't access past end
+       of symbol buffer.
+       (resolve_symbol): Add isymbuf param and use instead of
+       finfo->internal_syms.
+       (eval_symbol, evaluate_complex_relocation_symbols): Likewise.
+       (elf_link_input_bfd): Don't read symbols specially for
+       evaluate_complex_relocation_symbols.
+
+2007-09-26  Tristan Gingold  <gingold@adacore.com>
+
+       * som.c (som_get_reloc_upper_bound): If there are no relocs return
+       enough space to hold a NULL pointer.
+
 2007-09-26  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
This page took 0.095432 seconds and 4 git commands to generate.