+2005-05-25 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c: Update all function definitions to ISO C. Remove
+ all function prototypes; rearrange functions into def-use order.
+
+2005-05-25 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration
+ in the presence of deleting elements.
+ (elf64_alpha_size_got_sections): Zero dead got section size.
+
+2005-05-23 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add inliner_chain member.
+ (struct funcinfo): Add caller_func, caller_file, caller_line.
+ tag, and nesting_level members.
+ (lookup_address_in_function_table): Change first passed parameter
+ from "struct funcinfo *" to "struct comp_unit *".
+ (lookup_address_in_function_table): Dereference unit to find function
+ table.
+ (lookup_address_in_function_table): Traverse the function list to
+ create a chain of inlined functions back to the first non inlined
+ function.
+ (scan_unit_for_functions): Remember tag and nesting level. Handle
+ DW_AT_call_file and DW_AT_call_line.
+ (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table
+ call to pass unit pointer instead of function table pointer. For
+ inlined functions, save pointer to the inliner chain.
+ (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL.
+ (_bfd_dwarf2_find_inliner_info): New function that returns information
+ from the inliner chain after a call to bfd_find_nearest_line.
+
+ * bfd.c (bfd_find_inliner_info): Define using BFD_SEND.
+ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for
+ NAME##_find_inliner_info.
+ (bfd_target): Add _bfd_find_inliner_info.
+ * bfd-in2.h: Regenerate.
+
+ * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as
+ macro that always returns bfd_false.
+ (_bfd_dwarf2_find_inliner_info): Declare.
+ * libbfd.h: Regenerate.
+
+ * elf32-arm.c (elf32_arm_find_inliner_info): New function
+ that calls _bfd_dwarf2_find_inliner_info.
+ (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info.
+
+ * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function
+ that calls _bfd_dwarf2_find_inliner_info.
+ * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare.
+ * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to
+ _bfd_mips_elf_find_inliner_info.
+ * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto.
+ * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto.
+
+ * elf.c (_bfd_elf_find_inliner_info): New function that calls
+ _bfd_dwarf2_find_inliner_info.
+ * elf-bfd.h (_bfd_elf_find_inliner_info): Declare.
+ * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to
+ _bfd_elf_find_inliner_info.
+
+ * coffgen.c (coff_find_inliner_info): New function that
+ calls _bfd_dwarf2_find_inliner_info.
+ * libcoff-in.h (coff_find_inliner_info): Declare.
+ * libcoff.h: Regenerate.
+ * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info.
+ (pmac_xcoff_vec) Ditto.
+ * coff64-rs6000.c (rs6000coff64_vec): Ditto.
+ (aix5coff64_vec): Ditto.
+
+ * aout-target.h (MY_find_inliner_info): Define as
+ _bfd_nosymbols_find_inliner_info.
+ * aout-tic30.c (MY_find_inliner_info): Ditto.
+ * binary.c (binary_find_inliner_info): Ditto.
+ * i386msdos.c (msdos_find_inliner_info): Ditto.
+ * ihex.c (ihex_find_inliner_info): Ditto.
+ * libaout.h (aout_32_find_inliner_info): Ditto.
+ * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto.
+ * mach-o.c (bfd_mach_o_find_inliner_info): Ditto.
+ * mmo.c (mmo_find_inliner_info): Ditto.
+ * nlm-target.h (nlm_find_inliner_info): Ditto.
+ * pef.c (bfd_pef_find_inliner_info): Ditto.
+ * ppcboot.c (ppcboot_find_inliner_info): Ditto.
+ * srec.c (srec_find_inliner_info): Ditto.
+ * tekhex.c (tekhex_find_inliner_info): Ditto.
+ * versados.c (versados_find_inliner_info): Ditto.
+ * xsym.c (bfd_sym_find_inliner_info): Ditto.
+
+ * ieee.c (ieee_find_inliner_info): New function that always
+ returns FALSE.
+ * oasys.c (oasys_find_inliner_info): Ditto.
+ * vms.c (vms_find_inliner_info): Ditto.
+
+2005-05-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code
+ force old plt layout.
+
+2005-05-22 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated
+ sections.
+ (elf64_alpha_check_relocs): Likewise.
+ (elf64_alpha_relocate_section): Don't emit dynamic relocations to
+ non-allocated sections.
+
+2005-05-22 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to
+ undefweak to use zero register. Call elf64_alpha_relax_got_load
+ if not all uses removed.
+ (elf64_alpha_relax_got_load): Relax undefweak to lda zero.
+ (elf64_alpha_relax_section): Handle undefweak symbols.
+ (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak.
+ (elf64_alpha_size_rela_got_1): Likewise.
+ (elf64_alpha_relocate_section): Likewise.
+
+2005-05-22 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Only operate
+ on SEC_CODE sections.
+
+2005-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to
+ unsigned int *.
+ (som_write_space_strings): Change type of tmp_space and p to char *.
+ (som_write_symbol_strings): Likewise. Also change type of comp to
+ char *comp[4].
+ (som_begin_writing): Change type of strings_size to unsigned int.
+ (som_finish_writing): Likewise.
+ (som_slurp_reloc_table): Change type of external_relocs to unsigned
+ char *.
+ * som.h (struct som_section_data_struct): Change type of reloc_stream
+ field to unsigned char *.
+
+2005-05-20 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate
+ copy relocations for VxWorks.
+
+2005-05-20 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field
+ has_sda_refs.
+ (ppc_elf_copy_indirect_symbol): Copy has_sda_refs.
+ (ppc_elf_check_relocs): Set has_sda_refs.
+ (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating
+ copy relocations. Use has_sda_refs to place variables in .sbss.
+ (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in
+ .sbss.
+
+2005-05-20 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that
+ xtensa_default_isa is initialized.
+
+2005-05-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned
+ for second and subsequent list entries. Only allocate multiple
+ glink stubs when shared or pie.
+ (ppc_elf_finish_dynamic_symbol): Break out early when only one
+ glink stub is needed.
+
+2005-05-19 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.am: Have 'all' depend on 'info'.
+ * Makefile.in: Regenerate.
+
+2005-05-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and
+ init_offset. Add init_got_refcount, init_plt_refcount,
+ init_got_offset and init_plt_offset.
+ * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change.
+ (_bfd_elf_link_hash_hide_symbol): Likewise.
+ (_bfd_elf_link_hash_table_init): Likewise.
+ * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
+ * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ (bfd_elf_size_dynamic_sections): Likewise.
+ * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns.
+ (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30,
+ LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete.
+ (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30,
+ LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define.
+ (struct plt_entry): New.
+ (ppc_elf_link_hash_table_create): Set new init_plt fields.
+ (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't
+ use _bfd_elf_link_hash_copy_indirect.
+ (update_plt_info, find_plt_ent): New functions.
+ (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend
+ and adjust for use of plt list rather than refcount.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (ppc_elf_tls_optimize): Likewise.
+ (ppc_elf_adjust_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (ppc_elf_relax_section): Likewise.
+ (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends
+ when performing a relocatable link.
+ (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here..
+ (ppc_elf_finish_dynamic_sections): ..rather than here. Use new
+ pic resolver stub.
+
+2005-05-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (assign_file_positions_for_segments): Use maximum of
+ maxpagesize and section alignment when adjusting initial
+ segment offset and section offsets.
+
+2005-05-18 Zack Weinberg <zack@codesourcery.com>
+
+ * elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocks
+ unconditional.
+
+2005-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (group_signature): Undo the last change. Check if the
+ symbol table section is correct.
+
+2005-05-17 Zack Weinberg <zack@codesourcery.com>
+
+ * elf32-arm.c: Wherever possible, use official reloc names
+ from AAELF.
+ (elf32_arm_howto_table, elf32_arm_tls_gd32_howto)
+ (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto)
+ (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto)
+ (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto)
+ (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel)
+ (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1,
+ elf32_arm_howto_table_2, and elf32_arm_howto_table_3.
+ Add many new relocations from AAELF.
+ (elf32_arm_howto_from_type): Update to match.
+ (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24,
+ R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8,
+ R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY.
+ (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type.
+ (elf32_arm_final_link_relocate): Add support for
+ R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove
+ case entries redundant with default.
+
+ * reloc.c: Reorganize ARM relocations. Add Thumb
+ assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8,
+ BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE.
+ Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7,
+ BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25.
+ Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf.c (_bfd_elf_write_object_contents): Check for non-NULL
+ elf_shstrtab.
+ * format.c (bfd_check_format_matches): Set output_has_begun
+ for both_direction.
+ * section.c (bfd_set_section_contents): Use bfd_write_p. Remove
+ special case for both_direction.
+
+2005-05-17 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (group_signature): Check for a group section which is
+ actually a (corrupt) symbol table section in disguise and prevent
+ an infinite loop from occurring.
+
+2005-05-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on
+ 2005-02-16.
+
+2005-05-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original
+ predicate on slot 0 only if slot 0 isn't br.
+
+2005-05-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 797
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove
+ empty sdynbss section.
+ * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
+
+2005-05-17 Tavis Ormandy <taviso@gentoo.org>
+
+ * elf.c (bfd_section_from_shdr): Add sanity check when parsing
+ dynamic sections.
+
+2005-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (LIS_11. LIS_12): Define.
+ (LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define.
+ (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub
+ for --data-plt when building non-pie executables.
+
+2005-05-17 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle
+ the situation where a symbols's section is not known but a section
+ relative R_ARM_RELATIVE reloc has to be generated for the Symbian
+ OS.
+
+ * elf32-v850.c (v850_elf_relocate_section): Move code to test for
+ the presence of a symbol table to just before the symbol table is
+ actually used.
+
+2005-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 834
+ * elfxx-ia64.c (elfNN_ia64_relax_br): New.
+ (elfNN_ia64_relax_section): Use it.
+
+2005-05-14 Mark Kettenis <kettenis@gnu.org>
+
+ * elflink.c (bfd_elf_size_dynamic_sections): Use lbasename instead
+ of basename.
+
+2005-05-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT,
+ not DT_PPC_GLINK.
+ (ppc_elf_finish_dynamic_sections): Likewise.
+
+2005-05-13 Fred Fish <fnf@specifixinc.com>
+
+ * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest'
+ * libbfd.h: Rebuilt.
+
+2005-05-13 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (xtensa_get_property_section_name): Add missing
+ periods in linkonce_kind values.
+
+2005-05-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF
+ against protected function when building executable.
+
+2005-05-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (LWZU_0_X_11): Delete.
+ (B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define.
+ (ppc_elf_select_plt_layout): Set .got flags too. Formatting.
+ (ppc_elf_size_dynamic_sections): Allocate space for .glink branch
+ table.
+ (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch
+ table.
+ (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value.
+ Generate .glink branch table and updated stubs.
+
+2005-05-11 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c (BFD_RELOC_HI16_PCREL): Define.
+ (BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define.
+ * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define.
+ (CROR_151515, CROR_313131): Delete.
+ (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11,
+ LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30,
+ LWZU_0_X_11): Define.
+ (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI
+ and R_PPC_REL16_HA entries.
+ (ppc_elf_reloc_type_lookup): Convert new bfd reloc types.
+ (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA.
+ (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve,
+ new_plt, and old_plt.
+ (ppc_elf_create_dynamic_sections): Create .glink section.
+ (ppc_elf_check_relocs): Set new_plt and old_plt.
+ (ppc_elf_select_plt_layout): New function.
+ (ppc_elf_tls_setup): Set plt output section elf type and flags.
+ (allocate_got): Handle differences between old and new got layout.
+ (allocate_dynrelocs): Likewise for plt.
+ (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for
+ .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK.
+ (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink
+ destination of R_PPC_PLTREL24 relocs.
+ (ppc_elf_relocate_section): Handle new relocs and changed destination
+ of R_PPC_PLTREL24.
+ (ppc_elf_finish_dynamic_symbol): Init new style plt and handle
+ differences in layout.
+ (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't
+ put a blrl in new got. Write glink contents.
+ * elf32-ppc.h (ppc_elf_select_plt_layout): Declare.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2005-05-11 Andreas Schwab <schwab@suse.de>
+
+ * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signedness
+ warning.
+
+2005-05-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Only check debug
+ section if SEC_ALLOC isn't set.
+
+2005-05-09 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
+ * acinclude.m4: Don't sinclude accross.m4.
+ * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate.
+
+2005-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym.
+ (ppc64_elf_add_symbol_hook): Set has_dotsym.
+ (ppc64_elf_check_directives): Only process syms when has_dotsym.
+ (func_desc_adjust): Hide fake function descriptors when function
+ code entry is defined.
+ (adjust_opd_syms): Adjust for deleted_section becoming union field.
+
+2005-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h (elf_object_p): Add more sanity checks on elf header.
+
+2005-05-08 Dave Korn <dave.korn@artimi.com>
+
+ * coff-tic80.c: Undefine _CONST after system headers to prevent
+ clash with tic80-specific definition in include/coff/tic80.h
+
+2005-05-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 939
+ * elflink.c (elf_link_output_extsym): Use output_bfd if
+ h->root.u.def.section is bfd_abs_section_ptr when reporting
+ error.
+
+2005-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_backend_data): Update special_sections to
+ array of pointer to bfd_elf_special_section.
+ * elf.c (special_sections): Likewise.
+ * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise.
+ * elf32-m32r.c (m32r_elf_special_sections): Likewise.
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
+ * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
+ * elf32-mcore.c (mcore_elf_special_sections): Likewise.
+ * elf32-ppc.c (ppc_elf_special_sections): Likewise.
+ * elf32-sh64.c (sh64_elf_special_sections): Likewise.
+ * elf32-v850.c (v850_elf_special_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
+ * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
+ * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise.
+
+ * elf.c (get_special_section): Updated.
+
+2005-05-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset.
+ * elfxx-target.h (elf_backend_got_symbol_offset): Delete.
+ * elflink.c (_bfd_elf_create_got_section): Use zero in place of
+ got_symbol_offset.
+ * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
+ * elf32-frv.c (_frv_create_got_section): Likewise.
+ * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code.
+ (elf_backend_got_symbol_offset): Don't define.
+ * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define.
+ * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size
+ and got_gap.
+ (ppc_elf_create_got): Tidy.
+ (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt.
+ (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ (ppc_elf_finish_dynamic_symbol): Likewise.
+ (allocate_got): New function.
+ (allocate_dynrelocs): Use allocate_got.
+ (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation
+ so that local got can refcount it. Set got_header_size.
+ (ppc_elf_relocate_section): Use value of elf.hgot rather than hard-
+ coded 4.
+ (ppc_elf_finish_dynamic_sections): Likewise.
+ (elf_backend_got_symbol_offset): Don't define.
+ (elf_backend_got_header_size): Ditto.
+
+2005-05-05 Steve Ellcey <sje@cup.hp.com>
+
+ * configure.in (ACX_HEADER_STRING): New.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * sysdep.h (STRING_WITH_STRINGS): Use.
+
+2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_close_and_cleanup): Only call
+ _bfd_dwarf2_cleanup_debug_info on bfd_object.
+
+2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_provide_section_bound_symbols): Use
+ "__bss_start" instead of "_edata" as fallback.
+
+2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in2.h: Regenerated.
+
+2005-05-05 Paul Brook <paul@codesourcery.com>
+
+ * config.bfd: Use bfd_elf32_i386_vxworks_vec for i?86-*-vxworks.
+ * configure.in: Add bfd_elf32_i386_vxworks_vec. i386 targets need
+ elf-vxworks.lo.
+ * configure: Regenerate.
+ * Makefile.am (BFD32_BACKENDS): Add elf-vxworks.lo.
+ (BFD32_BACKENDS_CFILES): Add elf-vxworks.c.
+ (elf32-i386.lo): Depend on elf-vxworks.h.
+ (elf-vxworks.lo): New rule.
+ * Makefile.in: Regenerate.
+ * elf-bfd.h (elf_backend_data): Update type of
+ elf_backend_emit_relocs.
+ (_bfd_elf_link_output_relocs): Update prototype.
+ * elflink.c (_bfd_elf_link_output_relocs): Always use
+ bed->elf_backend_emit_relocs when outputting relocations.
+ * elfxx-target.h (elf_backend_emit_relocs): Default to
+ _bfd_elf_link_output_relocs.
+ * targets.c (bfd_elf32_i386_vxworks_vec): Declare.
+ (_bfd_target_vector): Add bfd_elf32_i386_vxworks_vec.
+ * elf32-i386.c: Add elf32-i386-vxworks target BFD.
+ (elf_i386_plt0_entry): Remove padding.
+ (elf_i386_pic_plt0_entry): Ditto.
+ (PLTRESOLVE_RELOCS_SHLIB, PLTRESOLVE_RELOCS): Define.
+ (PLT_NON_JUMP_SLOT_RELOCS): Define.
+ (elf_i386_link_hash_table): Add srelplt2, hgot, hplt, is_vxworks and
+ plt0_pad_byte fields.
+ (elf_i386_link_hash_table_create): Zero them.
+ (elf_i386_create_dynamic_sections): Create static relocation section.
+ (allocate_dynrelocs): Allocate space for static PLT relocations.
+ (elf_i386_size_dynamic_sections): Save shortcuts to PLT and GOT
+ symbols. Give PLT symbols function type. Don't strip PLT sections
+ if we have exported symbols from them.
+ (elf_i386_finish_dynamic_symbol): Fill in VxWorks PLT static
+ relocation section. Don't mark _GLOBAL_OFFSET_TABLE_ as absolute on
+ VxWorks.
+ (elf_i386_finish_dynamic_sections): Allow different pad bytes.
+ Add relocation for GOT location. Fill in PLT static relocations.
+ (elf_i386_vxworks_link_hash_table_create): New function.
+ (elf_i386_vxworks_link_output_symbol_hook): New function.
+ * elf-vxworks.h: New file.
+
+2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * section.c (bfd_make_section_anyway_with_flags): New.
+ (bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags,
+ (bfd_make_section_with_flags): New.
+ (bfd_make_section): Call bfd_make_section_with_flags.
+
+ * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call
+ bfd_make_section_with_flags/bfd_make_section_anyway_with_flags
+ instead of bfd_make_section/bfd_make_section and don't call
+ bfd_set_section_flags.
+ (mn10300_elf_check_relocs): Likewise.
+ (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
+ * elf32-arm.c (create_got_section): Likewise.
+ (bfd_elf32_arm_add_glue_sections_to_bfd): Likewise.
+ (elf32_arm_check_relocs): Likewise.
+ * elf32-cris.c (cris_elf_check_relocs): Likewise.
+ * elf32-frv.c (elf32_frv_add_symbol_hook): Likewise.
+ (_frv_create_got_section): Likewise.
+ (elf32_frvfdpic_create_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
+ (elf32_hppa_check_relocs): Likewise.
+ * elf32-i370.c (i370_elf_create_dynamic_sections): Likewise.
+ (i370_elf_check_relocs): Likewise.
+ * elf32-i386.c (create_got_section): Likewise.
+ (elf_i386_check_relocs): Likewise.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
+ (create_got_section): Likewise.
+ (m32r_elf_create_dynamic_sections): Likewise.
+ (m32r_elf_check_relocs): Likewise.
+ * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+ * elf32-ppc.c (ppc_elf_create_got): Likewise.
+ (ppc_elf_create_dynamic_sections): Likewise.
+ (ppc_elf_add_symbol_hook): Likewise.
+ (ppc_elf_check_relocs): Likewise.
+ * elf32-s390.c (create_got_section): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ * elf32-sh.c (create_got_section): Likewise.
+ (sh_elf_create_dynamic_sections): Likewise.
+ (sh_elf_check_relocs): Likewise.
+ * elf32-vax.c (elf_vax_check_relocs): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
+ * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
+ (add_extra_plt_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
+ (elf64_alpha_create_got_section): Likewise.
+ (elf64_alpha_create_dynamic_sections): Likewise.
+ (elf64_alpha_check_relocs): Likewise.
+ * elf64-hppa.c (get_reloc_section): Likewise.
+ (get_opd): Likewise.
+ (get_plt): Likewise.
+ (get_dlt): Likewise.
+ (get_stub): Likewise.
+ (elf64_hppa_create_dynamic_sectionso): Likewise.
+ * elf64-mmix.c (mmix_elf_check_common_relocs): Likewise.
+ * elf64-ppc.c (create_linkage_sections): Likewise.
+ (ppc64_elf_check_relocs): Likewise.
+ * elf64-s390.c (create_got_section): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+ (sh64_elf64_create_dynamic_sections): Likewise.
+ * elf64-x86-64.c (create_got_section): Likewise.
+ (elf64_x86_64_check_relocs): Likewise.
+ * elflink.c (_bfd_elf_create_got_section): Likewise.
+ (_bfd_elf_link_create_dynamic_sections): Likewise.
+ (elf_link_add_object_symbols): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
+ (elfNN_ia64_create_dynamic_sections): Likewise.
+ (get_fptr): Likewise.
+ (get_pltoff): Likewise.
+ (get_reloc_section): Likewise.
+ (elfNN_ia64_object_p): Likewise.
+ * elfxx-mips.c (mips_elf_rel_dyn_section): Likewise.
+ (mips_elf_create_compact_rel_section): Likewise.
+ (mips_elf_create_got_section): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Likewise.
+ * elfxx-sparc.c (create_got_section): Likewise.
+ (_bfd_sparc_elf_check_relocs): Likewise.
+
+ * elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr
+ on linker created sections.
+
+2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 882
+ * elflink.c (_bfd_elf_link_assign_sym_version): Allow version
+ script on executable.
+
+2005-05-05 John Levon <levon@movementarian.org>
+
+ * dwarf2.c (read_abbrevs): If bfd_realloc fails, free currently
+ allocated memory before returning.
+ (decode_line_info): Likewise.
+ (_bfd_dwarf2_cleanup_debug_info): New function: Frees memory
+ allocated by functions in this file.
+ * elf-bfd.h (_bfd_dwarf2_cleanup_debug_info): Prototype.
+ * elf.c (_bfd_elf_close_and_cleanup): Call
+ _bfd_dwarf2_cleanup_debug_info.
+
+2005-05-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * Makefile.am (INCLUDES): Don't -D_GNU_SOURCE here.
+ * configure.in: Call AC_GNU_SOURCE here, after AC_PROG_CC.
+ * configure, config.in, Makefile.in: Regenerate.
+ * sysdep.h (stpcpy): Revert last change.
+
+2005-05-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * sysdep.h (stpcpy): Wrap declaration in parentheses.
+
+2005-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (ARCH_SIZE): New.
+ (LOG_SECTION_ALIGN): Likewise.
+ (elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to
+ align relocation sections.
+ (get_fptr): Likewise.
+ (get_reloc_section): Likewise.
+ (elfNN_ia64_tprel_base): Likewise.
+ (elfNN_ia64_check_relocs): Support 32bit relocations.
+ (allocate_global_fptr_got): Likewise.
+ (allocate_dynrel_entries): Likewise.
+ (set_got_entry): Likewise.
+ (set_pltoff_entry): Likewise.
+ (elfNN_ia64_relocate_section): Likewise.
+
+2005-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.in: Add AC_CHECK_DECLS(stpcpy).
+ * configure: Regenerate.
+ * config.in: Likewise.
+
+ * sysdep.h (stpcpy): New.
+
+2005-05-04 Nick Clifton <nickc@redhat.com>
+
+ * Update the address and phone number of the FSF organization in
+ the GPL notices in the following files:
+ aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c,
+ aout-cris.c, aout-ns32k.c, aout-sparcle.c, aout-target.h,
+ aout-tic30.c, aout0.c, aout32.c, aout64.c, aoutf1.h, aoutx.h,
+ archive.c, archive64.c, archures.c, armnetbsd.c, bfd-in.h,
+ bfd-in2.h, bfd.c, bfdio.c, bfdwin.c, binary.c, bout.c, cache.c,
+ cf-i386lynx.c, cf-m68klynx.c, cf-sparclynx.c, cisco-core.c,
+ coff-a29k.c, coff-alpha.c, coff-apollo.c, coff-arm.c, coff-aux.c,
+ coff-go32.c, coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c,
+ coff-i960.c, coff-ia64.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
+ coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
+ coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
+ coff-svm68k.c, coff-tic30.c, coff-tic4x.c, coff-tic54x.c,
+ coff-tic80.c, coff-u68k.c, coff-w65.c, coff-we32k.c, coff-z8k.c,
+ coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, coffswap.h,
+ corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c,
+ cpu-avr.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
+ cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
+ cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
+ cpu-i960.c, cpu-ia64-opc.c, cpu-ia64.c, cpu-ip2k.c, cpu-iq2000.c,
+ cpu-m10200.c, cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c,
+ cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
+ cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-ns32k.c, cpu-openrisc.c,
+ cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, cpu-rs6000.c,
+ cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, cpu-tic4x.c,
+ cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c,
+ cpu-we32k.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z8k.c, demo64.c,
+ dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, ecoffswap.h,
+ efi-app-ia32.c, efi-app-ia64.c, elf-bfd.h, elf-eh-frame.c,
+ elf-hppa.h, elf-m10200.c, elf-m10300.c, elf-strtab.c, elf.c,
+ elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
+ elf32-cr16c.c, elf32-cris.c, elf32-crx.c, elf32-d10v.c,
+ elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
+ elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
+ elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+ elf32-iq2000.c, elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c,
+ elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, elf32-m88k.c,
+ elf32-mcore.c, elf32-mips.c, elf32-msp430.c, elf32-openrisc.c,
+ elf32-or32.c, elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c,
+ elf32-sh-symbian.c, elf32-sh.c, elf32-sh64-com.c, elf32-sh64.c,
+ elf32-sh64.h, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
+ elf32-xstormy16.c, elf32-xtensa.c, elf32.c, elf64-alpha.c,
+ elf64-gen.c, elf64-hppa.c, elf64-hppa.h, elf64-mips.c,
+ elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
+ elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elf64.c, elfcode.h,
+ elfcore.h, elflink.c, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c,
+ elfxx-mips.h, elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h,
+ epoc-pe-arm.c, epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c,
+ genlink.h, hash.c, host-aout.c, hp300bsd.c, hp300hpux.c,
+ hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
+ i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
+ i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
+ libaout.h, libbfd-in.h, libbfd.c, libbfd.h, libcoff-in.h,
+ libcoff.h, libecoff.h, libhppa.h, libieee.h, libnlm.h, liboasys.h,
+ libpei.h, libxcoff.h, linker.c, lynx-core.c, m68k4knetbsd.c,
+ m68klinux.c, m68klynx.c, m68knetbsd.c, m88kmach3.c, m88kopenbsd.c,
+ mach-o-target.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, mmo.c,
+ netbsd-core.c, netbsd.h, newsos3.c, nlm-target.h, nlm.c,
+ nlm32-alpha.c, nlm32-i386.c, nlm32-ppc.c, nlm32-sparc.c, nlm32.c,
+ nlm64.c, nlmcode.h, nlmswap.h, ns32k.h, ns32knetbsd.c, oasys.c,
+ opncls.c, osf-core.c, pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c,
+ pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, peXXigen.c,
+ pef-traceback.h, pef.c, pef.h, pei-arm.c, pei-i386.c, pei-mcore.c,
+ pei-mips.c, pei-ppc.c, pei-sh.c, peicode.h, ppcboot.c,
+ ptrace-core.c, reloc.c, reloc16.c, riscix.c, rs6000-core.c,
+ sco5-core.c, section.c, simple.c, som.c, som.h, sparclinux.c,
+ sparclynx.c, sparcnetbsd.c, srec.c, stab-syms.c, stabs.c, sunos.c,
+ syms.c, sysdep.h, targets.c, tekhex.c, ticoff.h, trad-core.c,
+ vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, vms-gsd.c,
+ vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, xcoff-target.h,
+ xcofflink.c, xsym.c, xsym.h, xtensa-isa.c, xtensa-modules.c,
+ hosts/alphavms.h
+
+2005-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (_bfd_elf_provide_section_bound_symbols): New.
+ * bfd-in2.h: Regenerated.
+
+ * elflink.c (bfd_elf_set_symbol): New.
+ (_bfd_elf_provide_symbol): Call it.
+ (_bfd_elf_provide_section_bound_symbols): New.
+
+2005-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Only skip weak definitions
+ at the end, if a strong definition has already been seen.
+
+2005-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (struct bfd_section): Replace link_order_head and
+ link_order_tail with map_head and map_tail union.
+ (STD_SECTION): Update.
+ (_bfd_strip_section_from_output): Delete.
+ * aoutx.h: Update throughout for above changes.
+ * coff-ppc.c: Likewise.
+ * cofflink.c: Likewise.
+ * ecoff.c: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elflink.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * elfxx-sparc.c: Likewise.
+ * linker.c: Likewise.
+ * merge.c: Likewise.
+ * pdp11.c: Likewise.
+ * xcofflink.c: Likewise.
+ * elflink.c (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Split
+ out from bfd_elf_size_dynamic_sections.
+ * bfd-in.h (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Declare.
+ * bfd-in2.h: Regenerate.
+
+2005-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_section_list_remove): Don't clear s->next.
+ (bfd_section_list_append): Always init s->prev.
+ (bfd_section_list_prepend): Define.
+ (bfd_section_list_insert_after): Minor optimization.
+ (bfd_section_removed_from_list): Rewrite.
+ * elf.c (assign_section_numbers): Simplify list traversal now that
+ bfd_section_list_remove doesn't destroy removed section next ptr.
+ * sunos.c (sunos_add_dynamic_symbols): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal.
+ * bfd-in2.h: Regenerate.
+
+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd.c (bfd): Remove section_tail and add section_last.
+ (bfd_preserve): Likewise.
+ (bfd_preserve_save): Likewise.
+ (bfd_preserve_restore): Likewise.
+ * opncls.c (_bfd_new_bfd): Likewise.
+
+ * coffcode.h (coff_compute_section_file_positions): Updated.
+ (coff_compute_section_file_positions): Likewise.
+ * elf.c (assign_section_numbers): Likewise.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elf64-mmix.c (mmix_elf_final_link): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_object_p): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
+ * sunos.c (sunos_add_dynamic_symbols): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+
+ * ecoff.c (bfd_debug_section): Initialize prev.
+
+ * section.c (bfd_section): Add prev.
+ (bfd_section_list_remove): Updated.
+ (bfd_section_list_append): New.
+ (bfd_section_list_insert_after): New.
+ (bfd_section_list_insert_before): New.
+ (bfd_section_list_insert): Removed.
+ (bfd_section_removed_from_list): Updated.
+ (STD_SECTION): Initialize prev.
+ (bfd_section_init): Updated.
+ (bfd_section_list_clear): Updated.
+
+ * bfd-in2.h: Regenerated.
+
+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_new_section_hook): Don't call
+ _bfd_elf_get_sec_type_attr on sections from input files.
+
+2005-05-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * merge.c (sec_merge_init): Call bfd_hash_table_init_n with
+ hash table size 16699 instead of bfd_hash_table_init.
+
+2005-05-01 Paul Brook <paul@codesourcery.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
+ definition has already been seen.
+
+2005-05-01 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
+ R_ARM_PLT32 the same as R_ARM_PC24.
+ (arm_add_to_rel): Ditto.
+
+2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.bfd: Add h8300*-*-rtemscoff.
+ Switch h8300*-*-rtems* to elf.
+
+2005-04-29 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * aclocal.m4, Makefile.in: Regnerated.
+
+2005-04-28 Paul Brook <paul@codesourcery.com>
+
+ Merge changes only applied to Makefile.in.
+ * Makefile.am (BFD32_BACKENDS): Add elfxx-sparc.lo
+ (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
+ (elfxx-sparc.lo): New rule.
+ (elf32-sparc.lo): Add elfxx-sparc.h dependency.
+ (elf64-sparc.lo): Likewise.
+
+2005-04-28 Julian Brown <julian@codesourcery.com>
+
+ * elflink.c (_bfd_elf_provide_symbol): Provide symbol for weak
+ import.
+
+2005-04-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (bfd_elf_sym_name): Also take "asection *".
+
+ * elf.c (bfd_elf_sym_name): Updated.
+ (group_signature): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
+ (ppc64_elf_edit_toc): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elflink.c (elf_link_input_bfd): Likewise.
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Call
+ bfd_elf_sym_name to get local symbol name when reporting errors.
+
+2005-04-27 Nick Clifton <nickc@redhat.com>
+
+ * elflink.c (elf_link_input_bfd): Handle the case where a badly
+ formatted input file results in a reloc which has no associated
+ global symbol.
+
+2005-04-26 Jerome Guitton <guitton@gnat.com>
+
+ * bfd.m4 (BFD_NEED_DECLARATION): Restore.
+
+2005-04-25 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
+ (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol,
+ sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections):
+ Likewise.
+
+2005-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 858
+ * elflink.c (elf_link_input_bfd): Make non-debugging reference
+ to discarded section an error.
+
+2005-04-21 Jerome Guitton <guitton@gnat.com>
+
+ * configure.in: Replace BFD_NEED_DECLARATION checks by the
+ corresponding AC_CHECK_DECLS.
+ * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding
+ HAVE_DECL_*.
+ * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete.
+ * configure: Regenerate.
+ * config.in: Ditto.
+
+2005-04-21 Andreas Schwab <schwab@suse.de>
+
+ * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove
+ unsigned from type of dynamic_interpreter.
+ * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove
+ casts again.
+
+ * elf.c (assign_section_numbers): Fix comment.
+
+2005-04-21 Jerome Guitton <guitton@gnat.com>
+
+ * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long
+ for struct som_exec_auxhdr fields.
+
+2005-04-21 Nick Clifton <nickc@redhat.com>
+
+ * aout-adobe.c: Convert to ISO C and fix formatting.
+ * aout-arm.c: Convert to ISO C and fix formatting.
+ * aout-cris.c: Convert to ISO C and fix formatting.
+ * aout-ns32k.c: Convert to ISO C and fix formatting.
+ * aout-tic30.c: Convert to ISO C and fix formatting.
+ * coffcode.h: Convert to ISO C and fix formatting.
+ * coffswap.h: Convert to ISO C and fix formatting.
+ * i386aout.c: Convert to ISO C and fix formatting.
+ * libaout.h: Convert to ISO C and fix formatting.
+ * libcoff-in.h: Convert to ISO C and fix formatting.
+ * libcoff.h: Convert to ISO C and fix formatting.
+ * libecoff.h: Convert to ISO C and fix formatting.
+ * libnlm.h: Convert to ISO C and fix formatting.
+ * libpei.h: Convert to ISO C and fix formatting.
+ * libxcoff.h: Convert to ISO C and fix formatting.
+ * nlm-target.h: Convert to ISO C and fix formatting.
+ * nlm.c: Convert to ISO C and fix formatting.
+ * nlm32-alpha.c: Convert to ISO C and fix formatting.
+ * nlm32-i386.c: Convert to ISO C and fix formatting.
+ * nlm32-ppc.c: Convert to ISO C and fix formatting.
+ * nlm32-sparc.c: Convert to ISO C and fix formatting.
+ * nlmcode.h: Convert to ISO C and fix formatting.
+ * nlmswap.h: Convert to ISO C and fix formatting.
+ * pe-mips.c: Convert to ISO C and fix formatting.
+ * peXXigen.c: Convert to ISO C and fix formatting.
+ * peicode.h: Convert to ISO C and fix formatting.
+ * vms-gsd.c: Convert to ISO C and fix formatting.
+ * vms-hdr.c: Convert to ISO C and fix formatting.
+ * vms-misc.c: Convert to ISO C and fix formatting.
+ * vms-tir.c: Convert to ISO C and fix formatting.
+ * vms.c: Convert to ISO C and fix formatting.
+ * vms.h: Convert to ISO C and fix formatting.
+
+ * coffgen.c (coff_print_symbol): Restore correct formatting of
+ output.
+
+2005-04-20 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning.
+ (_bfd_sparc_elf_link_hash_table_create): Likewise.
+ (allocate_dynrelocs): Likewise.
+
+2005-04-20 Jerome Guitton <guitton@gnat.com>
+
+ * configure.in: Fix the check for basename declaration. Add check
+ for declarations of ftello, ftello64, fseeko, fseeko64.
+ * configure: Regenerate.
+ * config.in: Ditto.
+ * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64.
+
+2005-04-19 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c: New file.
+ * elfxx-sparc.h: New file.
+ * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo
+ (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
+ (elfxx-sparc.lo): New rule.
+ (elf32-sparc.lo): Add elfxx-sparc.h dependency.
+ (elf64-sparc.lo): Likewise.
+ * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo
+ (bfd_elf64_sparc_vec): Likewise.
+ * configure: Regenerate.
+ * elf32-sparc.c: Remove common code now in elfxx-sparc.c
+ * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming
+ which is more consistent with elf32-sparc.c
+
+2005-04-19 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment.
+ (mips_elf_create_local_got_entry): Check h->root.forced_local.
+
+2005-04-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with
+ dynamic relocs in non-SEC_ALLOC sections.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (ppc_elf_relax_section): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+
+2005-04-18 Nick Clifton <nickc@redhat.com>
+
+ * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning
+ assigning a value to return_value.
+
+2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 855
+ * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
+ created group data.
+
+2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 855
+ * elf.c (setup_group): Properly handle zero group count.
+
+2005-04-17 Mark Kettenis <kettenis@gnu.org>
+
+ * som.c (hppa_som_reloc, som_mkobject, som_is_space)
+ (som_is_subspace, compare_subspaces, som_compute_checksum)
+ (som_build_and_write_symbol_table, som_slurp_symbol_table): New
+ protoypes.
+ (hppa_som_reloc, compare_syms, compare_subspaces)
+ (som_print_symbol, som_get_section_contents)
+ (som_set_section_contents): Remove space after 'void *'.
+ (som_bfd_print_private_bfd_data): Use %lx to print longs.
+ (som_bfd_merge_private_bfd_data)
+ (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New
+ defines.
+
+2004-04-15 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
+ (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
+ (bfd_elf32_arm_set_target_relocs): Handle use_blx.
+ (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
+ relocations if requested to.
+ (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
+ use_blx rather than symbian_p.
+ (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
+ use_blx is in effect.
+ (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
+ for SymbianOS.
+
+2005-04-15 Nick Clifton <nickc@redhat.com>
+
+ * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma
+ values.
+
+2005-04-15 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/815
+ * elflink.c (elf_smash_syms): Clear undef.next if it's not being
+ used as a list pointer.
+
+2005-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (NO_WERROR): Define.
+ * warning.m4: New file
+ * acinclude.m4: Include warning.m4.
+ * configure.in: Invoke AM_BINUTILS_WARNINGS.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2005-04-14 Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.
+ Write trailing padding.
+
+ * merge.c (merge_strings): Round up section size for alignment.
+
+2005-04-14 David S. Miller <davem@davemloft.net>
+
+ Add TLS support for 64-bit Sparc ELF.
+ * elf64-sparc.c (sparc64_elf_dyn_relocs,
+ sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
+ (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
+ sparc64_elf_hash_entry, sparc64_elf_tdata,
+ sparc64_elf_local_got_tls_type): New defines.
+ (sparc64_elf_mkobject): New function.
+ (sparc64_elf_link_hash_table): Add members for dynamic linker
+ sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
+ uion to track TLS GOT references. Add sym_sec to cache
+ mappings from local sym to section.
+ (link_hash_newfunc): New function.
+ (sparc64_elf_bfd_link_hash_table_create): Rename to
+ sparc64_elf_link_hash_table_create for consistency.
+ Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
+ (sparc64_elf_create_dynamic_sections): Initialize new section
+ members of sparc64_elf_link_hash_table. Only init srelbss
+ if not-shared.
+ (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
+ New functions.
+ (SPARC_NOP): Define.
+ (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
+ sparc64_elf_plt_ptr_offset): Delete.
+ (sparc64_plt_entry_build): New function to build PLT entries
+ gradually instread of all at once at the end of linking.
+ (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
+ local vars. Get them from sparc64_elf_hash_table instead.
+ Check early on if r_symndx is in bounds. Handle TLS transitions.
+ Account for TLS GOT references and DF_STATIC_TLS, as needed.
+ For TLS relocs, record the tls_type in either
+ sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
+ appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
+ to the __tls_get_addr symbol. For PLT relocs, track references
+ via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
+ PC_LM22} and h not-NULL, set h->non_got_ref. For global data
+ symbol references, count the number of relocations needed for
+ that symbol. For default switch case, don't error, this lets
+ the TLS relocs not explicitly handled by this function get
+ accepted.
+ (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
+ (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
+ it from sparc64_elf_hash_table. Store the real PLT offset
+ in h->plt.offset, and build PLT entries one at a time. Also
+ get .dynbss section pointer from htab.
+ (allocate_dynrelocs, readonly_dynrelocs,
+ sparc64_omit_section_dynsym): New functions.
+ (sparc64_elf_omit_section_dynsym): Use these new functions as
+ helpers.
+ (dtpoff_base, tpoff): New functions.
+ (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
+ locals, get them from sparc64_elf_hash_table. Handle TLS
+ relocations and refcounting in main relocation loop.
+ (sparc64_elf_finish_dynamic_symbol): Use
+ sparc64_elf_link_hash_table. Build PLT entries as we see
+ them. Handle TLS GOT relocations.
+ (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
+ from sparc64_elf_hash_table. Initialize only PLT header
+ not all entries since we not build PLT entries one by one.
+ (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
+ elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
+ elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
+
+2005-04-13 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elflink.c (elf_link_input_bfd): Update check for removed
+ sections.
+
+2005-04-12 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * libcoff.h: Regenerate.
+
+2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * linker.c (_bfd_generic_link_output_symbols): Also check if
+ the output section of an input section has been removed from
+ the output file.
+
+ * section.c (bfd_section_list_remove): Clear the next field
+ of the removed section.
+ (bfd_section_removed_from_list): New.
+ * bfd-in2.h: Regenerated.
+
+2005-04-11 David S. Miller <davem@davemloft.net>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section,
+ R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
+ R_SPARC_TLS_LE_{HIX22,LOX10}.
+ (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
+ xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
+ (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
+ or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
+
+2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
+
+2005-04-11 Nick Clifton <nickc@redhat.com>
+
+ * aout-target.h: Convert to ISO C.
+ * aoutf1.h: Convert to ISO C.
+ * aoutx.h: Convert to ISO C.
+ * bout.c: Convert to ISO C.
+ * dwarf1.c: Convert to ISO C.
+ * ecoffswap.h: Convert to ISO C.
+ * freebsd.h: Convert to ISO C.
+ * genlink.h: Convert to ISO C.
+ * ieee.c: Convert to ISO C.
+ * ihex.c: Convert to ISO C.
+ * libcoff-in.h: Convert to ISO C.
+ * mach-o.c: Convert to ISO C.
+ * mach-o.h: Convert to ISO C.
+ * netbsd.h: Convert to ISO C.
+ * ns32k.h: Convert to ISO C.
+ * ns32knetbsd.c: Convert to ISO C.
+ * oasys.c: Convert to ISO C.
+ * pdp11.c: Convert to ISO C.
+ * pef-traceback.h: Convert to ISO C.
+ * pef.c: Convert to ISO C.
+ * pef.h: Convert to ISO C.
+ * riscix.c: Convert to ISO C.
+ * som.c: Convert to ISO C.
+ * som.h: Convert to ISO C.
+ * srec.c: Convert to ISO C.
+ * stabs.c: Convert to ISO C.
+ * sunos.c: Convert to ISO C.
+ * tekhex.c: Convert to ISO C.
+ * versados.c: Convert to ISO C.
+ * version.h: Convert to ISO C.
+ * xcoff-target.h: Convert to ISO C.
+ * xcofflink.c: Convert to ISO C.
+ * xsym.c: Convert to ISO C.
+ * xsym.h: Convert to ISO C.
+
+2005-04-08 Paul Brook <paul@codesourcery.com>
+
+ * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
+ (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
+ (ARM2THUMB_PIC_GLUE_SIZE): Define.
+ (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
+ (elf32_arm_to_thumb_stub): Create PIC stubs.
+ (record_arm_to_thumb_glue): Use different stub size for relocatable
+ images.
+
+2005-04-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (dec_dynrel_count): New function split out from
+ ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
+ (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
+ (ppc64_elf_tls_optimize): Likewise.
+
+2005-04-05 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from
+ CORE_WCOOKIE_OFFSET.
+ (SPARC64_WCOOKIE_OFFSET): New.
+ (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64.
+
+2005-04-05 Nick Clifton <nickc@redhat.com>
+
+ * po/rw.po: New translation: Kinyarwanda
+ * configure.in (ALL_LINGUAS): Add rw
+ * configure: Regenerate.
+
+2005-04-05 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
+ (_bfd_mips_elf_section_from_shdr): Use it to check for recognized
+ SHT_MIPS_OPTIONS names. Allow all sections with unrecognised
+ section flags.
+ (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
+ to check for SHT_MIPS_OPTIONS sections.
+ (_bfd_mips_elf_set_section_contents): Likewise.
+
+2005-04-04 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
+ Clean up gp handling code.
+
+2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (bfd_elf_set_group_contents): Ignore linker created
+ group section.
+ (assign_section_numbers): Accept link_info. Check SHT_GROUP
+ sections for relocatable files only. Remove the linker created
+ group sections.
+ (_bfd_elf_compute_section_file_positions): Pass link_info to
+ assign_section_numbers.
+
+ * elfxx-ia64.c (elfNN_ia64_object_p): New.
+ (elf_backend_object_p): Defined.
+
+2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_section_data): Use (sec) instead of sec.
+
+2005-04-03 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
+ dwarf_ranges_size members.
+ (struct comp_unit): Add base_address member.
+ (struct funcinfo): Replace low/high members with an arange.
+ (arange_add): Replace incoming "unit" parameter with "abfd" and
+ "first_arange" pointers. Reorganize/rewrite function body.
+ (decode_line_info): Change arange_add call to pass bfd and arange
+ pointers.
+ (lookup_address_in_line_info_table): Use arange list instead of
+ individual low/high members. Walk function's arange list to find
+ lowest PC in list, to test for overlapping functions.
+ (read_debug_ranges): New function, reads the debug_ranges section.
+ (lookup_address_in_function_table): Use arange list instead of
+ individual low/high members. Rewrite to find smallest range that
+ matches.
+ (read_rangelist): Read a given rangelist from debug_ranges.
+ (scan_unit_for_functions): Use arange list instead of individual
+ low/high members. Handle a DW_AT_ranges attribute.
+ (parse_comp_unit): Use arange list instead of individual low/high
+ members. Save comp unit base address. Handle a DW_AT_ranges
+ attribute.
+
+2005-04-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (assign_section_numbers): Really use the kept section.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (_bfd_elf_check_kept_section): New.
+
+ * elf.c (assign_section_numbers): When sh_link points to a
+ discarded section, call _bfd_elf_check_kept_section to see if
+ the kept section can be used. Otherwise reject sh_link
+ pointing to discarded section.
+
+ * elflink.c (_bfd_elf_check_kept_section): New.
+ (elf_link_input_bfd): Use it.
+
+2005-04-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
+ that we no longer need.
+
+2005-04-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
+ rather than 0.
+ (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (assign_section_numbers): Fix a typo.
+
+2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_input_bfd): Remove the extra `\n' in
+ error message.
+ (_bfd_elf_section_already_linked): Likewise.
+
+2005-03-31 Jerome Guitton <guitton@gnat.com>
+
+ * config.in: Regenerate.
+
+2005-03-31 Jerome Guitton <guitton@gnat.com>
+
+ * config.in (HAVE_DECL_BASENAME): New configure macro.
+ * configure.in: Check for basename.
+ * configure: Regenerate.
+
+2005-03-30 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * bfd-in2.h: Regenerate.
+ * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
+ bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
+ (arm_elf_find_function): Likewise.
+ (elf32_arm_output_symbol_hook): Likewise.
+
+2005-03-30 Julian Brown <julian@codesourcery.com>
+
+ * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
+ bfd_elf32_is_arm_mapping_symbol_name.
+ (elf32_arm_output_symbol_hook): Likewise.
+ (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
+ mapping symbols.
+ (is_arm_mapping_symbol_name): Function moved from here...
+ * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
+ and made global.
+
+2005-03-29 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * configure.in: Check for ffs decl and alphabetize.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize.
+
+2005-03-29 Fred Fish <fnf@specifixinc.com>
+
+ * dwarf2.c (struct comp_unit): Fix typo.
+ (scan_unit_for_functions): Remove unused local variable "name"
+ and dead code that set it.
+
+2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
+ Phil Blundell <philb@gnu.org>
+
+ * bfd-in2.h, libbfd.h: Regenerated.
+ * reloc.c: Add ARM TLS relocations.
+ * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
+ relocations.
+ (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
+ (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
+ (elf32_arm_tls_ie32_howto): New.
+ (elf32_arm_howto_from_type): Support TLS relocations.
+ (elf32_arm_reloc_map): Likewise.
+ (elf32_arm_reloc_type_lookup): Likewise.
+ (TCB_SIZE): Define.
+ (struct elf32_arm_obj_tdata): New.
+ (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
+ (elf32_arm_mkobject): New function.
+ (struct elf32_arm_relocs_copied): Add pc_count.
+ (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
+ (GOT_TLS_IE): Define.
+ (struct elf32_arm_link_hash_table): Add tls_ldm_got.
+ (elf32_arm_link_hash_newfunc): Initialize tls_type.
+ (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
+ (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
+ (dtpoff_base, tpoff): New functions.
+ (elf32_arm_final_link_relocate): Handle TLS relocations.
+ (IS_ARM_TLS_RELOC): Define.
+ (elf32_arm_relocate_section): Warn about TLS mismatches.
+ (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
+ (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
+ TLS relocations and pc_count.
+ (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
+ (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
+ calls.
+ (elf32_arm_size_dynamic_sections): Handle TLS.
+ (elf32_arm_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject): Define.
+
+2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
+ relocation types. Don't count relocations which will use a PLT.
+
+2005-03-29 Joel Brobecker <brobecker@gnat.com>
+
+ * elf.c (elfcore_grok_nto_status): Print tid as long.
+ (elfcore_grok_nto_regs): Likewise.
+
+2005-03-29 Joel Brobecker <brobecker@gnat.com>
+
+ * irix-core.c: Remove some unnecessary prototypes.
+
+2005-03-28 Joel Brobecker <brobecker@adacore.com>
+
+ * irix-core.c: Convert to ISO C.
+
+2005-03-28 Joel Brobecker <brobecker@adacore.com>
+
+ * irix-core.c (do_sections): Replace + by | in expression.
+ (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
+ to unused parameters to avoid a compiler warning.
+
+2005-03-28 Mark Kettenis <kettenis@gnu.org>
+
+ * netbsd-core.c: Convert to ISO C. Fix formatting.
+
+2005-03-24 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c: Revert previous patch.
+
+2005-03-24 Nick Clifton <nickc@redhat.com>
+
+ * targets.c (_bfd_target_vector): Only include the
+ bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
+ all targets enabled.
+
+2005-03-24 James E Wilson <wilson@specifixinc.com>
+
+ * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
+ (BFD64_BACKENDS): Add elf32-ia64.lo.
+ * Makefile.in: Regenerate.
+
+2005-03-23 Eric Christopher <echristo@redhat.com>
+
+ * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
+ (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
+ after emitting relocation.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
+ (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
+ and readonly_reloc.
+
+2005-03-23 Mike Frysinger <vapier@gentoo.org>
+ Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Accept any C library to accompany a GNU Linux
+ implementation, not just the GNU C library.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (_bfd_elf_provide_symbol): New.
+ * bfd-in2.h: Regenerated.
+
+ * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
+ (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
+ of set_linker_sym.
+
+ * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
+ from elf32-ppc.c.
+
+2005-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
+
+2005-03-22 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
+ xtensa_sysreg_lookup_name, xtensa_interface_lookup,
+ xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
+ (xtensa_opcode_decode): Rearrange code.
+
+2005-03-22 Nick Clifton <nickc@redhat.com>
+
+ * binary.c: Convert to ISO C90 formatting.
+ * coff-arm.c: Convert to ISO C90 formatting.
+ * coffgen.c: Convert to ISO C90 formatting.
+ * elf32-gen.c: Convert to ISO C90 formatting.
+ * elf64-gen.c: Convert to ISO C90 formatting.
+ * hash.c: Convert to ISO C90 formatting.
+ * ieee.c: Convert to ISO C90 formatting.
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
+ unresolved symbols in R_ARM_NONE relocations.
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Add
+ UNRESOLVED_RELOC_P argument. Set it appropriately.
+ (elf32_arm_relocate_section): Update call to
+ elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
+ unresolved_reloc instead.
+
+2005-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
+ .gnu.warning.* sections.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (elf_linker_section_pointers_t): Remove
+ written_address_p.
+ (ppc_elf_create_linker_section): Don't try to reuse existing section.
+ (elf_create_pointer_linker_section): Delete info parm. Don't make
+ h dynamic. Don't set written_address_p.
+ (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
+ (bfd_put_ptr): Delete.
+ (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
+ Always write section contents. Assert global sym is def_regular.
+ Use offset bottom bit as a written flag.
+ (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
+ calls.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
+ (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
+ and end syms.
+
+2005-03-21 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
+ targets.
+ (t2a1_bx_pc_insn): Likewise.
+ (t2a2_noop_insn): Likewise.
+ (t2a3_b_insn): Likewise.
+ (t2a1_push_insn): Likewise.
+ (t2a2_ldr_insn): Likewise.
+ (t2a3_mov_insn): Likewise.
+ (t2a4_bx_insn): Likewise.
+ (t2a5_pop_insn): Likewise.
+ (t2a6_bx_insn): Likewise.
+ (coff_arm_relocate_section): Only declare the high_address
+ variable for non WINCE targets.
+
+2005-03-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
+ SEC_LINKER_CREATED. Attach to dynobj.
+ (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
+ sym_offset. Add name, bss_name, sym_name, sym_val.
+ (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
+ Add sdata array of elf_linker_section_t.
+ (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
+ (enum elf_linker_section_enum): Delete.
+ (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
+ (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
+ the special sections are needed. Adjust htab->sdata refs.
+ Ensure dynobj is set in sreloc code.
+ (ppc_elf_size_dynamic_sections): Strip sdata sections.
+ (ppc_elf_set_sdata_syms): New function.
+ (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
+ (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
+ sym_val instead of sym_hash.
+ * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
+ (ppc_elf_merge_private_bfd_data): Likewise.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
+ (ppc_elf_create_linker_section): Don't create rel_section.
+ (elf_create_pointer_linker_section): Don't size relocs.
+ (elf_finish_pointer_linker_section): Remove relative_reloc parm.
+ Don't generate relocs.
+ (ppc_elf_relocate_section): Adjust calls to
+ elf_finish_pointer_linker_section.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (is_ppc_elf_target): New function.
+ (ppc_elf_merge_private_bfd_data): Use it rather than just testing
+ for bfd_target_elf_flavour. Do this test before endian check.
+ (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
+ (ppc_elf_size_dynamic_sections): Likewise.
+
+2005-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_backend_data): Add int to
+ elf_backend_section_from_shdr.
+ (bfd_elf_section_data): Update comment for this_idx.
+ (_bfd_elf_make_section_from_shdr): Add int.
+ * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Take section index
+ and use it to set this_idx in bfd_elf_section_data.
+ (bfd_section_from_shdr): Pass shindex to
+ _bfd_elf_make_section_from_shdr.
+ (_bfd_elf_section_from_bfd_section): Use this_idx in
+ bfd_elf_section_data to find section index.
+
+ * elf32-arm.c (elf32_arm_section_from_shdr): Take section
+ index and pass it to _bfd_elf_make_section_from_shdr.
+ * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
+ * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+ * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+ * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+
+2005-03-19 Danny Smith <dannysmith@users.sourceforge.net>
+ Ross Ridge <rridge@csclub.uwaterloo.ca>
+
+ * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
+ character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
+ cases. Add comment.
+
+2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_mark_used_section): Remove check for special
+ sections.
+
+2005-03-18 Andreas Schwab <schwab@suse.de>
+
+ * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
+ from bfd_vma to ia64_insn, remove broken cast.
+
+2005-03-18 C Jaiprakash <cjaiprakash@noida.hcltech.com>
+
+ * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
+ (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
+ elf_m68k_finish_dynamic_sections): Use it.
+
+2005-03-17 Paul Brook <paul@codesourcery.com>
+ Dan Jacobowitz <dan@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_modify_segment_map): New function.
+ (elf32_arm_additional_program_headers): Likewise.
+ (elf_backend_modify_segment_map): Define.
+ (elf_backend_additional_program_headers): Likewise.
+ (elf32_arm_symbian_modify_segment_map): Use
+ elf32_arm_modify_segment_map.
+
+2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_mark_used_section): Check bfd_is_const_section
+ for special sections.
+
+2005-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
+ * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
+ section_sym_count param, and return number of section symbols.
+ (bfd_elf_size_dynamic_sections): Clear section symbol area of
+ .dynsym contents. Don't bother calling swap_symbol_out on the
+ first all-zero dynsym.
+ (elf_mark_used_section): Formatting. Avoid twiddling flags in
+ special sections like bfd_abs_section.
+ (bfd_elf_gc_sections): Spelling fix.
+
+2005-03-16 Fred Fish <fnf@specifixinc.com>
+
+ PR binutils/790
+ * dwarf2.c (read_indirect_string): Fix apparent typo, check
+ dwarf_str_buffer allocation, not dwarf_abbrev_buffer.
+
+2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_mark_used_section): New.
+ (bfd_elf_gc_sections): Call elf_gc_mark_section for
+ non-relocatable link if we don't do GC.
+
+2005-03-16 Nick Clifton <nickc@redhat.com>
+ Ben Elliston <bje@au.ibm.com>
+
+ * configure.in (werror): New switch: Add -Werror to the
+ compiler command line. Enabled by default. Disable via
+ --disable-werror.
+ * configure: Regenerate.
+
+2005-03-16 Nick Clifton <nickc@redhat.com>
+
+ * ecoff.c: Convert to ISO C90 formatting.
+
+2005-03-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c: Divide file into general and linker specific
+ functions. Sort linker functions into roughly the order in which
+ they are called by the ELF linker code.
+
+2005-03-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
+ on section. Correct comment, and add FIXME.
+ (ppc_elf_additional_program_headers): Don't bump header count for
+ interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
+ (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
+ do allocate memory if they need it.
+
+2005-03-15 Mikkel Krautz <krautz@gmail.com>
+
+ * config.bfd (x86_64-elf): Add target.
+
+2005-03-15 Alan Modra <amodra@bigpond.net.au>
+
+ * po/es.po: Commit new Spanish translation.
+
+2005-03-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
+ for global symbol when reporting overflow.
+
+2005-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ * libbfd-in.h (_bfd_ar_spacepad): New prototype.
+ * libbfd.h: Rebuilt.
+ * archive.c (_bfd_ar_spacepad): New function.
+ (_bfd_construct_extended_name_table, _bfd_write_archive_contents,
+ bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
+ coff_write_armap): Use it.
+ (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large
+ uid/gid support.
+ * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
+
+2005-03-10 Mark Kettenis <kettenis@gnu.org>
+
+ * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
+ has_table to the start of the function.
+
+2005-03-10 Ben Elliston <bje@au.ibm.com>
+
+ * archive.c: Include hashtab.h.
+ (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
+ (_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
+ (hash_file_ptr): New function.
+ (eq_file_ptr): Likewise.
+ (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
+ * libbfd-in.h: Include hashtab.h.
+ (struct artdata): Change `cache' member type to htab_t.
+ * libbfd.h: Rebuild.
+
+2005-03-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * configure.in: Bump version to 2.16.90.
+ * configure: Regenerated.
+
+2005-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
+ close is a function like macro in system headers.
+
+2005-03-07 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/778
+ * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
+ _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
+
+2005-03-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elfcore_grok_win32pstatus): Warning fixes.
+
+2005-03-05 Alan Modra <amodra@bigpond.net.au>
+
+ * po/bfd.pot: Regenerate.
+
+2005-03-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
+ with is_func.
+ (func_desc_adjust): Force dot-syms local in executables as well
+ as shared libs.
+
+2005-03-04 David Daney <ddaney@avtrex.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Handle special
+ '__gnu_local_gp' symbol used by gas -mno-shared.
+
+2005-03-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (elf_backend_data): Add "const char *" to
+ elf_backend_section_from_phdr.
+
+ * elf.c (bfd_section_from_phdr): Pass "proc" to the
+ elf_backend_section_from_phdr hook.
+
+2005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * elfxx-mips.c (struct mips_got_entry): Add tls_type.
+ (struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
+ and tls_ldm_offset.
+ (struct mips_elf_got_per_bfd_arg): Add global_count.
+ (struct mips_elf_count_tls_arg): New.
+ (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
+ (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
+ (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
+ (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
+ (TLS_RELOC_P): Define.
+ (TP_OFFSET, DTP_OFFSET): Define.
+ (dtprel_base, tprel_base): New functions.
+ (mips_elf_link_hash_newfunc): Initialize tls_type.
+ (mips_elf_got_entry_hash, mips_elf_got_entry_eq)
+ (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
+ TLS entries.
+ (mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
+ (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
+ (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
+ (mips_tls_got_index): New functions.
+ (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
+ arguments. Pass them to mips_elf_create_local_got_entry. Use
+ mips_tls_got_index.
+ (mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
+ Handle TLS entries.
+ (mips_elf_got_page, mips_elf_got16_entry): Update calls to
+ mips_elf_create_local_got_entry.
+ (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
+ arguments. Handle TLS entries.
+ (mips_elf_sort_hash_table_f): Add non-TLS assertions.
+ (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle
+ TLS entries.
+ (mips_elf_record_global_got_symbol): Likewise.
+ (mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
+ Count TLS entries.
+ (mips_elf_merge_gots): Handle TLS entries when merging.
+ (mips_elf_initialize_tls_index): New function.
+ (mips_elf_set_global_got_offset): Handle TLS entries.
+ (mips_elf_adjust_gp): Handle TLS.
+ (mips_elf_multi_got): Remove redundant call to
+ mips_elf_resolve_final_got_entries. Initialize global_count.
+ Correct a comment. Initialize new TLS members of mips_got_info.
+ Assign TLS GOT indexes for new GOTs.
+ (mips_elf_create_got_section): Initialize new TLS members of
+ mips_got_info.
+ (mips_elf_calculate_relocation): Handle TLS relocs.
+ (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed
+ functions.
+ (_bfd_mips_elf_always_size_sections): Handle TLS.
+ (_bfd_mips_elf_size_dynamic_sections): Likewise.
+ (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to
+ changed functions.
+ (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
+ (_bfd_mips_elf_hide_symbol): Handle TLS.
+ * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
+ (mips_reloc_map): Add TLS relocs.
+ * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
+ * elf64-mips.c (mips_elf64_howto_table_rel)
+ (mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
+ * reloc.c: Define new MIPS TLS relocations.
+ * libbfd.h, bfd-in2.h: Regenerated.
+
+2005-03-02 Jan Beulich <jbeulich@novell.com>
+
+ * Makefile.am: Add dependency of cache.o on libiberty.h.
+ * cache.c: Include libiberty.h.
+ (bfd_open_file): Use unlink_if_ordinary instead of unlink.
+
+2005-03-01 Zack Weinberg <zack@codesourcery.com>
+
+ * elf.c (bfd_section_from_shdr <default case>): Call
+ elf_backend_section_from_shdr hook unconditionally, and return
+ what it returns.
+ (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
+ * elfxx-target.h (elf_backend_section_from_shdr)
+ (elf_backend_section_from_phdr): Default to
+ _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
+ respectively.
+
+2005-03-01 Alan Modra <amodra@bigpond.net.au>
+
+ * targets.h: Typo fix.
+ * bfd-in2.h: Regenerate.
+
+ * bout.c (b_out_write_object_contents): Don't use sizeof on host
+ structs to size on-disk structures.
+ (b_out_set_section_contents): Size the external struct, not the
+ internal one for on-disk size.
+ (b_out_sizeof_headers): Likewise.
+
+2005-03-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
+ entry points with the func descriptor as well as undefweak.
+
+2005-02-28 Ross Ridge <rridge@csclub.uwaterloo.ca>
+
+ * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
+ present when IMPORT_NAME_UNDOECRATE is used.
+
+2005-02-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 757
+ * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
+ int.
+
+ * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
+ to _bfd_elf_merge_symbol.
+
+ * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
+ unsigned int to return the alignment of the old common symbol
+ in the dynamic object.
+ (_bfd_elf_add_default_symbol): Pass NULL to
+ _bfd_elf_merge_symbol.
+ (elf_link_add_object_symbols): Pass &old_alignment to
+ _bfd_elf_merge_symbol. Get the alignment of the new common
+ symbol in the dynamic object.
+
+2005-02-24 Ben Elliston <bje@au.ibm.com>
+
+ * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
+ * format.c (bfd_check_format_matches): Likewise.
+ * archive.c (BFD_GNU960_ARMAG): Likewise.
+ (bfd_generic_archive_p): Likewise.
+ (_bfd_write_archive_contents): Likewise.
+
+2005-02-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
+ * configure: Regenerate.
+
+2005-02-24 Julian Brown <julian@sirius.codesourcery.com>
+
+ * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
+ COMDAT group sections to have default visibility.
+
2005-02-24 Alan Modra <amodra@bigpond.net.au>
* coffcode.h (coff_print_aux): Warning fix.
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,
+ sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c,
hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
throughout. Similarly, collapse #if 1'd code.
between include sections when have the same sum but which
nevertheless are still unique.
-2004-03-31 Mattias Engdegård <mattias@virtutech.se>
+2004-03-31 Mattias Engdegård <mattias@virtutech.se>
* stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.