+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.
(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.
+ 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.
* 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.
2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (bfd_elf_set_group_contents): Ignore linker created
- group section.
+ group section.
(assign_section_numbers): Accept link_info. Check SHT_GROUP
sections for relocatable files only. Remove the linker created
group sections.
* configure.in: Check for ffs decl and alphabetize.
* config.in: Regenerate.
* configure: Regenerate.
- * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and
- alphabetize.
+ * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize.
2005-03-29 Fred Fish <fnf@specifixinc.com>