bfd/
[platform/upstream/binutils.git] / bfd / ChangeLog
index 0fe565e..f929a9e 100644 (file)
@@ -1,3 +1,459 @@
+2011-05-13  Jan Beulich  <jbeulich@novell.com>
+
+       * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
+
+2011-05-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * config.in: Regenerated.
+       * configure: Regenerated.
+       * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
+       HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
+       HAVE_PSINFO32_T_PR_PID.
+       * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
+       HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
+       and HAVE_PSINFO32_T_PR_PID.
+       * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
+
+2011-05-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
+       32bit psinfo.
+       * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
+       * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
+
+2011-05-09  Paul Brook  <paul@codesourcery.com>
+
+       * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
+       * bfd-in2.h: Regenerate.
+       * elf32-tic6x.c: Include limits.h.
+       (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
+       _tic6x_elf_section_data): New.
+       (elf32_tic6x_section_data): Define.
+       (elf32_tic6x_new_section_hook): Allocate target specific data.
+       (elf32_tic6x_add_unwind_table_edit): New function.
+       (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
+       elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
+       elf32_tic6x_copy_exidx_entry): New functions.
+       (elf_backend_write_section): Define.
+
+2011-05-09  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
+       elf32_tic6x_fake_sections): New functions.
+       (elf_backend_fake_sections): Define.
+
+2011-05-09  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
+       (elf_backend_gc_mark_extra_sections): Define.
+
+2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR ld/12365
+       * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
+       references to symbols defined in discarded sections.
+
+2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR ld/12365
+       * coffgen.c (coff_write_symbol): Assume input section is its own
+       output section if output_section member not set.
+       (coff_write_alien_symbol): Likewise.
+
+2011-05-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/12730
+       * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
+
+       * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
+       sections if needed. 
+
+       * section.c (SEC_ELF_REVERSE_COPY): New.
+       * bfd-in2.h: Regenerated.
+
+2011-05-07  Anders Kaseorg  <andersk@ksplice.com>
+
+       PR 12739
+       * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
+       * bfd-in2.h: Regenerate.
+
+2011-05-06  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
+       (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags.  Handle
+       any code section.  Add comments.
+       (alpha_vms_object_p): Use void * instead of PTR.
+       (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
+       (build_module_list): Guard against no DST section.  Add comments.
+       (alpha_vms_link_output_symbol): Discard undefined symbols.
+       (alpha_vms_get_section_contents): Simply memcpy if the section was
+       already loaded.  Fix typo.
+       (vms_new_section_hook): Use void * instead of PTR.
+       (vms_alpha_vec): Ditto.
+
+2011-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
+       branch to a PLT entry, redirect it to the PLT's Thumb entry point.
+
+2011-05-05  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * elf32-tic6x.c (elf32_tic6x_final_link): New function.
+       (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
+       mismatch.  Choose the lower of the two values.
+       (bfd_elf32_bfd_final_link): New macro.
+
+2011-04-28  Tristan Gingold  <gingold@adacore.com>
+
+       * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
+       (bfd_xcoff_swap_aux_out): Ditto.
+       * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
+       (bfd_xcoff64_swap_aux_out): Ditto.
+
+2011-05-04  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12727
+       * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
+       was_undefined on dot-symbols.
+
+2011-05-03  Paul Brook  <paul@codesourcery.com>
+
+
+       * elf32-tic6x.c (elf32_tic6x_howto_table,
+       elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
+       elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
+       Add R_C6000_EHTYPE.
+
+2011-05-01  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12718
+       * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
+       creating ifunc sections.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2011-04-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
+       names.
+
+2011-04-28  Tom Tromey  <tromey@redhat.com>
+
+       * bfdio.c (memory_bstat): Pass correct size to memset.
+
+2011-04-28  Mike Frysinger  <vapier@gentoo.org>
+
+       * dwarf2.c (dwarf_debug_sections): Mark const.
+       * elf.c (special_sections): Likewise.
+       * libbfd-in.h (dwarf_debug_sections): Likewise.
+       * libbfd.h: Regenerate.
+
+2011-04-26  Kai Tietz  <ktietz@redhat.com>
+
+       * coffcode.h (sec_to_styp_flags): Allow linkonce for
+       debugging sections.
+
+2011-04-26  Tristan Gingold  <gingold@adacore.com>
+
+       * coff64-rs6000.c: Convert to ISO-C.  Remove PARAMS and PTR macros.
+
+2011-04-24  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12365
+       PR ld/12696
+       * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
+       * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
+       (_bfd_generic_link_add_one_symbol): Update "notice" call.
+       * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
+       it is a redef of an IR symbol in a real BFD.
+
+2011-04-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
+       in readonly section in a shared object.
+       (elf_i386_size_dynamic_sections): Likewise.
+       * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
+       (elf_x86_64_size_dynamic_sections): Likewise.
+
+2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/12694
+       * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
+       symbols.
+       * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
+
+2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
+       on dynamic symbol error.
+       * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
+
+2011-04-20  Tristan Gingold  <gingold@adacore.com>
+
+       * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
+
+2011-04-20  Alan Modra  <amodra@gmail.com>
+
+       * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
+       (bfd_hash_table_init_n): Overflow checking.
+       (bfd_hash_set_default_size): Return current size.  Take unsigned long
+       arg.  Add 65537 to hash_size primes.
+       * bfd-in.h (bfd_hash_set_default_size): Update prototype.
+       * bfd-in2.h: Regenerate.
+
+2011-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
+       memmove elements.
+
+2011-04-20  Alan Modra  <amodra@gmail.com>
+
+       * libbfd.c (bfd_log2): Do return rounded up value.
+       * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
+       call with expanded old round down version of the function.
+
+       * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
+       * elflink.c (elf_link_add_object_symbols): Delete redundant code.
+
+2011-04-20  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12365
+       * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
+       in their own common section.
+       * elflink.c (elf_link_add_object_symbols): Likewise.
+       * linker.c (generic_link_check_archive_element): Don't lose flags
+       if common section is pre-existing.
+       (_bfd_generic_link_add_one_symbol): Likewise.
+
+2011-04-20  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12365
+       * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
+       * linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
+       multiple_definition regardless of allow_multiple_definition.
+       * simple.c (simple_dummy_multiple_definition): Update.
+       * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
+       calls.
+
+2011-04-18  Tristan Gingold  <gingold@adacore.com>
+
+       * coff-rs6000.c: Convert to ISO-C.  Remove PARAMS macro.
+
+2011-04-18  Alan Modra  <amodra@gmail.com>
+
+       PR ld/12365
+       PR ld/12672
+       * bfd.c (BFD_PLUGIN): Define.
+       (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
+       * bfd-in2.h: Regenerate.
+       * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
+       * opncls.c (bfd_make_readable): Don't lose original bfd flags.
+
+2011-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
+       SEC_LOAD.
+
+2011-04-15  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * elf-bfd.h (struct sdt_note): New struct.
+       (struct elf_obj_tdata) <sdt_note_head>: New field.
+       * elf.c (elfobj_grok_stapsdt_note_1): New function.
+       (elfobj_grok_stapsdt_note): Likewise.
+       (elf_parse_notes): Added code to treat SystemTap note
+       sections.
+
+2011-04-12  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
+       exclude empty .got sections.
+
+2011-04-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
+       array access for BFD_RELOC_386_IRELATIVE.
+
+2011-04-11  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
+
+2011-04-11  Mark Wielaard  <mjw@redhat.com>
+
+       PR 10549
+       * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
+       (has_gnu_symbols): Renamed from has_ifunc_symbols.
+       * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
+       * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
+       also if STB_GNU_UNIQUE symbol binding was seen.
+       * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
+       * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
+       * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
+       * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
+       * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
+
+2011-04-11  Alan Modra  <amodra@gmail.com>
+
+       * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
+       sections.
+       * libbfd.c (_bfd_generic_get_section_contents): Likewise.
+       (_bfd_generic_get_section_contents_in_window): Likewise.
+       * section.c (bfd_get_section_contents): Likewise.
+       * compress.c (bfd_get_full_section_contents): Likewise.
+       * elf32-rx.c (rx_final_link): Ignore rawsize.
+       * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
+       bfd with bfd_get_section_limit.
+       * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter.  Use
+       os->size during final link.  Update callers.
+       * bfd-in2.h: Regenerate.
+
+2011-04-10  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR ld/12637
+       * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
+       as the number of global entries when merging with the primary GOT.
+
+2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c: Update copyright year.
+       * elf64-x86-64.c: Likewise.
+
+2011-04-09  Kai Tietz  <ktietz@redhat.com>
+
+       * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
+       buffer and use rawsize for sorting.
+       * coffcode.h (coff_compute_section_file_positions): Set rawsize
+       before doing alignment.
+
+2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Return relocation
+       error on unsupported relocation.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+
+2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/12657
+       * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
+       pid_t.
+
+2011-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/12654
+       * elf32-i386.c (elf_i386_relocate_section): Check !executable
+       instead of shared for R_386_TLS_LDO_32.
+
+2011-04-08  Tristan Gingold  <gingold@adacore.com>
+
+       * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
+       * coff-pmac: Remove
+       * xcoff-target.h: Remove
+       * Makefile.in: Regenerate.
+
+2011-04-07  Cary Coutant  <ccoutant@google.com>
+
+       * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
+
+2011-04-07  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
+       pc-relative.
+       (elf32_tic6x_howto_table_rel): Ditto.
+       (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
+       (elf32_tic6x_check_relocs): Ditto.
+
+2011-04-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
+       targets.
+       (strongarm*, thumb*, xscale*): Remove architectures.
+       (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
+       thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
+       xscale-*-coff): Remove targets.
+
+2011-04-01  Tristan Gingold  <gingold@adacore.com>
+
+       * elfxx-ia64.c: include bfd_stdint.h
+
+2011-03-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
+       dynobj and its initialization.
+
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
+       * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
+       BFD_HOST_LONG_LONG to 1.
+
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
+       (_bfd_vms_write_etir): Ditto.
+       (_bfd_vms_slurp_etir): Avoid to use intptr_t
+       * configure.com: Generate bfd_stdint.h
+
+2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * elf32-tic6x.h (struct elf32_tic6x_params): New.
+       (elf32_tic6x_setup): Declare.
+       * elf32-tic6x.c: Include <limits.h>.
+       (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
+       (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
+       New structures.
+       (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
+       (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
+       tic6x_elf_scom_symbol_ptr): New static variables.
+       (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
+       elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
+       R_C6000_PCR_H16 and R_C6000_PCR_L16.
+       (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
+       elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
+       elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
+       elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
+       elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
+       elf32_tic6x_adjust_dynamic_symbol): New static functions.
+       (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
+       to weak symbols as required by the ABI.
+       Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
+       as needed when generating DSBT output.
+       (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
+       elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
+       elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
+       elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
+       elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
+       elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
+       New static functions.
+       (ELF_MAXPAGESIZE): Define to 0x1000.
+       (bfd_elf32_bfd_copy_private_bfd_data,
+       bfd_elf32_bfd_link_hash_table_create,
+       bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
+       elf_backend_want_got_plt, elf_backend_want_dynbss,
+       elf_backend_plt_readonly, elf_backend_got_header_size,
+       elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
+       elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
+       elf_backend_check_relocs, elf_backend_add_symbol_hook,
+       elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
+       elf_backend_section_from_bfd_section,
+       elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
+       elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
+       elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
+
+       * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
+       BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
+       * bfd/bfd-in2.h: Regenerate.
+       * bfd/libbfd.h: Regenerate.
+       * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
+
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
+       entry on xcoff when value is C_NULL_VALUE.
+
+2011-03-31  Tristan Gingold  <gingold@adacore.com>
+
+       * libcoff-in.h (exec_hdr): Remove.
+       * libcoff.h: Regenerate.
+
 2011-03-30  Nick Clifton  <nickc@redhat.com>
 
        * po/da.po: Updated Danish translation.