bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index b05c8eefe6aacbea058d8568efd7df55727977b4..ca4f83fcda979ae0759b984128b8de6f1f718dcd 100644 (file)
@@ -1,3 +1,109 @@
+2007-11-14  Richard Sandiford  <richard@codesourcery.com>
+
+       * elfxx-mips.c (mips_got_page_range): New structure.
+       (mips_got_page_entry): Likewise.
+       (mips_got_info): Add page_gotno and got_page_entries fields.
+       (mips_elf_got_per_bfd_arg): Add max_pages field.  Delete
+       primary_count and current_count fields.
+       (mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
+       (mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
+       (mips_elf_get_got_for_bfd): New function, split out from
+       mips_elf_make_got_per_bfd.  Initialize the page_gotno and
+       got_page_entries fields when creating a new GOT structure.
+       (mips_elf_make_got_pages_per_bfd): New function.
+       (mips_elf_merge_got_with): New function, split out from
+       mips_elf_make_got_per_bfd.  Merge page entries as well as
+       non-page entries.  Use the minimum of max_pages and the sum
+       of the page_gotnos to estimate the number of page entries.
+       (mips_elf_merge_gots): Use the minimum of max_pages and the
+       bfd's page_gotno to estimate the number of page entries.
+       Use the above functions.
+       (mips_elf_multi_got): Add page entries as well as non-page entries
+       to the individual per-bfd GOTs.  Initialize got_per_bfd_arg.max_pages.
+       Initialize the page_gotno and got_page_entries fields when creating
+       a new primary GOT.  Use the minimum of pages and page_gotno when
+       adding the number of pages entries to local_gotno.
+       (mips_elf_create_got_section): Initialize the page_gotno and
+       got_page_entries fields of the GOT structure.
+       (mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
+       (mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
+       functions, split out from...
+       (_bfd_mips_elf_relocate_section): ...here.
+       (_bfd_mips_elf_check_relocs): Record GOT page entries too.
+       (_bfd_mips_relax_section): Use mips_elf_get_section_contents.
+       (_bfd_mips_elf_always_size_sections): Use the smaller of the
+       loadable_size- and page_gotno-derived estimates.
+
+2007-11-14  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
+       unwanted fallthroughs in case statement.
+
+2007-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/5307
+       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
+       copy input subsystem if output is different from input.
+
+2007-11-13  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the
+       accidental termination of DWARF location list entries.
+       (mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc
+       is encountered that is larger than or not a mutliple of the number
+       of bytes being deleted.
+       When adjusting symbols, any symbols inside the region being
+       deleted must be moved to the end of the region.
+       Move align relocs forward if there is room for them after the
+       deletion of the region.
+
+2007-11-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 5233
+       * elf.c (rewrite_elf_program_header): Formatting.  Add
+       first_matching_lma and first_suggested_lma booleans and use
+       instead of testing matching_lma and suggested_lma for zero.
+
+2007-11-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/5299
+       * peicode.h (pe_bfd_object_p): Save and restore previous bfd
+       state when calling coff_object_p.
+
+2007-11-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
+       pointer when we have a valid symbol.  Init udata.p to NULL.
+
+2007-11-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
+       rel_hash.  Move loop inside if test.
+
+2007-11-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
+       (elf_vxworks_finish_dynamic_entry): Declare.
+       * elf-vxworks.c: Include elf/vxworks.h.
+       (elf_vxworks_add_dynamic_entries): New.
+       (elf_vxworks_finish_dynamic_entry): New.
+       * Makefile.am (elf-vxworks.lo): Add dependency.
+       * Makefile.in (elf-vxworks.lo): Add dependency.
+       * elf32-i386.c (elf_i386_size_dynamic_sections,
+       elf_i386_finish_dynamic_sections): Call
+       elf_vxworks_add_dynamic_entries and
+       elf_vxworks_finish_dynamic_entry.
+       * elf32-ppc.c (ppc_elf_size_dynamic_sections,
+       ppc_elf_finish_dynamic_sections): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
+       sparc_finish_dyn): Likewise.
+       * elf32-sh.c (sh_elf_size_dynamic_sections,
+       sh_elf_finish_dynamic_sections): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
+       _bfd_mips_elf_finish_dynamic_sections): Likewise.
+       * elf32-arm.c (elf32_arm_size_dynamic_sections,
+       elf32_arm_finish_dynamic_sections): Likewise.
+
 2007-11-07  Olivier Hainque  <hainque@adacore.com>
 
        * bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force
This page took 0.038471 seconds and 4 git commands to generate.