+2005-02-15 Jan Beulich <jbeulich@novell.com>
+
+ * elfxx-ia64.c (ia64_howto_table): Correct strings for
+ R_IA64_DTPMOD64[LM]SB.
+
+2005-02-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
+ backward branch in the same section.
+ (elfNN_ia64_relocate_section): Inform users that the input
+ section is too big to relax br instruction when overflow
+ happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
+ and R_IA64_PCREL21F.
+
+2005-02-14 Orjan Friberg <orjanf@axis.com>
+
+ * elfcore.h (elf_core_file_p): Move the call to
+ elf_backend_object_p to allow the correct machine to be set before
+ processing the program headers.
+
+2005-02-14 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/716
+ * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
+ aware flag from the input bfd to the output bfd.
+
+2005-02-11 Maciej W. Rozycki <macro@mips.com>
+
+ * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
+ R_MIPS_LITERAL relocations for external symbols.
+ * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
+ * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
+
+2005-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in2.h: Rebuilt.
+
+2005-02-11 Paul Brook <paul@codesourcery.com>
+
+ * elf-bfd.h (struct elf_link_hash_table): Add
+ is_relocatable_executable.
+ * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
+ * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
+ symbols in relocatable executables.
+ (bfd_elf_record_link_assignment): Create dynamic section symbols in
+ relocatable executables.
+ (_bfd_elf_link_renumber_dynsyms): Ditto.
+ (bfd_elf_final_link): Ditto.
+ * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
+ relocations into relocatable executables.
+ (elf32_arm_check_relocs): Crate dynamic sections for relocatable
+ executables. Also copy absolute relocations.
+ (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
+ in relocatable executables.
+ (allocate_dynrelocs): Copy relocations for relocatable executables.
+ Output dynamic symbols for symbols defined in linker scripts.
+
+2005-02-11 Nick Clifton <nickc@redhat.com>
+
+ * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
+ to avoid a compile time warning.
+
+ * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
+ BFD_ASSERT.
+
+ * coff-tic4x.c (coff_rtype_to_howto): Move definition before
+ inclusion of coffcode.h so that it is actually picked up.
+
+ * coffcode.h (coff_std_swap_table): Add an unused attribute in
+ case it is not used.
+
+ * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
+ structure and macro.
+
+ * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
+ array.
+
+ * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
+ to protect the declaration of this array.
+
+ * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
+ Avoid call to memcpy with a size of 0.
+
+2005-02-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
+ old-style branches to undefined dot-symbols which will be
+ satisfied by a plt call.
+
+2005-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (move_plt_plist): New function, extracted from..
+ (ppc64_elf_copy_indirect_symbol): ..here.
+ (func_desc_adjust): Use move_plt_plist.
+
+2005-02-10 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
+
+2005-02-10 Paul Brook <paul@codesourcery.com>
+
+ * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
+ symbols local.
+ (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
+ (elf_link_renumber_local_hash_table_dynsyms): New function.
+ (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
+
+2005-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * bfd-in.h (BFD_LINKER_CREATED): Define.
+ * bfd-in2.h: Rebuilt.
+ * elflink.c (bfd_elf_size_dynamic_sections): Disregard
+ BFD_LINKER_CREATED bfds when determining input bfds without
+ .note.GNU-stack section.
+
+2005-02-10 Maciej W. Rozycki <macro@mips.com>
+
+ * elf64-mips.c (mips16_gprel_reloc): Update a comment.
+ * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
+ relocations against external symbols unchanged.
+
+2005-02-08 Paul Brook <paul@codesourcery.com>
+
+ * elflink.c (elf_link_input_bfd): Ignore symbols from null input
+ sections.
+
+2005-02-08 Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
+ prefix here.
+
+2005-02-07 Maciej W. Rozycki <macro@mips.com>
+
+ * elf64-mips.c: Fix formatting throughout.
+
+2005-02-07 Maciej W. Rozycki <macro@mips.com>
+
+ * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
+
+2005-02-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
+ *ABS*/*UND* sections.
+ (elf32_frv_relocate_section): Move zero-addend-required error...
+ (_frv_emit_got_relocs_plt_entries): ... here. Report error for
+ missing needed TLS section.
+
+2005-02-07 Hans-Peter Nilsson <hp@axis.com>
+
+ * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
+ being the last symbol.
+ (aout_link_add_symbols): Just return TRUE if a warning
+ symbol was last.
+
+2005-02-07 Maciej W. Rozycki <macro@mips.com>
+
+ * elf32-mips.c (mips_elf_gprel32_reloc): Reject
+ R_MIPS_GPREL32 relocations against external symbols.
+ * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
+ comment.
+
+2005-02-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
+ * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
+ elf_string_from_elf_strtab.
+ (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
+ (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
+ if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
+ SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
+ looking at cached symtab info first, before iterating over headers.
+ For SHT_REL and SHT_RELA, load dynsymtab if needed.
+ * elfcode.h (elf_object_p): Don't load section header stringtab
+ specially.
+
+2005-02-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
+ against protected function when building shared library.
+
+ PR 584
+ * elf64-x86-64.c (is_32bit_relative_branch): New.
+ (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
+ protected function symbol when building shared library for
+ 32bit relative branch instruction.
+
+2005-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
+ syms when doing a relocatable link.
+ (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
+ at u.def.section.
+ (ppc64_elf_tls_setup): Likewise.
+ (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
+
+2005-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
+ (link_hash_newfunc): Clear all locals using memset.
+ (make_fdh): Remove flags param. Always create fake func desc
+ weak. Link the descriptor with the code entry sym.
+ (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
+ (add_symbol_adjust): Adjust make_fdh call.
+ (func_desc_adjust): Likewise. Twiddle any pre-existing fake
+ descriptor to strong undefined if code entry is strong.
+
+2005-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
+ lookup here. Set to new before calling bfd_link_repair_undef_list.
+ (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
+
+2005-02-03 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (_bfd_link_hash_newfunc): Set all local fields.
+
+2005-02-03 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
+ * elflink.c (elf_smash_syms): Restore symbols that were undefweak
+ before the as-needed lib was loaded. Abort on unexpected refs.
+
+2005-02-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_smash_syms): Expand comments.
+ (elf_link_add_object_symbols): Only call elf_smash_syms for
+ as-needed dynamic objects.
+
+ * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
+ everything, just the field specific to ia64.
+ * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
+
+2005-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
+ (make_fdh): ..here. New function. Don't set BSF_OBJECT for
+ undefined syms.
+ (struct add_symbol_adjust_data): New.
+ (add_symbol_adjust): Make an undefweak func desc for old ABI
+ objects to link with --as-needed shared libs. Return fail status.
+ Don't adjust old ABI func entry sym to weak if func desc syms
+ isn't defined.
+ (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
+ and return status.
+
+2005-02-01 Hans-Peter Nilsson <hp@axis.com>
+
+ * cpu-cris.c (get_compatible): Rearrange disabled code and comment
+ for clarity.
+
+2005-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
+ * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
+ remove anything but new and undefweak.
+ * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
+ existing _DYNAMIC.
+ (_bfd_elf_create_dynamic_sections): Formatting.
+ (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
+ (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
+ (struct elf_smash_data): New.
+ (elf_smash_syms): New function.
+ (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
+ unneeded dynamic objects to loaded list.
+ (elf_link_output_extsym): Don't handle as-needed here. Strip
+ bfd_link_hash_new symbols.
+ * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+ delref when dynindx is already -1.
+ * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
+ symbols.
+ * elfxx-mips.c (mips_elf_output_extsym): Likewise.
+
+2005-02-01 Ben Elliston <bje@au.ibm.com>
+
+ * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
+
+2005-02-01 Ben Elliston <bje@au.ibm.com>
+
+ * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
+ bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
+ coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
+ coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
+ cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
+ elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
+ elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
+ elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
+ i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
+ nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
+ pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
+ sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
+ hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
+ throughout. Similarly, collapse #if 1'd code.
+
+2005-02-01 Ben Elliston <bje@au.ibm.com>
+
+ * elf-bfd.h (bfd_elf_discard_group): Remove.
+ * elf.c (bfd_elf_discard_group): Likewise.
+ * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
+
+2005-01-31 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
+ (_bfd_elf_eh_frame_address_size): Declare.
+ * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
+ (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
+ * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
+ (elf_backend_eh_frame_address_size): Define.
+ * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
+ size from the new backend hook.
+ (_bfd_elf_write_section_eh_frame): Likewise.
+ (_bfd_elf_eh_frame_address_size): New function.
+
2005-01-31 Andrew Cagney <cagney@gnu.org>
* configure: Regenerate to track ../gettext.m4.
* elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
SHF_WRITE for .init_array, .fini_array, and .preinit_array.
-
+
2005-01-31 Nick Clifton <nickc@redhat.com>
* confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
* bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
* elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
(bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
- passing flag value from ld. Set flag value in global hash table entry.
+ passing flag value from ld. Set flag value in global hash table entry.
(elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
- relocation.
+ relocation.
2005-01-27 Andrew Cagney <cagney@gnu.org>
2005-01-25 Mark Mitchell <mark@codesourcery.com>
* elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
- SymbianOS.
+ SymbianOS.
2005-01-25 Alexandre Oliva <aoliva@redhat.com>