+2004-08-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
+ (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
+ Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
+ Add twiddled_syms.
+ (link_hash_newfunc): Init was_undefined.
+ (add_symbol_adjust): Don't set undefined dot symbols to defweak;
+ Use undefweak instead.
+ (ppc64_elf_check_directives): Fix undefs chain.
+ (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
+ references.
+ (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
+ (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
+ * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
+
+2004-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
+ error, test input_section flags rather than sec.
+
+2004-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Add
+ elf_backend_archive_symbol_lookup.
+ (_bfd_elf_archive_symbol_lookup): Declare.
+ * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
+ (elf_link_add_archive_symbols): ..extracted from here. Call the
+ backend version.
+ * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
+ (elfNN_bed): Init new field.
+ * elf64-ppc.c (elf_backend_check_directives): Define.
+ (elf_backend_archive_symbol_lookup): Define.
+ (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
+ a ppc_link_hash_entry pointer.
+ (get_fdh): Move.
+ (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
+ (add_symbol_adjust, ppc64_elf_check_directives): New functions.
+ (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
+ ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
+ ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
+ ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
+ ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
+ descriptor symbols.
+
+2004-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
+ (ppc64_elf_add_symbol_hook): Test for NULL section.
+ (get_sym_h): Formatting.
+ (ppc64_elf_size_stubs): Include reloc addend in value stored as
+ stub target_value.
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
+ long branch stubs with code handling plt and r2off branch stubs.
+
+2004-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (_bfd_elf_gc_mark): Declare.
+ * elflink.c (elf_link_input_bfd): Formatting.
+ (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
+ all callers.
+ * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
+ (link_hash_newfunc): Don't set it.
+ (ppc64_elf_copy_indirect_symbol): Nor copy it.
+ (ppc64_elf_mark_entry_syms): Delete.
+ (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
+ sections. Use get_opd_info.
+ * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
+
+2004-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (adjust_opd_syms): Fix merge error.
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
+ (func_desc_adjust): Don't set have_undefweak.
+ (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
+ (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
+ "struct ppc_link_hash_entry *". Adjust all references.
+ (ppc64_elf_hide_symbol): Correct a comment.
+
+ * elf64-ppc.c (get_opd_info): New function.
+ (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
+ (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
+ before calling get_fdh. Test fdh rather than h before dereferencing
+ fdh. Mark removed symbols in opd_adjust.
+ (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
+ (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
+ opd symbols.
+ (ppc64_elf_output_symbol_hook): Likewise.
+
+2004-08-06 Paul Brook <paul@codesourcery.com>
+
+ * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
+ (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
+ BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
+ * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
+ and BFD_RELOC_ARM_SBREL32.
+ * bfd-in2.h, bbfd.h: Regenerate.
+
+2004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
+ the dynamic link symbol actually in use.
+
+2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
+
+2004-07-31 Joel Brobecker <brobecker@gnat.com>
+ Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
+ SHN_MIPS_TEXT and SHN_MIPS_DATA.
+
+2004-07-30 H.J. Lu <hongjiu.lu@intel.com>
+ Nick Clifton <nickc@redhat.com>
+
+ PR 290
+ * bfd.c (_bfd_default_error_handler): Make it global.
+
+ * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
+
+ * elf.c (assign_section_numbers): Cope gracefully with sections
+ which have SHF_LINK_ORDER set but no sh_link set up.
+ * elflink.c (elf_get_linked_section_vma): Likewise.
+
+ * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
+ it to NULL.
+
+ * elfxx-target.h (elf_backend_link_order_error_handler): New.
+ Set it to _bfd_default_error_handler.
+ (elfNN_bed): Add elf_backend_link_order_error_handler.
+
+ * libbfd-in.h (_bfd_default_error_handler): New.
+
+ * libbfd.h: Regenerated.
+
+2004-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ * archures.c (bfd_mach_sparc_64bit_p): Define.
+ * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
+ * bfd-in2.h: Rebuilt.
+
+2004-07-29 Alexandre Oliva <aoliva@redhat.com>
+
+ Introduce SH2a support.
+ 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
+ * archures.c (bfd_mach_sh2a_nofpu): New.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (SH2A_NOFPU_NEXT): New.
+ (arch_info_struct): Add sh2a_nofpu.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
+ 2003-12-29 DJ Delorie <dj@redhat.com>
+ * reloc.c: Add relocs for sh2a.
+ * bfd-in2.h: Regenerate.
+ * libbfd.hh: Regenerate.
+ 2003-12-01 Michael Snyder <msnyder@redhat.com>
+ * archures.c (bfd_mach_sh2a): New.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
+ (SH2A_NEXT): New.
+ (arch_info_struct): Add sh2a.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
+
+2004-07-28 Nick Clifton <nickc@redhat.com>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR 273
+ * som.c (setup_sections): Improve estimation of space sizes in
+ relocatable objects.
+
+2004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
+ * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
+ bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
+ to targ_selvecs.
+ * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
+ * configure: Regenerate.
+ * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
+ case that accepts OSABI=NetBSD and OSABI=SysV.
+ (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
+ the base of .got or .data (if .got does not exist).
+ (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
+ set OSABI=NetBSD.
+ (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
+ (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
+ * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
+ (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
+
+2004-07-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 161/251
+ * elf-bfd.h (bfd_elf_section_data): Add sec_group.
+ (elf_sec_group): Defined.
+ (bfd_elf_match_symbols_in_sections): New prototype.
+ (_bfd_elf_setup_group_pointers): Likewise.
+
+ * elf.c (bfd_elf_discard_group): Abort.
+ (bfd_elf_set_group_contents): Also include relocation sections.
+ Remove zero-fill for ld -r.
+ (_bfd_elf_setup_group_pointers): New function.
+ (elf_sort_elf_symbol): Likewise.
+ (elf_sym_name_compare): Likewise.
+ (bfd_elf_match_symbols_in_sections): Likewise.
+
+ * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
+
+ * elflink.c (match_group_member): New.
+ (elf_link_input_bfd): Check group member for discarded section.
+ (try_match_symbols_in_sections): New function.
+ (already_linked): Likewise.
+ (_bfd_elf_section_already_linked): Support mixing comdat group
+ and linkonce section.
+
+ * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
+ * linker.c (bfd_section_already_linked_table_traverse): New.
+
+ * libbfd.h: Regenerated.
+
2004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
* reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,