+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
+ SHF_MIPS_NOSTRIP on .debug_frame for Irix.
+
+2007-11-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
+ (ppc64_elf_gc_sweep_hook): ..or here..
+ (ppc64_elf_tls_optimize): ..or here. Make two passes through the
+ relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
+ (allocate_dynrelocs): Refcount tlsld_got here.
+ (ppc64_elf_size_dynamic_sections): Allocate local got and call
+ allocate_dynrelocs before allocating tlsld_got.
+ (ppc64_elf_relocate_section): Remove check that a tls_get_addr
+ call follows gd and ld relocs.
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
+ (ppc_elf_gc_sweep_hook): ..or here..
+ (ppc_elf_tls_optimize): ..or here. Make two passes through the
+ relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
+ (allocate_dynrelocs): Refcount tlsld_got here.
+ (ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
+ allocating tlsld_got.
+ (ppc_elf_relocate_section): Remove check that a tls_get_addr
+ call follows gd and ld relocs.
+
+2007-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (sec_merge_hash_lookup): Revert last change.
+ (record_section): Likewise.
+ (_bfd_merge_sections): Likewise.
+ (_bfd_merged_section_offset): Properly handle NULL secinfo.
+ (_bfd_add_merge_section): Allocate extra space for a zero
+ terminator on SEC_STRINGS sections.
+
+2007-11-05 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
+ and .bss section use the default.
+ * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2007-11-01 Joseph Myers <joseph@codesourcery.com>
+
+ * merge.c (sec_merge_hash_lookup): Add parameter sec_end. Check
+ for unterminated strings. All callers changed.
+ (record_section): Add parameter abfd. Give error message for
+ unterminated strings.
+ (_bfd_merge_sections): Update call to record_section.
+ (_bfd_write_merged_section, _bfd_merged_section_offset): Handle
+ NULL secinfo from merge failures.
+
+2007-10-31 Nick Clifton <nickc@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
+ align relocs when there are no relocs attached to the section.
+
+2007-10-31 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
+ * elflink.c (bfd_elf_match_symbols_in_sections): Make static.
+ Remove section name comparisons.
+
+2007-10-30 Nick Clifton <nickc@redhat.com>
+
+ * reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regnerate.
+ * elf-m10300.h: Handle R_MN10300_ALIGN relocs.
+ (mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
+ Re-fix off by one error in comparisons.
+
+2007-10-25 Pedro Alves <pedro_alves@portugalmail.pt>
+
+ * bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
+ * bfd-in2.h: Regenerate.
+
+2007-10-25 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
+ Tag_GNU_Power_ABI_Vector.
+
+2007-10-25 Joseph Myers <joseph@codesourcery.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
+ PT_NULL header when not linking.
+
+2007-10-25 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
+
+ * elf.c (elfcore_grok_ppc_vmx): New function.
+ (elfcore_grok_note): Handle NT_PPC_VMX.
+ (elfcore_write_ppc_vmx): New function.
+ * elf-bfd.h (elfcore_write_ppc_vmx): Declare.
+
2007-10-24 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".