+2010-04-14 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
+ exit due to merging the same weak symbol to test that the symbols are
+ actually weak.
+
+2010-04-13 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
+ when optimizing high got_tlsgd/ld insns.
+
+2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
+ define.
+ (HAVE_PRSTATUS32_T): Likewise.
+
+2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR corefiles/11467
+ * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
+ for x86_64-*-linux*.
+ * config.in: Regenerated.
+ * configure: Likewise.
+
+ * elf.c: Include CORE_HEADER if it is defined.
+
+2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * hosts/x86-64linux.h: New.
+
+2010-04-09 Nick Clifton <nickc@redhat.com>
+
+ * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
+ * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
+ variables htab and hdr_info and mark info parameter as unused.
+ * elf.c (prep_headers): Remove unused variable i_phdrp.
+ (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
+ * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
+ as unused.
+ * peXXigen.c (pe_print_reloc): Remove unused variable datasize.
+ * verilog.c (verilog_write_section): Remove unused variable
+ address.
+
+2010-04-07 Alan Modra <amodra@gmail.com>
+
+ * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
+ * configure: Regenerate.
+
+2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/11434
+ * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
+
+2010-04-06 Tristan Gingold <gingold@adacore.com>
+
+ * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
+
+2010-04-05 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
+ provided that it has the expected address size and zero segment
+ length.
+
+ * dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
+ (struct line_info): Add op_index field, change end_sequence type to
+ unsigned char.
+ (new_line_sorts_after): For the same address compare op_index.
+ (add_line_info): Add op_index argument, store it into the structure.
+ (decode_line_info): Complain about unknown versions of .debug_line.
+ Initialize maximum_ops_per_insn. Add op_index state register and
+ track it.
+
+2010-04-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * elf32-ppc.c (apuinfo_set): New static var.
+ (ppc_elf_begin_write_processing): Set it here, always create an
+ APUinfo section if there were any in the inputs.
+ (ppc_elf_write_section): Check apuinfo_set.
+ (ppc_elf_final_write_processing): Likewise.
+
+2010-04-01 Tristan Gingold <gingold@adacore.com>
+
+ * vms.h: Include time.h. Add prototypes for vms_get_module_name,
+ vms_time_to_time_t and vms_rawtime_to_time_t.
+ * vms.c (vms_alpha_vec): Add archives support.
+ * vms-misc.c: Include safe-ctype.h
+ (vms_get_module_name): New function.
+ (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
+ * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
+ vms_get_module_name function. Use this function.
+ * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector.
+ * libbfd-in.h: Add prototype for _bfd_append_relative_path.
+ Add prototypes for vms-lib.c
+ * libbfd.h: Regenerate.
+ * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add
+ vms-lib.lo to vms_alpha_vec.
+ * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
+ * configure: Regenerate.
+ * bfd.c: Add selective_search field.
+ * bfd-in2.h: Regenerate.
+ * archive.c (append_relative_path): Rename to
+ _bfd_append_relative_path and make it public.
+ (_bfd_get_elt_at_filepos): Adjust for above renaming.
+ * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
+ (BFD32_BACKENDS_CFILES): Add vms-lib.c
+ * Makefile.in: Regenerate.
+
+2010-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2.c (read_attribute_value): Handle CU version 4
+ for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
+ and DW_FORM_flag_present. For unknown form value return NULL.
+ (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
+ like DW_FORM_block.
+ (parse_comp_unit): Allow CU version 4.
+
+2010-04-01 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Correct first argument
+ to _bfd_elf_get_dynamic_reloc_section.
+ (elf_cris_discard_excess_dso_dynamics): Ditto.
+
+2010-03-31 Kai Tietz <kai.tietz@onevision.com>
+
+ * coff-i386.c (in_reloc_p): Check also for R_SECREL32.
+ * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
+
+2010-03-31 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
+ TPREL16_HI and TPREL16_HA insns.
+
+2010-03-31 Hans-Peter Nilsson <hp@axis.com>
+
+ PR ld/11458
+ * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
+ assert of empty pcrel_relocs_copied on the direct symbol. Instead
+ of moving the list from the indirect symbol to the direct symbol,
+ merge into any existing list.
+ (cris_elf_check_relocs): Store the original section in the
+ pcrel_relocs_copied list, not the relocation section.
+ (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
+ the relocation section, for reducing its size. Change the
+ BFD_ASSERT into a check for the section being read-only, and only
+ emit warnings and TEXTREL marker when there's an entry for a
+ read-only section.
+
+2010-03-29 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf32-arm.c (using_thumb_only): Handle v6-M.
+
+2010-03-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
+ * bfd-in.h (elf_discarded_section): Clarify comment.
+ * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2010-03-26 Matt Rice <ratmice@gmail.com>
+
+ * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
+ as unique in the armap.
+
+2010-03-26 Alan Modra <amodra@gmail.com>
+
+ PR ld/11375
+ * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
+ possible stub on branches.
+
+2010-03-25 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
+ (ALL_MACHINES_CFILES): Add cpu-tic6x.c.
+ (BFD32_BACKENDS): Add elf32-tic6x.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
+ * Makefile.in: Regenerate.
+ * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
+ (bfd_archures_list): Update.
+ * config.bfd (tic6x-*-elf): New.
+ * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
+ New.
+ * configure: Regenerate.
+ * cpu-tic6x.c, elf32-tic6x.c: New.
+ * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
+ BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
+ BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
+ BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
+ BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
+ BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
+ BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
+ BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
+ BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
+ BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
+ BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
+ BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
+ BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
+ * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
+ (_bfd_target_vector): Update.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * aout-target.h: Update copyright year.
+ * aout-tic30.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * ieee.c: Likewise.
+ * libecoff.h: Likewise.
+ * mach-o-target.c: Likewise.
+ * mach-o.c: Likewise.
+ * oasys.c: Likewise.
+ * targets.c: Likewise.
+
+2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * libbfd-in.h: Update copyright year.
+
+2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/11413
+ * elflink.c (_bfd_elf_add_default_symbol): Check !executable
+ instead of shared.
+
+2010-03-19 Jie Zhang <jie@codesourcery.com>
+
+ * elf32-arm.c (struct section_list): Remove.
+ (section_list): Remove typedef.
+ (record_section_with_arm_elf_section_data): Remove.
+ (find_arm_elf_section_entry): Remove.
+ (get_arm_elf_section_data): Use is_arm_elf.
+ (unrecord_section_with_arm_elf_section_data): Remove.
+ (elf32_arm_new_section_hook): Don't call
+ record_section_with_arm_elf_section_data.
+ (elf32_arm_write_section): Set mapcount to -1 when
+ the map has been used. Don't call
+ unrecord_section_with_arm_elf_section_data.
+ (unrecord_section_via_map_over_sections): Remove.
+ (elf32_arm_close_and_cleanup): Remove.
+ (elf32_arm_bfd_free_cached_info): Remove.
+ (bfd_elf32_close_and_cleanup): Don't define.
+ (bfd_elf32_bfd_free_cached_info): Don't define.
+
+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/11396
+ * libcoff-in.h (pe_tdata): Add dont_strip_reloc.
+ * libcoff.h: Regenerated.
+
+ * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
+ if dont_strip_reloc is set.
+ (_bfd_XX_bfd_copy_private_bfd_data_common): Set
+ dont_strip_reloc on output if there is no .reloc and
+ IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
+
+2010-03-18 Wei Guozhi <carrot@google.com>
+
+ PR gas/11323
+ * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
+ R_ARM_GOT_PREL.
+ * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * reloc.c (BFD_RELOC_SPU_PIC18): Removed.
+ (BFD_RELOC_SPU_STUB): Likewise.
+
+2010-03-17 Jie Zhang <jie@codesourcery.com>
+
+ * elf.c (assign_file_positions_for_load_sections): Avoid
+ overflow.
+
+2010-03-17 Alan Modra <amodra@gmail.com>
+
+ PR binutils/11382
+ * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
+ proper type.
+
+2010-03-17 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
+
+2010-03-16 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
+ (ppc64_elf_edit_toc): Set it here.
+ (ha_reloc_match): New function.
+ (ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
+
+2010-03-15 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
+ * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
+
+2010-03-14 Alan Modra <amodra@gmail.com>
+
+ PR ld/11378
+ * elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
+ * elf64-ppc.c (call_check_done): Define.
+ (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
+ (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
+ (ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
+ (toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
+ Simplify return logic. Iterate over all .init and .fini fragments
+ by recursion. Set makes_toc_func_call here..
+ (ppc64_elf_next_input_section): ..rather than here.
+ (check_pasted_section, ppc64_elf_check_init_fini): New functions.
+
+2010-03-13 Alan Modra <amodra@gmail.com>
+
+ PR ld/11375
+ * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
+ function descriptor symbol if there is one, not just for plt stubs.
+ (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
+
2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
elfcore_write_s390_prefix): New.
(elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
- (elfcore_write_register_note): Handle .reg-s390-timer,
+ (elfcore_write_register_note): Handle .reg-s390-timer,
.reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
.reg-s390-prefix section.
2010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com>
Alan Modra <amodra@gmail.com>
- * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
+ * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
(elf_object_p): Read e_phnum extension.
(elf_write_shdrs_and_ehdr): Write e_phnum extension.
- * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check
+ * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check
that we can read last program header.
2010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>