+2008-12-23 Nick Clifton <nickc@redhat.com>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs
+ field.
+ (_bfd_elf_make_ifunc_reloc_section): Remove prototype.
+ * elf.c (swap_out_syms): Remove STT_IFUNC support.
+ (elf_find_function): Likewise.
+ * elf32-arm.c (arm_elf_find_function): Likewise.
+ (elf32_arm_adjust_dynamic_symbol): Likewise.
+ (elf32_arm_swap_symbol_in): Likewise.
+ (elf32_arm_is_function_type): Likewise.
+ * elf32-i386.c (is_indirect_symbol): Delete.
+ (elf_i386_check_relocs): Remove STT_IFUNC support.
+ (allocate_dynrelocs): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ * elf64-x86-64.c (is_indirect_symbol): Delete.
+ (elf64_x86_64_check_relocs): Remove STT_IFUNC support.
+ (allocate_dynrelocs): Likewise.
+ (elf64_x86_64_relocate_section): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elflink.c (_bfd_elf_adjust_symbol): Likewise.
+ (get_ifunc_reloc_section_name): Delete.
+ (_bfd_elf_make_ifunc_reloc_section): Delete.
+ * syms.c (BSF_INDIRECT_FUNCTION): Delete.
+ (bfd_print_symbol_vandf): Remove STT_IFUNC support.
+ (bfd_decode_symclass): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2008-12-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_howto_table): Add entry for R_CRIS_32_IE.
+ (cris_reloc_map): Similarly.
+ (cris_elf_relocate_section, cris_elf_gc_sweep_hook)
+ (cris_elf_check_relocs): Handle R_CRIS_32_IE.
+ * reloc.c (bfd_reloc_code_type): Add entry for R_CRIS_32_IE.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure: Regenerate.
+
+2008-12-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_copy_indirect_symbol): Return without
+ action for symbols other than bfd_link_hash_indirect.
+ (cris_elf_relocate_section) <R_CRIS_8, R_CRIS_16, R_CRIS_32>: Add missing
+ gate h != NULL for h->def_regular test.
+
+2008-12-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_copy_indirect_symbol): New function.
+ (elf_backend_copy_indirect_symbol): Define to above.
+
+ * elf32-cris.c (struct elf_cris_pcrel_relocs_copied): New member
+ r_type. Fix formatting.
+ (cris_elf_relocate_section) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
+ <R_CRIS_32_PCREL>: Also break early if the symbol doesn't get
+ emitted as a dynamic one.
+ (cris_elf_check_relocs) <R_CRIS_7, R_CRIS_16, R_CRIS_32>: Fork
+ from PCREL relocs code and simplify; don't fall through.
+ <R_CRIS_8_PCREL, R_CRIS_16_PCREL, R_CRIS_32_PCREL>: Simplify for
+ pcrel only. For non-local or overridable symbols in a DSO, always
+ keep count of relocs, not just when -Bsymbolic. Don't emit
+ message nor mark as TEXTREL here.
+ (elf_cris_discard_excess_dso_dynamics): Emit warning and mark as
+ TEXTREL here, if there are nondiscarded pcrel relocs.
+
+ * elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize
+ using ibfd, not abfd.
+
+2008-12-11 Alan Modra <amodra@bigpond.net.au>
+
+ PR 7041
+ * elf64-ppc.c (func_desc_adjust): Correct logic making fake function
+ descriptors. Similarly correct making function descriptors dynamic.
+
+2008-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-spu.h (struct spu_elf_params): Add num_regions.
+ * elf32-spu.c (spu_elf_auto_overlay): Handle multiple overlay regions.
+
+2008-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-spu.g (struct spu_elf_params, enum _ovly_flavour): New.
+ (spu_elf_setup): Declare.
+ (spu_elf_create_sections, spu_elf_size_stubs): Update prototype.
+ (spu_elf_build_stubs, spu_elf_check_vma): Likewise.
+ * elf32-spu.c (struct spu_link_hash_table): Add "params". Remove
+ various other fields now in "params". Adjust code throughout.
+ (struct call_info, struct function_info): Move earlier in file.
+ (struct spu_elf_stack_info): Likewise.
+ (spu_elf_setup): New function.
+ (spu_elf_create_sections): Remove args other than "info".
+ (spu_elf_size_stubs, spu_elf_build_stubs, spu_elf_check_vma): Likewise.
+ (maybe_needs_stubs): Remove "output_bfd" arg. Adjust all calls.
+ (interesting_section): Similarly with "obfd" arg.
+ (needs_ovl_stub): Adjust output_section test.
+ (allocate_spuear_stubs): Likewise.
+ (OVL_STUB_SIZE): Don't define.
+ (ovl_stub_size): New function, use in place of OVL_STUB_SIZE.
+ (build_stub): Test params->ovly_flavour rather than OVL_STUB_SIZE.
+ (spu_elf_auto_overlay): Remove args other than "info". Make use
+ of size returned from spu_elf_load_ovl_mgr.
+ (spu_elf_stack_analysis): Remove args other than "info".
+ (spu_elf_relocate_section): Tidy setting of "ea".
+
+2008-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-spu.c (find_function_stack_adjust): Don't limit number
+ of insns scanned. Correct sp tests. Handle "fsmbi" and "andbi".
+ (mark_detached_root): New function.
+ (build_call_tree): Call it.
+ (sort_calls): Don't do void* arithmetic.
+ (define_ovtab_symbol): Don't abort on symbols defined in linker scripts.
+ (discover_functions): Consider STT_SECTION symbols too.
+ (collect_lib_sections): Don't cut short call tree traversal
+ when function size is too large.
+
+2008-12-09 Tom Tromey <tromey@redhat.com>
+
+ * pef.c (bfd_pef_parse_traceback_table): Add parens to placate gcc
+ 4.4.
+
+2008-12-09 Tristan Gingold <gingold@adacore.com>
+
+ * cpu-avr.c (compatible): Makes avr-6 compatible only with itself.
+
+2008-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * elf64-s390.c (elf_s390_check_relocs): Initialize
+ htab->elf.dynobj if necessary.
+
+2008-12-03 Nick Clifton <nickc@redhat.com>
+
+ * syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION.
+ Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE. Renumber flags
+ to remove gaps.
+ (bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION.
+ (bfd_decode_symclass): Likewise.
+ * elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into
+ STT_IFUNC.
+ (elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC.
+ (_bfd_elf_is_function_type): Likewise.
+ * elf32-arm.c (arm_elf_find_function): Likewise.
+ (elf32_arm_adjust_dynamic_symbol): Likewise.
+ (elf32_arm_swap_symbol_in): Likewise.
+ (elf32_arm_additional_program_headers): Likewise.
+ * elf32-i386.c (is_indirect_symbol): New function.
+ (elf_i386_check_relocs): Also generate dynamic relocs for
+ relocations against STT_IFUNC symbols.
+ (allocate_dynrelocs): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ * elf64-x86-64.c (is_indirect_symbol): New function.
+ (elf64_x86_64_check_relocs): Also generate dynamic relocs for
+ relocations against STT_IFUNC symbols.
+ (allocate_dynrelocs): Likewise.
+ (elf64_x86_64_relocate_section): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into
+ BSF_INDIRECT_FUNCTION.
+ * elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support
+ for STT_IFUNC symbols.
+ (get_ifunc_reloc_section_name): New function.
+ (_bfd_elf_make_ifunc_reloc_section): New function.
+ * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field.
+ * bfd-in2.h: Regenerate.
+
+2008-12-02 Tristan Gingold <gingold@adacore.com>
+
+ * config.bfd: Add x86_64-*-darwin*
+
+2008-11-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * hpux-core.c: Don't include sys/file.h.
+
+2008-11-28 Joshua Kinard <kumba@gentoo.org>
+
+ * aoutx.h (NAME): Add case statements for bfd_mach_mips14000,
+ bfd_mach_mips16000.
+ * archures.c (bfd_architecture): Add .#defines for bfd_mach_mips14000,
+ bfd_mach_mips16000.
+ * bfd-in2.h: Regenerate.
+ * cpu-mips.c: Add enums I_mips14000, I_mips16000.
+ (arch_info_struct): Add refs to R14000, R16000.
+ * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips14000,
+ bfd_mach_mips16000.
+ (mips_mach_extensions): Map R14000, R16000 to R10000.
+
+2008-11-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+ * Add PIC support for CR16 target.
+ * elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
+ R_CR16_GLOB_DAT): New macros
+ (cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20,
+ R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
+ (cr16_reloc_map): Ditto
+ (_bfd_cr16_elf_create_got_section): New function to create GOT section.
+ (_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic
+ section.
+ (_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol
+ defined by dynamic object.
+ (_bfd_cr16_elf_size_dynamic_sections): New function to find the size of
+ dynamic sections.
+ (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
+ symbols.
+ (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
+ sections.
+ (bfd_cr16_elf32_create_embedded_relocs): New function to create
+ embedded relocs in .emreloc section in memory for .data.rel section.
+ (_bfd_cr16_elf_reloc_type_class): New function for classify reloc types.
+ (cr16_elf_check_relocs): New function for checking reloc types in first
+ phase.
+ (cr16_elf_final_link_relocate): Update for handling the new reloc types
+ R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20.
+ (elf32_cr16_relax_section): Update relax implementation.
+ * reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20,
+ R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
+ * bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared
+ * libbfd.h, bfd-in2.h: Regenerate.
+
2008-11-26 Alan Modra <amodra@bigpond.net.au>
PR 7047