+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.
+
+2005-01-31 Mark Mitchell <mark@codesourcery.com>
+
+ * 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,
+ sparc-lynxos, vax-vms) be obsolete.
+
+2005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add minpagesize.
+ * elf32-arm.c (ELF_MINPAGESIZE): Define.
+ * elf32-ppc.c (ELF_MINPAGESIZE): Define.
+ * elfcode.h (elf_object_p): Use minpagesize instead of
+ maxpagesize.
+ * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
+ (elfNN_bed): Include ELF_MINPAGESIZE.
+
+2005-01-28 Julian Brown <julian@codesourcery.com>
+
+ * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
+ * 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.
+ (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
+ relocation.
+
+2005-01-27 Andrew Cagney <cagney@gnu.org>
+
+ * configure: Regenerate to track ../gettext.m4 change.
+
+2005-01-25 Mark Mitchell <mark@codesourcery.com>
+
+ * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
+ SymbianOS.
+
+2005-01-25 Alexandre Oliva <aoliva@redhat.com>
+
+ 2004-12-10 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Force local binding
+ for TLSMOFF.
+ * reloc.c: Add R_FRV_TLSMOFF.
+ * elf32-frv.c (elf32_frv_howto_table): Likewise.
+ (frv_reloc_map, frv_reloc_type_lookup): Map it.
+ (elf32_frv_relocate_section): Handle it.
+ (elf32_frv_check_relocs): Likewise.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ 2004-11-26 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
+ when given an undefweak TLS symbol. Fix constant TLS PLT entries
+ such that they return the constant in gr9.
+ (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
+ symbols.
+ (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
+ too, such that they shrink on relaxation.
+ (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
+ marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
+ (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
+ if we can guarantee the use of 16-bit constants.
+ 2004-11-10 Alexandre Oliva <aoliva@redhat.com>
+ Introduce TLS support for FR-V FDPIC.
+ * reloc.c: Add TLS relocations.
+ * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
+ (elf32_frv_rel_tlsdesc_value_howto): New.
+ (elf32_frv_rel_tlsoff_howto): New.
+ (frv_reloc_map): Add new mappings.
+ (struct frvfdpic_elf_link_hash_table): Add pointer to summary
+ reloc information.
+ (frvfdpic_dynamic_got_plt_info): New.
+ (frvfdpic_plt_tls_ret_offset): New.
+ (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
+ (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
+ (struct _frvfdpic_dynamic_got_plt_info): Likewise.
+ (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
+ section as local.
+ (struct frvfdpic_relocs_info): Add TLS fields.
+ (frvfdpic_relocs_info_hash): Warning clean up.
+ (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
+ (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
+ (FRVFDPIC_TLS_BIAS): Define.
+ (tls_biased_base): New.
+ (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
+ relocations.
+ (frv_reloc_type_lookup): Likewise.
+ (frvfdpic_info_to_howto_rel): Likewise.
+ (elf32_frv_relocate_section): Likewise.
+ (_frv_create_got_section): Create the PLT section here.
+ (elf32_frvfdpic_create_dynamic_sections): Not here.
+ (_frvfdpic_count_nontls_entries): Move out of...
+ (_frvfdpic_count_got_plt_entries): ... here.
+ (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
+ (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
+ support.
+ (_frvfdpic_relax_tls_entries): New.
+ (_frvfdpic_compute_got_alloc_data): Add TLS support.
+ (_frvfdpic_get_tlsdesc_entry): New.
+ (_frvfdpic_assign_got_entries): Add TLS support.
+ (_frvfdpic_assign_plt_entries): Likewise.
+ (_frvfdpic_reset_got_plt_entries): New.
+ (_frvfdpic_size_got_plt): Move out of...
+ (elf32_frvfdpic_size_dynamic_sections): ... here.
+ (_frvfdpic_relax_got_plt_entries): New.
+ (elf32_frvfdpic_relax_section): New.
+ (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
+ (elf32_frv_check_relocs): Add TLS support.
+ (bfd_elf32_bfd_relax_section): Define for FDPIC.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+
+2005-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
+ loadable reloc sections.
+ (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
+ (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
+
+2005-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
+ sections immediately when linking shared libs. Instead, wait until
+ we know a lib is needed.
+ (_bfd_elf_link_create_dynstrtab): Extract from..
+ (_bfd_elf_link_create_dynamic_sections_): ..here.
+ (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
+ _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
+ for non-existent .dynamic.
+ (elf_link_output_extsym): Don't complain about undefined symbols
+ in as-needed dynamic libs that aren't actually linked.
+
+2005-01-24 Andrew Cagney <cagney@gnu.org>
+
+ * configure: Regenerate, ../gettext.m4 was updated.
+
+2005-01-21 Ben Elliston <bje@au.ibm.com>
+
+ * aout-encap.c: Remove unused file.
+
+2005-01-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 679
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
+ non-function symbols are local.
+ (_bfd_elf_symbol_refs_local_p): Likewise.
+
+2005-01-18 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (bfd_link_just_syms): Add abfd param.
+ * bfd-in2.h: Regenerate.
+
+2005-01-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
+ (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
+ instructions. If the amount of padding is known, reduce the size
+ of the CIE or FDE by that amount.
+
+2005-01-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
+ augmentation_size. Use bfd_signed_vmas for data_align.
+ * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
+ (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
+ functions. Don't read past the end of the enclosing CIE or FDE.
+ (skip_bytes): New utility function.
+ (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
+ sanity checking.
+ (_bfd_elf_write_section_eh_frame): Use new functions.
+
+2005-01-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
+ assert-style REQUIRE() macro to handle sanity checks.
+
+2005-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
+ (comp_unit): Here.
+ (read_unsigned_leb128): Removed.
+ (read_signed_leb128): Removed.
+ (find_abstract_instance_name): Updated.
+ (parse_comp_unit): Accept info_ptr_unit.
+ (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
+ comp unit and pass it to parse_comp_unit.
+
+ * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
+ (read_signed_leb128): Moved to ...
+ * libbfd.c: Here.
+
+ * libbfd-in.h (read_unsigned_leb128): New prototype.
+ (read_signed_leb128): Likewise.
+ * libbfd.h: Regenerated.
+
+2005-01-17 Andrew Stubbs <andrew.stubbs@st.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
+ arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
+ arch_sh4a_nofpu_up in order to match the external names and make the
+ testsuite's job easier.
+ * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
+ names.
+ * bfd-in2.h: Regenerate.
+
+2005-01-15 Andrew Cagney <cagney@gnu.org>
+
+ * bfd.m4: New file.
+ * acinclude.m4: Move BFD_NEED_DECLARATION,
+ BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
+ the new file bfd.m4. Include ../bfd/bfd.m4.
+ * configure: Re-generate.
+
+2005-01-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
+ (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
+ reaching PLT.
+ (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
+ R_PPC_RELAX32PC_PLT.
+
+2005-01-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
+ symbols.
+ * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
+ * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
+ * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
+ * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
+ * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
+ * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
+ * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
+ * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
+ * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
+
+2005-01-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
+ .dynsbss flags.
+
+2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
+
+ * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
+ * bfd-in2.h: Regenerate.
+ * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
+ to support these new machine values.
+ * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
+ the maxq10.
+ (bfd_maxq_arch): Update values for the maxq20.
+
+2005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
+ non-shared object, do not reserve space in .plt and .rela.plt for
+ regular symbols neither defined nor referenced in shared objects.
+
+2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
+ to zero the structure.
+ (create_got_section): Use BFD_ASSERT instead of abort.
+ * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
+ 'srelgot' fields.
+ (create_got_section): New function.
+ (sparc64_elf_create_dynamic_sections): Likewise.
+ (sparc64_elf_check_relocs): Invoke create_got_section instead of
+ _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
+ (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
+ (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
+ (sparc64_elf_finish_dynamic_symbol): Likewise.
+ (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
+ (elf_backend_create_dynamic_sections): Define to
+ sparc64_elf_create_dynamic_sections.
+
+2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
+ (elf_backend_omit_section_dynsym): Define to it.
+ * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
+ (elf_backend_omit_section_dynsym): Define to it.
+
+2005-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
+ PT_DYNAMIC segment, unless .dynamic.
+
+2005-01-06 Paul Brook <paul@codesourcery.com>
+
+ * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
+ * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
+ * configure: Regenerate.
+ * elf32-arm.c: Add VxWorks target bfd.
+ (USE_REL): Remove.
+ (elf32_arm_link_hash_table): Add use_rel.
+ (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
+ elf32_arm_relocate_section): Replace USE_REL with runtime check.
+ Correct offset calculation for RELA case.
+ (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
+ elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
+ (elf32_arm_vxworks_link_hash_table_create): New function.
+ * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
+ (bfd_elf32_littlearm_vxworks_vec): Ditto.
+ (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
+
+2005-01-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
+ multi_toc_needed.
+ (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
+ (ppc64_elf_check_relocs): Update references to has_gp_reloc.
+ (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
+ (ppc64_elf_next_toc_section): Heed no_multi_toc.
+ (ppc64_elf_reinit_toc): Set multi_toc_needed.
+ (toc_adjusting_stub_needed): Rewrite.
+ (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
+ toc tests. Adjust for toc_adjusting_stub_needed changes.
+ (ppc64_elf_size_stubs): Update references to has_gp_reloc.
+ * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
+ * section.c: Expand comment on backend bits.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2005-01-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
+ toc adjusting stub, do not test source section flags.
+
+2005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
+ from STABS debugging sections again.
+
+2005-01-05 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
+ (find_abstract_instance_name): New function.
+ (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
+ (scan_unit_for_functions): Handle DW_AT_abstract_origin.
+ (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
+
+2004-12-31 Paul Brook <paul@copdesourcery.com>
+
+ * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
+
+2004-12-31 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
+ Commit missing changes from 2004-12-22.
+ * bfd-in2.h: Regenerate.
+
+2004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
+
+ * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
+
+2004-12-21 Kris Warkentin <kewarken@qnx.com>
+
+ * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
+ Add 'base' argument for constructing register sections. Reformat.
+ (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
+ gp and fp regs. Reformat.
+
+2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
+
+ * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
+ * bfd-in2.h: Regenerate.
+ * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
+ (avr_reloc_map): Likewise.
+ (avr_final_link_relocate): Likewise.
+
+2004-12-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
+ as-needed dynamic libs as undefined.
+ (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
+ libs when finding they are needed.
+
+2004-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
+ (opd_entry_value): Use opd_relocs if available.
+ (ppc64_elf_relocate_section): Don't set reloc_done. Instead
+ copy .opd relocations to opd_relocs.
+ (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
+
+2004-12-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
+ * elf32-v850.c (v850_elf_howto_table): Add entry for
+ R_V850_LO16_SPLIT_OFFSET.
+ (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
+ (v850_elf_perform_lo16_relocation): New function, extracted from...
+ (v850_elf_perform_relocation): ...here. Use it to handle
+ R_V850_LO16_SPLIT_OFFSET.
+ (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
+ R_V850_LO16_SPLIT_OFFSET.
+ * libbfd.h, bfd-in2.h: Regenerate.
+
+2004-12-14 P.J. Darcy <darcypj@us.ibm.com>
+
+ * config.bfd: Add s390x-ibm-tpf support.
+
2004-12-14 Tomer Levi <Tomer.Levi@nsc.com>
- * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
+ * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
to prototype, to make hash info available.
Prevent wrapped symbols from being adjusted twice.
(group_signature): Update calls.
* elf-bfd.h (bfd_elf_sym_name): Update.
* elf32-ppc.c (ppc_elf_relocate_section): Update.
- * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc)
- (ppc64_elf_relocate_section): Update
+ * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
+ (ppc64_elf_relocate_section): Update.
* elflink.c (elf_link_input_bfd): Update.
2004-12-10 Jakub Jelinek <jakub@redhat.com>