+2008-11-25 Joseph Myers <joseph@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Do not turn
+ branches to undefine weak symbols into branches to the next
+ instruction if creating PLT entries for those symbols.
+
+2008-11-25 Nick Clifton <nickc@redhat.com>
+
+ * elflink.c (is_reloc_section): New function. Returns true if the
+ given name matches the name of the reloc-containing section
+ associated with the given section.
+ (get_dynamic_reloc_section_name): New function. Computes the name
+ of the section that contains the dynamic relocs associated with
+ the given section.
+ (_bfd_elf_get_dynamic_reloc_section): New function. Returns a
+ pointer to the section containing the dynamic relocs associated
+ with the given section.
+ (_bfd_elf_make_dynamic_reloc_section): New function. Creates a
+ section to contain the dynamic relocs associated with a given
+ section.
+ * elf-bfd.h: Prototype the new functions.
+ * elf-m10300.c (mn10300_elf_check_relocs): Use new functions.
+ (mn10300_elf_final_link_relocs): Likewise.
+ * elf32-arm.c (reloc_section_p): Delete - replaced by new
+ functions.
+ (elf32_arm_final_link_relocate): Use new functions.
+ (elf32_arm_check_relocs): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ (elf_cris_check_relocs): Likewise.
+ * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
+ * elf32-i370.c (i370_elf_check_relocs): Likewise.
+ (i370_elf_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_check_relocs): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ (m32r_elf_check_relocs): Likewise.
+ * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+ * elf32_ppc.c (ppc_elf_check_relocs): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_check_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ (sh_elf_check_relocs): Likewise.
+ * elf32-vax.c (elf_vax_check_relocs): Likewise.
+ (elf_vax_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+ * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+ * elf64-s390.c (elf_s390_check_relocs): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+ * elf32-bfin.c (bfin_check_relocs): Remove redundant local
+ variable 'sreloc'.
+ (bfin_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_check_relocs): Likewise.
+
+2008-11-23 Hans-Peter Nilsson <hp@axis.com>
+
+ Implement TLS for CRIS.
+ * elf32-cris.c: Include limits.h.
+ (TLSHOWTO16): Redefine in terms of and move contents to...
+ (TLSHOWTO16X): New macro.
+ (TLSHOWTO16S, LGOT_REG_NDX, LGOT_DTP_NDX, LGOT_ALLOC_NELTS_FOR)
+ (elf_cris_hash_entry): New macros.
+ (cris_elf_howto_table): Make R_CRIS_16_DTPREL,
+ R_CRIS_16_GOT_TPREL, R_CRIS_16_TPREL check overflow for signed,
+ not unsigned values.
+ (cris_info_to_howto_rela): Make r_type a enum elf_cris_reloc_type,
+ not unsigned int.
+ (struct elf_cris_link_hash_entry): New members reg_got_refcount,
+ tprel_refcount, and dtp_refcount.
+ (struct elf_cris_link_hash_table): New member dtpmod_refcount.
+ (elf_cris_link_hash_newfunc): Initialize new members.
+ (elf_cris_link_hash_table_create): Similar.
+ (cris_final_link_relocate, elf_cris_reloc_type_class): Use a
+ temporary variable when testing the relocation type.
+ (cris_elf_gc_mark_hook): Ditto. Add default case where needed.
+ (cris_elf_gc_sweep_hook): Ditto. Handle reference-counting for
+ the new assembly-generated relocs. Rewrite refcount handling to
+ set temporary variables to pointers to reloc-specific variables
+ and entry size and common code for the update.
+ (additional_relocation_error_msg_count): New variable.
+ (cris_elf_relocate_section): Use a function-local variable srelgot
+ for the .rela.got section instead of looking it up for every need.
+ Make r_type a enum elf_cris_reloc_type, not int. Actually set
+ symname for non-local symbols. Handle new assembly-generated
+ relocs. For overflow, emit additional messages for the new 16-bit
+ relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT.
+ (elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol
+ instead of plain casts. Check new hash entry member
+ reg_got_refcount when checking whether to emit a GOT entry.
+ (elf_cris_finish_dynamic_sections): Update head comment to warn
+ about emitting relocs here. Use a temporary variable when testing
+ the relocation type.
+ (elf_cris_discard_excess_program_dynamics)
+ (elf_cris_adjust_gotplt_to_got): Handle reference counting change
+ regarding h->reg_got_refcount.
+ (cris_elf_check_relocs): Rewrite refcount handling to set
+ temporary variables and entry size and common code for the update
+ for local symbols. Use new macro elf_cris_hash_entry. Adjust
+ allocation for change in reference counting of GOT entries for
+ local symbols.
+ (elf_cris_size_dynamic_sections): Adjust calculated size of
+ .got.plt and .rela.got if we need a GOT entry for a
+ R_CRIS_DTPMOD relocation.
+ (elf_cris_got_elt_size): New function.
+ (elf_backend_got_elt_size): Define.
+
+2008-11-21 Sterling Augustine <sterling@tensilica.com>
+
+ * xtensa-isa.c (xtensa_state_is_shared_or): New function.
+
+2008-11-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf-bfd.h (struct elf_backend_data): New member got_elt_size.
+ (_bfd_elf_default_got_elt_size): Declare.
+ * elflink.c (struct alloc_got_off_arg): Replace member got_elt_size
+ by new member info.
+ (elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size
+ to get the element size instead of using a gofarg entry.
+ (bfd_elf_gc_common_finalize_got_offsets): Similar.
+ (_bfd_elf_default_got_elt_size): New function.
+ * elfxx-target.h: New macro elf_backend_got_elt_size.
+ (elfNN_bed): Use it.
+
+2008-11-20 Tristan Gingold <gingold@adacore.com>
+
+ * bfdwin.c: Fix comment.
+
+2008-11-20 Tristan Gingold <gingold@adacore.com>
+
+ * bfd.c (is32bit): Use architecture information for non-ELF
+ targets.
+
+2008-11-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got for
+ TLS_LD even when symbol is used with other TLS reloc types.
+ (ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got.
+ Leave addend zero on LD DTPMOD dynamic reloc.
+
+2008-11-19 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7,
+ EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE,
+ SCOMPARE1, and THREADPTR registers.
+ (NUM_SYSREGS, MAX_USER_REG): Update.
+ (states): Change width of INTERRUPT, WindowBase, WindowStart, and
+ INTENABLE. Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6,
+ EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states.
+ (NUM_STATES): Update.
+ (enum xtensa_state_id): Add entries for new states.
+ (enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm
+ fields, along with functions to extract and set them.
+ (regfiles): Change number of AR registers to 32.
+ (Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode,
+ Operand_ar12_encode, Operand_ars_entry_encode): Update register mask.
+ (operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label,
+ xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to
+ encode and decode them.
+ (enum xtensa_operand_id): Add entries for new operands.
+ (Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and
+ EPC7 states.
+ (Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and
+ EPS6, respectively.
+ (iclasses): Add entries for rur_threadptr, wur_threadptr,
+ xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5,
+ xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5,
+ xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6,
+ xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6,
+ xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7,
+ xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7,
+ xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5,
+ xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6,
+ xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7,
+ xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase,
+ xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid,
+ xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable,
+ xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp,
+ xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri,
+ xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1,
+ xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along
+ with corresponding argument and state argument arrays. Change
+ number of state arguments for xt_iclass_rfi. Add arguments for
+ xt_iclass_rfdo.
+ (enum xtensa_iclass_id): Add entries for new iclasses.
+ (opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176,
+ RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5,
+ RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6,
+ RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7,
+ RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7,
+ WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U,
+ MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE,
+ WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI,
+ S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS,
+ REMU, REMS, and MULL opcodes, along with the corresponding functions
+ to encode them.
+ (enum xtensa_opcode_id): Add entries for new opcodes.
+ (Slot_inst_decode): Handle new opcodes.
+ (Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for
+ xt_wbr15_imm and xt_wbr18_imm fields.
+ (Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise.
+ (Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise.
+ (xtensa_modules): Update number of fields, operands, iclasses and
+ opcodes.
+
+2008-11-19 Nix <nix@esperi.org.uk>
+
+ * elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error.
+
+2008-11-19 Nick Clifton <nickc@redhat.com>
+
+ PR 7027
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs
+ against local symbols in 64-bit binaries as if they were WDISP30
+ relocs.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+
+2008-11-18 Catherine Moore <clm@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
+ half-precision attributes.
+ (elf32_arm_copy_one_eabi_other_attribute): New.
+ (elf32_arm_copy_other_attribute_list): New.
+
+2008-11-18 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2.c (read_section): Fix formatting.
+ (read_n_bytes): Remove unhelpful comment.
+ (read_indirect_string): Pass symbol table to read_section in case
+ the .debug_str section needs relocating.
+
+ PR 7037
+ * elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of
+ the reloc descriptions.
+
+2008-11-14 Eric B. Weddington <eric.weddington@atmel.com>
+
+ PR 7022
+ * elf32-avr.c (bfd_elf_avr_final_write_processing):
+ Add missing break statements.
+
+2008-11-14 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-modules.c (xtensa_state_id): New enum, replacing STATE macros.
+ (xtensa_field_id, xtensa_regfile_id, xtensa_operand_id)
+ (xtensa_iclass_id, xtensa_opcode_id): New enums.
+ Replace hardcoded constants throughout this file with enum values.
+
+2008-11-14 Nathan Sidwell <nathan@codesourcery.com>
+
+ * elf.c (assign_file_positions_for_load_sections): Use header_size
+ to avoid moving the load address of file headers.
+ (assign_file_positions_for_load_sections): Set header_size for
+ segments containing the file header.
+
+2008-11-14 Tristan Gingold <gingold@adacore.com>
+
+ * configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG,
+ BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr.
+ Generate bfdver.h.
+ * vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca.
+ * hosts/alphavms.h: Defines macros to bypass i18n.
+ * makefile.vms (OBJS): Update file list.
+ (DEFS): Remove VMS_DEBUG, const, add DEBUGDIR.
+ (CFLAGS): Update flags.
+ * bfdio.c (real_fopen): Add code specific to VMS: extract attributes
+ from modes.
+
+2008-11-13 Joel Brobecker <brobecker@adacore.com>
+
+ * configure.in: Deactivate large-file support on native 32bit
+ sparc-solaris unless the user explicitly requested it.
+ * configure: Regenerate.
+
+2008-11-13 Hans-Peter Nilsson <hp@axis.com>
+
+ PR ld/7028
+ * elf.c (assign_file_positions_for_load_sections): Allocate phrds
+ with bfd_zalloc2 instead of bfd_alloc2. For the amount, use
+ the possibly-preset header-size, not the computed one.
+
+2008-11-13 Alan Modra <amodra@bigpond.net.au>
+
+ PR 7023
+ * elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
+
+2008-11-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (assign_file_positions_for_non_load_sections): Consolidate
+ PT_GNU_RELRO handling.
+
+2008-11-11 Alan Modra <amodra@bigpond.net.au>
+
+ PR 7012
+ * dwarf2.c (find_line): Don't keep stale pointers into realloc'd
+ memory. Return on errors. Fix memory leak.
+ (_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
+
+2008-11-10 Andreas Schwab <schwab@suse.de>
+
+ PR 7011
+ * elf.c (assign_file_positions_for_non_load_sections): Handle
+ PT_GNU_RELRO specially.
+
+2008-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config.bfd: Add m32c-*-rtems* and m32r-*-rtems*.
+
+2008-11-06 Tom Tromey <tromey@redhat.com>
+
+ * configure, config.in: Rebuild.
+ * configure.in: Check for fileno.
+ * bfdio.c (close_on_exec): New function.
+ (real_fopen): Use it.
+ (FD_CLOEXEC): New define.
+
+2008-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * mach-o.h (BFD_MACH_O_NO_SECT): Add; reorders the macros.
+ (BFD_MACH_O_SYM_NTYPE, BFD_MACH_O_SYM_NSECT,
+ BFD_MACH_O_SYM_NDESC): New macros.
+ (bfd_mach_o_i386_thread_flavour): Define according to the latest
+ definition from system header.
+ (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_RPATH,
+ BFD_MACH_O_LC_CODE_SIGNATURE.
+ (BFD_MACH_O_SECTION_TYPE_MASK, BFD_MACH_O_SECTION_ATTRIBUTES_MASK,
+ BFD_MACH_O_SECTION_ATTRIBUTES_SYS, BFD_MACH_O_SECTION_ATTRIBUTES_USR,
+ BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
+ BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
+ BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): Add.
+ (bfd_mach_o_segment_command): Add room for a nul terminator in
+ segname field.
+ (BFD_MACH_O_PROT_READ, BFD_MACH_O_PROT_WRITE,
+ BFD_MACH_O_PROT_EXECUTE): Add.
+ (INDIRECT_SYMBOL_LOCAL): Renames to BFD_MACH_O_INDIRECT_SYMBOL_LOCAL.
+ (INDIRECT_SYMBOL_ABS): Renames to BFD_MACH_O_INDIRECT_SYMBOL_ABS.
+ (bfd_mach_o_uuid_command): Add the structure.
+ (bfd_mach_o_load_command): Add uuid field.
+ (bfd_get_mach_o_data): New macro.
+ * mach-o.c (bfd_mach_o_bfd_print_private_bfd_data): New function which
+ replaces the macro.
+ (SECTION_TYPE, SECTION_ATTRIBUTES, SECTION_ATTRIBUTES_USR,
+ S_ATTR_PURE_INSTRUCTIONS, SECTION_ATTRIBUTES_SYS,
+ S_ATTR_SOME_INSTRUCTIONS, S_ATTR_EXT_RELOC, S_ATTR_LOC_RELOC): Renamed
+ and moved to mach-o.h.
+ (N_STAB, N_TYPE, N_EXT, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS,
+ N_SECT, N_INDR): Removed as they duplicated macros in mach-o.h.
+ (bfd_mach_o_print_symbol): Print much more details.
+ (bfd_mach_o_make_bfd_section): Add prot argument, use canonical
+ dwarf name for dwarf sections. Precisely set section flags.
+ (bfd_mach_o_scan_read_section_32): Add prot argument.
+ (bfd_mach_o_scan_read_section_64): Ditto.
+ (bfd_mach_o_scan_read_section): Ditto.
+ (bfd_mach_o_scan_read_symtab_symbol): Set section for debugging
+ stabs, set BSF_GLOBAL and LOCAL flags correctly. Fix section
+ for N_SECT symbols.
+ (bfd_mach_o_i386_flavour_string): Reindent and adjust for new
+ names.
+ (bfd_mach_o_scan_read_symtab): Set HAS_SYMS flags on bfd if there
+ are symbols.
+ (bfd_mach_o_scan_read_uuid): New function.
+ (bfd_mach_o_scan_read_segment): Add a trailing nul. Segments
+ flags are now simply HAS_CONTENTS. Pass protection to
+ bfd_mach_o_scan_read_section.
+ (bfd_mach_o_scan_read_command): Decode UUID command.
+ (bfd_mach_o_flatten_sections): Add comments. Fix flavour names.
+ (bfd_mach_o_scan): Set flags according to file type.
+ (mach_o_fat_archentry): Remove abfd field.
+ (bfd_mach_o_archive_p): Remove initialization of abfd field.
+ (bfd_mach_o_openr_next_archived_file): Find previous archive
+ by position and not by bfd (as former bfds may have been freed).
+ Give architecture name to archived file.
+ * mach-o-target.c (TARGET_NAME): Use generic archive for non fat
+ targets.
+
+2008-10-30 Jay Krell <jay.krell@cornell.edu>
+
+ * cache.c (cache_bread): Cast void * pointer before performing
+ arithmetic on it.
+
+2008-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from
+ ppc64_elf_check_directives.
+ * elf32-sh-symbian.c (sh_symbian_process_directives): Combine..
+ (sh_symbian_check_directives): ..this
+ (bfd_elf32_sh_symbian_process_directives) ..and this function.
+
+2008-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (bfd_elf_final_link): Move code reading relocs to..
+ * elf32-spu.c (spu_elf_count_relocs): ..here. Adjust params.
+ * elf-bfd.h (struct elf_backend_data): Update elf_backend_count_relocs
+ params.
+
+2008-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val
+ where Elf_Internal_Dyn holds an address.
+
+2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
+ Tag_GNU_Power_ABI_Struct_Return.
+
+2008-10-09 Kai Tietz <kai.tietz@onevision.com>
+
+ * cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma
+ sized addresses instead of long sized.
+
+2008-10-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to
+ read plt relocs if no dynamic syms.
+
+2008-10-08 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add "id".
+ * configure: Regenerate.
+ * po/id.po: New Indonesian translation.
+
+2008-10-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (assign_file_positions_for_load_sections): When checking
+ a segment for contents, don't assume that a non-TLS nobits section
+ must only be followed by nobits sections.
+
+2008-10-04 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros.
+ (cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD,
+ R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL,
+ R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL,
+ R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL.
+ (cris_reloc_map): Similarly.
+ * reloc.c (bfd_reloc_code_type): Add entries for
+ BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD,
+ BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP,
+ BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL,
+ BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL,
+ BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL,
+ BFD_RELOC_CRIS_16_TPREL.
+ * libbfd.h, bfd-in2.h: Regenerate.
+
+2008-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ PR 6931
+ * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
+ the signature symbol is global.
+ * elflink.c (elf_link_input_bfd): Ensure group signature symbol
+ is output when ld -r. Set group sh_info when local.
+ * linker.c (default_indirect_link_order): Handle group sections
+ specially.
+
+2008-09-30 Wesley W. Terpstra <wesley@terpstra.ca>
+ Nick Clifton <nickc@redhat.com>
+
+ * coffgen.c (coff_write_symbols): Check to see if a symbol's flags
+ do not match it class and if necessary update the class.
+ (null_error_handler): New function. Suppresses the generation of
+ bfd error messages.
+ * coff64-rs6000.c (bfd_xcoff_backend_data): Update comment.
+
+2008-09-30 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2008-09-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_link_add_object_symbols): Don't ignore returned
+ value of check_directives.
+
+2008-09-29 Peter O'Gorman <pogma@thewrittenword.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ * configure: Regenerate for new libtool.
+ * aclocal.m4: Ditto.
+ * Makefile.in: Ditto.
+ * doc/Makefile.in: Ditto.
+
+2008-09-29 Alan Modra <amodra@bigpond.net.au>
+
+ PR 6789
+ * elf.c (assign_file_positions_for_load_sections): Call
+ _bfd_elf_map_sections_to_segments, not elf_modify_segment_map.
+ (get_program_header_size): Protect against NULL info.
+ (_bfd_elf_map_sections_to_segments): Likewise.
+ * elf32-spu.c (spu_elf_additional_program_headers): Likewise.
+
+2008-09-29 Nick Clifton <nickc@redhat.com>
+
+ * po/vi.po: Updated Vietnamese translation.
+
+2008-09-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
+ (bfd_section_from_shdr): Don't change SHT_GROUP section name.
+ * elflink.c (section_signature): New function.
+ (_bfd_elf_section_already_linked): Use it.
+
+2008-09-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworks
+ _GLOBAL_OFFSET_TABLE_ in .got.plt section. Add BFD_ASSERTs.
+
+2008-09-17 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative
+ refcount.
+
+2008-09-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR 6893 - Do not consider FDEs for discarded sections as invalid.
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS.
+ Consider FDEs with cleared relocations as valid and ignorable.
+
+2008-09-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/6877
+ * elflink.c (_bfd_elf_merge_symbol): Allow a common symbol to
+ override the function in a shared library.
+
+2008-09-16 Alan Modra <amodra@bigpond.net.au>
+
+ PR 6844
+ * elf32-ppc.c (SYM_VAL): Define. Use throughout to find symbol vma.
+ (ppc_elf_relocate_section): Correct GOT offset calculation.
+ (ppc_elf_finish_dynamic_symbol): Use PPC_HA and PPC_LO.
+ (ppc_elf_finish_dynamic_sections): Likewise. Error if
+ htab->elf.hgot symbol is not defined in htab->got section.
+
+2008-09-16 Alan Modra <amodra@bigpond.net.au>
+
+ PR 6888
+ * elf32-ppc.c (ppc_elf_relocate_section): Handle NULL symbol section
+ on R_PPC_TOC16, R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, R_PPC_EMB_SDA21,
+ R_PPC_EMB_RELSDA, R_PPC_SECTOFF* relocs.
+
+2008-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix loading large elf64 binaries on 32bit hosts.
+ * configure.in: Call AC_SYS_LARGEFILE.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2008-09-08 Tom Tromey <tromey@redhat.com>
+
+ * elfxx-mips.c (mips16_stub_symndx) <sec>: Mark argument as
+ unused.
+
+2008-09-08 H.J. Lu <hongjiu.lu@intel.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ PR ld/3191
+ * dwarf2.c (struct adjusted_section): Renamed from struct
+ loadable_section.
+ (struct dwarf2_debug): Adjust for renaming. Add version field.
+ (read_attribute_value): Correctly handle DW_FORM_ref_addr for
+ DWARF3.
+ (find_abstract_instance_name): Pass a pointer to
+ attribute instead of offset. For DW_FORM_ref_addr, get the
+ entry at the offset from the .debug_info section.
+ (scan_unit_for_symbols): Update.
+ (parse_comp_unit): Allow DWARF3. Save the version.
+ (unset_sections): Update for renaming.
+ (place_sections): Likewise. Set new VMAs for DWARF sections
+ also.
+
+2008-09-08 Tristan Gingold <gingold@adacore.com>
+
+ * configure.in: Update version to 2.19.50
+ * configure: Regenerated.
+
+2008-09-05 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2.c: Change leading whitespace to tabs.
+
+2008-09-05 Tristan Gingold <gingold@adacore.com>
+
+ Add MacOSX 64 bits support.
+ * mach-o.h (bfd_mach_o_ppc_thread_flavour): Add
+ BFD_MACH_O_PPC_THREAD_STATE_64.
+ (bfd_mach_o_i386_thread_flavour): Add BFD_MACH_O_x86_THREAD_STATE64,
+ BFD_MACH_O_x86_FLOAT_STATE64, BFD_MACH_O_x86_EXCEPTION_STATE64,
+ BFD_MACH_O_x86_THREAD_STATE, BFD_MACH_O_x86_FLOAT_STATE,
+ BFD_MACH_O_x86_EXCEPTION_STATE.
+ (bfd_mach_o_load_command_type): Add
+ BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64,
+ BFD_MACH_O_LC_UUID.
+ (BFD_MACH_O_CPU_IS64BIT): Added.
+ (bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64,
+ BFD_MACH_O_CPU_TYPE_X86_64.
+ (bfd_mach_o_header): Add version field.
+ (bfd_mach_o_section) Add reserved3 field.
+ (bfd_mach_o_segment_command): Add initprot and maxprot fields.
+
+ * mach-o.c (N_TEXT, N_DATA, N_BSS): Added.
+ (bfd_mach_o_version): New function.
+ (bfd_mach_o_valid): Handle 64bits cpus.
+ (bfd_mach_o_write_header): handler 64bits headers.
+ (bfd_mach_o_scan_write_section_32, bfd_mach_o_scan_write_section_64):
+ New functions (from bfd_mach_o_scan_write_section) to handle both
+ flavors.
+ (bfd_mach_o_scan_write_segment): Parameter wide added to support
+ both flavors.
+ (bfd_mach_o_write_contents): Support both flavors.
+ (bfd_mach_o_read_header): Ditto.
+ (bfd_mach_o_scan_read_section_32, bfd_mach_o_scan_read_section_64):
+ New functions (from bfd_mach_o_scan_read_section) to support both
+ flavors.
+ (bfd_mach_o_scan_read_symtab_symbol): Support both flavors.
+ (bfd_mach_o_scan_read_symtab): Ditto.
+ (bfd_mach_o_scan_read_segment): Parameter wide added to support
+ both flavors.
+ (bfd_mach_o_scan_read_segment_32, bfd_mach_o_scan_read_segment_64):
+ New functions to call bfd_mach_o_scan_read_segment.
+ (bfd_mach_o_flatten_sections): Support both flavors.
+ (bfd_mach_o_scan_start_address): Ditto.
+ (bfd_mach_o_scan): Ditto.
+ (bfd_mach_o_lookup_section): Ditto.
+
+2008-08-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64,
+ R_PARISC_SEGREL32 and R_PARISC_SEGREL64.
+ * som.c (som_fixup_formats): Add R_DATA_GPREL fixup.
+ (som_hppa_howto_table): Likewise.
+ (hppa_som_gen_reloc_type): In case R_HPPA_GOTOFF, detect R_DATA_GPREL
+ final type.
+ (som_write_fixups): Handle R_DATA_GPREL.
+
+2008-08-26 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.c: Fix up comment describing Thumb to ARM interworking
+ stub.
+
+2008-08-25 Christophe Lyon <christophe.lyon@st.com>
+
+ * elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define.
+ (elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch.
+ (arm_type_of_stub): Handle armv4t short branches. Update
+ prototype.
+ (arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch.
+ (arm_build_one_stub): Likewise.
+ (arm_size_one_stub): Likewise.
+ (elf32_arm_size_stubs): Use new arm_type_of_stub prototype.
+ (arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch.
+
+2008-08-24 Andreas Schwab <schwab@suse.de>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Do proper
+ extension when calculating difference of offsets.
+
+2008-08-24 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: Update a number of obsolete autoconf macros.
+ * aclocal.m4: Regenerate.
+
+2008-08-23 Andreas Schwab <schwab@suse.de>
+
+ * opncls.c (find_separate_debug_file): Use the canonical
+ absolute name of the bfd object for finding the debug file in
+ the global debugfile directory.
+
+2008-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations.
+ * elflink.c (elf_link_add_object_symbols): Make debug symbols local
+ now only for non-RELOCATABLE targets.
+
+2008-08-20 Bob Wilson <bob.wilson@acm.org>
+
+ * elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA.
+ * elf32-xtensa.c (elf_howto_table): Add TLS relocations.
+ (elf_xtensa_reloc_type_lookup): Likewise.
+ (TCB_SIZE): Define.
+ (elf_xtensa_link_hash_entry): New.
+ (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define.
+ (elf_xtensa_hash_entry): Define.
+ (elf_xtensa_obj_tdata): New.
+ (elf_xtensa_tdata): Define.
+ (elf_xtensa_local_got_tls_type): Define.
+ (elf_xtensa_local_tlsfunc_refcounts): Define.
+ (is_xtensa_elf): Define.
+ (elf_xtensa_mkobject): New.
+ (elf_xtensa_link_hash_table): Add tlsbase field.
+ (elf_xtensa_link_hash_newfunc): New.
+ (elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc.
+ Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field.
+ (elf_xtensa_copy_indirect_symbol): New.
+ (elf_xtensa_check_relocs): Rewrite to handle TLS relocations.
+ (elf_xtensa_gc_sweep_hook): Likewise.
+ (elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for
+ TLSDESC_FN relocations when an IE reference is seen.
+ (elf_xtensa_allocate_local_got_size): Likewise.
+ (elf_xtensa_always_size_sections): New.
+ (dtpoff_base, tpoff): New.
+ (elf_xtensa_do_reloc): Handle TLS relocations.
+ (replace_tls_insn): New.
+ (IS_XTENSA_TLS_RELOC): Define.
+ (elf_xtensa_relocate_section): Handle TLS relocations.
+ (get_indirect_call_dest_reg): New.
+ (bfd_elf32_mkobject): Define.
+ (elf_backend_always_size_sections): New.
+ (elf_backend_copy_indirect_symbol): New.
+ * reloc.c (BFD_RELOC_XTENSA_TLSDESC_FN, BFD_RELOC_XTENSA_TLSDESC_ARG)
+ (BFD_RELOC_XTENSA_TLS_DTPOFF, BFD_RELOC_XTENSA_TLS_TPOFF)
+ (BFD_RELOC_XTENSA_TLS_FUNC, BFD_RELOC_XTENSA_TLS_ARG)
+ (BFD_RELOC_XTENSA_TLS_CALL): New.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2008-08-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16
+ stub information.
+
2008-08-17 Nick Clifton <nickc@redhat.com>
* elf32-arm.c: Tidy up the code.