2011-12-20  Joseph Myers  <[email protected]>

       * emulparams/elf32bmip.sh (OTHER_SECTIONS): Put .mdebug.* and
       .gcc_compiled_long* sections at address 0.

2011-12-13  Nick Clifton  <[email protected]>

       * po/it.po: New Italian translation.
       * configure.in (ALL_LINGUAS): Add it.
       * configure: Regenerate.

2011-12-01  Nick Clifton  <[email protected]>

       * emultempl/spuelf.em (spu_elf_relink): Use pex_one in place
       of execvp.

2011-11-25  John Tytgat  <[email protected]>

       * emultempl/armelf.em: Update copyright to 2010 and 2011.
       (PARSE_AND_LIST_OPTIONS): Fix formatting.

2011-11-21  Andreas Tobler  <[email protected]>

       * Makefile.am (ALL_64_EMULATION_SOURCES): Add powerpc64-*-freebsd
       source.
       (eelf64ppc_fbsd.c): Add rules to build this file.
       * Makefile.in: Regenerate.
       * configure.tgt: Add target definition for powerpc64-*-freebsd*.
       Adjust powerpc-*-freebsd*.
       * emultempl/ppc64elf.em: Add a mechanism to override the default
       value of 0 for plt_static_chain.
       * emulparams/elf32ppc_fbsd.sh (OUTPUT_FORMAT): Override the default.
       * emulparams/elf64ppc_fbsd.sh (OUTPUT_FORMAT): Likewise.
       (DEFAULT_PLT_STATIC_CHAIN): Define to 1.

2011-11-15  Andreas Schwab  <[email protected]>

       * ldlang.c (insert_pad): Change alignment_needed argument to
       bfd_size_type.
       (size_input_section): Change alignment_needed varible to
       bfd_size_type.
       * ldlang.h (lang_padding_statement_type): Change size field to
       bfd_size_type.

2011-11-03  Tristan Gingold  <[email protected]>

       * scripttempl/aix.sc: Consider header size for .text and .data
       alignment.

2011-11-02  Tristan Gingold  <[email protected]>

       * emultempl/aix.em (read_file_list): New function.
       (_handle_option): Handle '-f'.
       * NEWS: Mention this feature.

2011-11-02  Rainer Orth  <[email protected]>

       * configure.tgt (x86_64-*-solaris2*): Use $targ_extra_emuls for
       targ_extra_libpath.

2011-11-01  DJ Delorie  <[email protected]>

       * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32rl78.c.
       (+eelf32rl78.c): New rule.
       * Makefile.in: Regenerate.
       * configure.tgt: Add rl78-*-* case.
       * emulparams/elf32rl78.sh: New file.
       * NEWS: Mention addition of Renesas RL78 support.

2011-10-28  Walter Lee  <[email protected]>

       * NEWS: Fix TILEPro capitalization.

2011-10-25  Joern Rennecke  <[email protected]>

       * NEWS: Mention addition of Adapteva Epiphany support.
       * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
       (eelf32epiphany.c): New rule.
       * configure.tgt: Handle epiphany-*-elf.
       * emulparams/elf32epiphany.sh: New file.
       * Makefile.in: Regenerate.
       * po/ld.pot: Regenerate.

2011-10-24  Nick Clifton  <[email protected]>

       * po/ja.po: Updated Japanese translation.

2011-10-20  Alan Modra  <[email protected]>

       PR ld/13287
       * plugin.c (plugin_should_reload): New function.
       * plugin.h (plugin_should_reload): Declare.
       * ldlang.c (open_input_bfds): Use above function.

2011-10-19  Alan Modra  <[email protected]>

       PR ld/13254
       * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
       -z text, -z notext, -z textoff options for all targets having
       shared lib support.

2011-10-15  Alan Modra  <[email protected]>

       * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Remove toc check.

2011-10-13  Dave Korn  <[email protected]>

       * pe-dll.c (generate_reloc): Don't emit a base reloc for an
       underlying BFD reloc that will be discarded in eh_frame data.

2011-10-10  Nick Clifton  <[email protected]>

       * po/bg.po: Updated Bulgarian translation.
       * po/es.po: Updated Spanish translation.
       * po/fi.po: Updated Finnish translation.
       * po/fr.po: Updated French translation.

2011-10-10  Alan Modra  <[email protected]>

       * ldmain.c (main): Move code twiddling various config and link_info
       bits to..
       * lexsup.c (parse_args): ..here.  Move plugin_load_plugins call
       into main.
       * plugin.c (set_tv_header): Test link_info.executable, not
       link_info.shared.
       (is_visible_from_outside): Likewise.  Delete redundant
       is_ir_dummy_bfd check and "section" parameter.

2011-10-10  Alan Modra  <[email protected]>

       * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes.

2011-10-09  Alan Modra  <[email protected]>

       * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add
       missing colon to error message.
       (ppc_before_allocation): Likewise.

2011-10-06  Alan Modra  <[email protected]>

       PR ld/13229
       * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2.
       (set_tv_header): Handle it.  Adjust LDPT_GET_SYMBOLS.  Return void.
       (get_symbols): Add def_ironly_exp param.  Return that value for
       syms exported from shared libs.
       (get_symbols_v1, get_symbols_v2): New wrapper functions.
       * testplug.c: Update for above changes.

2011-09-27  Kai Tietz  <[email protected]>

       * scripttempl/pe.sc (.text): Add support for
       .gnu.linkonce.t.* section.
       (.debug_info): Only use .gnu.linkonce.wi.* for
       relocating.
       * scripttempl/pep.sc: Likewise.

2011-09-22  Tristan Gingold  <[email protected]>

       * NEWS: Add marker for 2.22.

2011-09-20  Alan Modra  <[email protected]>

       PR ld/13201
       * ldlang.h (lang_input_statement_type): Add "reload" bitfield.
       Clarify comments.
       * ldlang.c (new_afile): Init new field.
       (load_symbols): Don't call ldlang_add_file when reloading.
       (open_input_bfds): Reload as-needed libs during plugin rescan.

2011-09-15  H.J. Lu  <[email protected]>

       PR ld/12975
       * ldlang.c (lang_elf_version_info): Removed.
       (lang_register_vers_node): Replace lang_elf_version_info with
       link_info.version_info.
       (lang_add_vers_depend): Likewise.
       * pe-dll.c (process_def_file_and_drectve): Likewise.
       * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.

       * ldlang.h (lang_elf_version_info): Removed.

       * plugin.c  (is_visible_from_outside): Check if symbol is hidden
       by version script.

       * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
       Remove lang_elf_version_info.

2011-09-15  Dmitry Gorbachev  <[email protected]>

       PR ld/13183
       * ldmain.c (add_archive_element): Support thin archive member
       for LTO.

2011-08-26  Nick Clifton  <[email protected]>

       * po/es.po: Updated Spanish translation.

2011-08-26  Nick Clifton  <[email protected]>

       * NEWS: Mention that --no-copy-dt-needed-entries is now the
       default.

2011-08-22  Michael Matz  <[email protected]>

       * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE.
       * ld.texinfo (--copy-dt-needed-entries): Mention new default.

2011-08-17  Alan Modra  <[email protected]>

       PR ld/12762
       * ldlang.c (section_already_linked): Revert 2011-07-09 changes.
       * plugin.c: Likewise.
       (asymbol_from_plugin_symbol): Create linkonce section for syms
       with comdat_key.

2011-08-09  Matthew Gretton-Dann  <[email protected]>

       * emultempl/armelf.em (fix_arm1176): New variable.
       (arm_elf_create_output_section_statements): Pass
       fix_arm1176 option to bfd backend.
       (OPTION_FIX_ARM1176): New define.
       (OPTION_NO_FIX_ARM1176): Likewise.
       (PARSE_AND_LIST_LONGOPTS): Add new command line options.
       (PARSE_AND_LIST_OPTIONS): Likewise.
       (PARSE_AND_LIST_ARGS_CASES): Likewise.
       * ld.texinfo: Document new command line options.

2011-08-09  Alan Modra  <[email protected]>

       PR ld/13066
       * plugin.c (add_symbols): Revert 2011-08-05.

2011-08-06  Kai Tietz  <[email protected]>

       * scripttempl/pep.sc: Add .debug_macro section.
       * scripttempl/pe.sc: Likewise.

2011-08-05  Alan Modra  <[email protected]>

       PR ld/12762
       * plugin.c (add_symbols): Exclude comdat_key symbols from symbol
       table if already seen.

2011-08-04  H.J. Lu  <[email protected]>

       * ldmain.c (main): Replace remove_output with ld_cleanup in
       comments.

2011-07-26  Alan Modra  <[email protected]>

       * emulparams/elf32ppc.sh: Source plt_unwind.sh.
       * emulparams/elf64ppc.sh: Likewise.
       * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
       (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
       PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
       existing values.
       * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
       (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
       PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
       existing values.

2011-07-22  H.J. Lu  <[email protected]>

       * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and
       eelf_k1om_fbsd.o
       (eelf_k1om.c): New.
       (eelf_k1om_fbsd.c): Likewise.
       * Makefile.in: Regenerated.

       * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64
       is supported.  Add elf_k1om_fbsd if elf_x86_64_fbsd is supported.
       (targ_extra_emuls): Likewise.

       * emulparams/elf_k1om.sh: New.
       * emulparams/elf_k1om_fbsd.sh: Likewise.

2011-07-16  Roland McGrath  <[email protected]>

       * ld.h (args_type): New field print_output_format.
       * lexsup.c (enum option_values, ld_options, parse_args):
       Handle --print-output-format.
       * ldmain.c (main): Implement --print-output-format.
       * ld.texinfo (Options): Document it.

       * ldlang.c (lang_get_output_target): Don't return current_target
       when it's NULL.

2011-07-15  Alan Modra  <[email protected]>

       * Makefile.am (e*.c): Sort.
       * Makefile.in: Regenerate.

2011-07-14  Alan Modra  <[email protected]>

       * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option,
       gld${EMULATION_NAME}_list_options): Don't condition -z relro
       and -z norelro on COMMONPAGESIZE being defined.

2011-07-14  Alan Modra  <[email protected]>

       * emultempl/ppc64elf.em (plt_static_chain): New var.
       (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs.
       (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
       PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle
       --plt-static-chain and --no-plt-static-chain.

2011-07-14  Alan Modra  <[email protected]>

       * emultempl/elf32.em (gld${EMULATION_NAME}_add_options,
       gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options):
       Provide --build-id, -z defs, -z muldefs, -z max-page-size,
       -z common-page-size, -z execstack, -z noexecstack for all targets.
       Add help for --exclude-libs.
       (OPTION_LD_GENERATED_UNWIND_INFO,
       OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this..
       (gld${EMULATION_NAME}_handle_option): ..and code handling
       --ld-generated-unwind-info and --no-ld-generated-unwind-info..
       * emulparams/plt_unwind.sh: ..to here.  New file.  Add help.
       * emulparams/elf32_x86_64.sh: Include plt_unwind.sh.
       * emulparams/elf_i386.sh: Likewise.
       * emulparams/elf_i386_chaos.sh: Likewise.
       * emulparams/elf_i386_ldso.sh: Likewise.
       * emulparams/elf_l1om.sh: Likewise.
       * emulparams/elf_x86_64.sh: Likewise.

2011-07-11  Catherine Moore  <[email protected]>

       * ld.h (section_flag_list): Add field to struct wildcard_spec.
       * ld.texinfo (INPUT_SECTION_FLAGS): Document.
       * ldgram.y (flag_info_list, flag_info): Add to union.
       (INPUT_SECTION_FLAGS): New token.
       (wildcard_spec): Initialize section_flag_list to NULL for
       each alternative.
       (sect_flag_list, sect_flags): New rules.
       (input_section_spec_no_keep): Add alternatives to recognize
       sect_flags.
       * ldlang.c (walk_wild_consider_section): Initialize
       section_flag_info field of the section struct.
       (lang_add_section): Check input section flags.
       (lang_add_wild): Initialize section_flag_list field of
       the statement struct.
       * ldlang.h (lang_input_statement_struct): Add section_flag_list field.
       (lang_wild_statement_struct): Likewise.
       * ldlex.l (INPUT_SECTION_FLAGS): New token.
       * mri.c (mri_draw_tree): Initialize section_flag_list to NULL.
       * NEWS: Announce INPUT_SECTION_FLAGS enhancement.

2011-07-09  H.J. Lu  <[email protected]>

       PR ld/12942
       * ldlang.c (section_already_linked): Pass "struct already_linked *"
       to bfd_section_already_linked.
       (lang_process): Set link_info.loading_lto_outputs before
       loading LTO outputs.
       * plugin.c: Include "libbfd.h".
       (add_symbols): Call bfd_section_already_linked with comdat_key.

2011-06-20  H.J. Lu  <[email protected]>

       * configure.tgt: Revert x32 change.

2011-06-20  Jakub Jelinek  <[email protected]>

       PR ld/12570
       * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO,
       OPTION_NO_LD_GENERATED_UNWIND_INFO): Define.
       (gld${EMULATION_NAME}_handle_option): Handle
       --ld-generated-unwind-info and --no-ld-generated-unwind-info.
       * ld.texinfo (--ld-generated-unwind-info,
       --no-ld-generated-unwind-info): Document.

2011-06-19  H.J. Lu  <[email protected]>

       * configure.tgt: Support x32.

2011-06-15  Nick Clifton  <[email protected]>

       * NEWS: Mention addition of TILEPRO and TIKE-Gx support.

2011-06-13  Walter Lee  <[email protected]>

       * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
       eelf32tilepro.c.
       (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
       (eelf32tilegx.c): New target.
       (eelf32tilepro.c): Likewise.
       (eelf64tilegx.c): Likewise.
       * Makefile.in: Regenerate.
       * configure.tgt: Handle tilegx-*-* and tilepro-*-*.
       * emulparams/elf32tilegx.sh: New file.
       * emulparams/elf64tilegx.sh: New file.
       * emulparams/elf32tilepro.sh: New file.

2011-06-13  Alan Modra  <[email protected]>

       * ldlang.c (sort_def_symbol, lang_one_common): Don't handle
       warning symbols here.
       * emultempl/pe.em (pr_sym): Remove redundant test.
       * emultempl/pep.em (pr_sym): Likewise.

2011-06-09  Nick Clifton  <[email protected]>

       PR ld/12845
       * emultempl/mipself.em (mips_add_stub_section): Do not add stubs
       for sections that have been removed by garbage collection.

2011-06-08  Alan Modra  <[email protected]>

       * ldlang.c (lang_one_common): Handle warning symbols.

2011-06-07  Nick Clifton  <[email protected]>

       * configure.tgt: Accept any V850 architecture.

2011-06-03  Nick Clifton  <[email protected]>

       * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c
       Add rule to build eelf32am33lin.c
       * Makefile.in: Regenerate.

2011-06-02  Nick Clifton  <[email protected]>

       * lexsup.c: Fix spelling mistake in comment.
       * scripttempl/epocpe.sc: Likewise.
       * scripttempl/i386beos.sc: Likewise.
       * scripttempl/mcorepe.sc: Likewise.
       * scripttempl/pe.sc: Likewise.
       * scripttempl/pep.sc: Likewise.
       * po/ld.pot: Regenerate.

2011-05-27  Nick Clifton  <[email protected]>

       * scripttempl/v850.sc (_heap_start): Provide.

2011-05-23  Alan Modra  <[email protected]>

       * ldmisc.c (vfinfo): Add %H.
       * ldmain.c (reloc_overflow): Use %H rather than %C.
       (reloc_dangerous, unattached_reloc): Likewise.

2011-05-23  Alan Modra  <[email protected]>

       PR 12763
       * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
       like sections to existing .sdata2, and similarly for orphan TLS
       sections.
       * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.

2011-05-17  Tomohiro Kashiwada  <[email protected]>

       PR ld/12759
       * emultempl/rxelf.em (ignore_lma): New variable.
       (rx_elf_create_output_section_statements): Pass the setiing of
       ignore_lma to bfd_elf32_rx_set_target_flags.
       (OPTION_IGNORE_LMA): Define.
       (OPTION_NO_IGNORE_LMA): Define.
       (PARSE_AND_LIST_LONGOPTS): Add ignore lma.
       (PARSE_AND_LIST_OPTIONS): Add ignore lma.
       (PARSE_AND_LIST_ARGS_CASES): Add ignore lma.

2011-05-17  Alan Modra  <[email protected]>

       PR ld/12760
       * ldmain.c (notice): Add "flags" and "string" param.
       * plugin.c (plugin_notice): Likewise.  Handle indirect, warning
       and constructor syms.

2010-05-16  Daniel Jacobowitz  <[email protected]>

       * ldlang.c (print_assignment): Use the symbol's section if we
       use its value.
       * ldexp.c (exp_fold_tree_1): Skip self-assignment.  Expand
       comment on copying symbol type.

2011-05-16  H.J. Lu  <[email protected]>

       PR ld/12760
       * plugin.c (plugin_notice): Set u.undef.abfd for symbols made
       undefweak.

2011-05-16  Alan Modra  <[email protected]>

       * ldlang.c (lang_leave_output_section_statement): Don't copy
       previous lma_region if given address.

2011-05-13  Bernd Schmidt  <[email protected]>

       (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
       eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules.
       * Makefile.am (ALL_EMULATIONS): Add these files.
       (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em.
       * Makefile.in: Regenerated.
       * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target
       vectors.
       * emulparams/elf32_tic6x_elf_be.sh: New file.
       * emulparams/elf32_tic6x_elf_le.sh: New file.
       * emulparams/elf32_tic6x_linux_be.sh: New file.
       * emulparams/elf32_tic6x_linux_le.sh: New file.
       * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New.
       (tic6x-*-*): Replaced by these.

2011-05-13  Jan Beulich  <[email protected]>

       * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep.

2011-05-09  Paul Brook  <[email protected]>

       * emultempl/tic6xdsbt.em (merge_exidx_entries): New.
       (compare_output_sec_vma): New function.
       (gld${EMULATION_NAME}_after_allocation): New function.
       (OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
       (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
       (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
       (LDEMUL_AFTER_ALLOCATION): Set.
       * ld.texinfo: Document c6x --no-merge-exidx-entries.

2011-05-07  Dave Korn  <[email protected]>

       PR ld/12365
       * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition.
       (__rt_psrelocs_end): Likewise.
       (__rt_psrelocs_size): Likewise difference between the above.
       (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section
       immediately after end of pseudo-reloc data.
       (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise.
       (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and
       calculate backward from list end.
       (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise.
       * scripttempl/pep.sc: Likewise.

2011-05-06  Tristan Gingold  <[email protected]>

       * scripttempl/alphavms.sc (CODE): Add *$CODE*.

2011-05-04  Tristan Gingold  <[email protected]>

       * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
       LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
       * emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
       (gld${EMULATION_NAME}_add_options): New function.
       (gld${EMULATION_NAME}_list_options): Ditto.
       (gld${EMULATION_NAME}_handle_option): Ditto.
       (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
       (LDEMUL_LIST_OPTIONS): Define.

2011-05-04  Alan Modra  <[email protected]>

       PR ld/12726
       * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum.
       * ldexp.c (exp_fold_tree_1): Correct assign to dot comment.  Don't
       assign to dot when lang_assigning_phase_enum.
       * ldlang.h (lang_do_assignments): Update prototype.
       * ldlang.c (lang_do_assignments): Add phase parameter.  Update all
       callers.
       * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
       lang_do_assignments calls.

2011-04-28  Daniel C. Klauer  <[email protected]>

       PR ld/12614
       * emultempl/pe.em (_after_open): Correctly check whether symbol is
       in undef list.

2011-04-26  Kai Tietz  <[email protected]>

       * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
       * scripttempl/pep.sc: Likewise.

2011-04-24  Alan Modra  <[email protected]>

       PR ld/12365
       PR ld/12696
       * ldmain.c (notice): Delete "name" param, add "h".
       * plugin.c (plugin_notice): Likewise.  Set non_ir_ref.  Handle
       redefinitions of IR symbols in real BFDs.
       (plugin_multiple_definition, plugin_multiple_common): Delete.
       (non_ironly_hash, init_non_ironly_hash): Delete.
       (is_visible_from_outside): Traverse entry_symbol chain.
       (get_symbols): Use non_ir_ref flag rather than hash lookup.

2011-04-21  Tristan Gingold  <[email protected]>

       * scripttempl/alphavms.sc: Add dwarf2 embedding marks.

2011-04-20  Tristan Gingold  <[email protected]>

       * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.

2011-04-20  Alan Modra  <[email protected]>

       * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.

2011-04-20  Alan Modra  <[email protected]>

       PR ld/12365
       * ldfile.c (ldfile_try_open_bfd): Move code creating and switching
       to plugin IR BFD..
       * ldmain.c (add_archive_element): ..and similar code here..
       * plugin.c (plugin_maybe_claim): ..to here.  New function.
       (plugin_call_claim_file): Make static.
       (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
       (plugin_multiple_common): New function.
       (plugin_call_all_symbols_read): Hook in plugin_multiple_common.
       * plugin.h (plugin_call_claim_file): Don't declare.
       (plugin_maybe_claim): Declare.

2011-04-20  Alan Modra  <[email protected]>

       PR ld/12365
       * ldmain.c (multiple_definition): Take a bfd_link_hash_entry
       pointer arg rather than "name", "obfd", "osec", "oval".  Add code
       removed from linker.c.  Hack around xcofflink.c oddity in
       passing NULL nbfd.
       (multiple_common): Similarly.
       * plugin.c (orig_allow_multiple_defs): Delete.
       (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
       (plugin_multiple_definition): Update.

2011-04-18  Kai Tietz  <[email protected]>

       * deffilep.y (def_aligncomm): Avoid duplets.

       * deffilep.y (def_pool_str): New type.
       (pool_strs): Local static.
       (def_pool_alloc): Local function.
       (def_pool_strdup): Likewise.
       (def_pool_free): Likewise.
       (opt_name): Replace xmalloc/xstrdup by
       def_pool_alloc/def_pool_strdup.
       (dot_name): Likewise.
       (anylang_id): Likewise.
       (def_lex): Likewise.
       (def_file_parse): Call def_pool_free on
       exit and cleanup directives elements.
       (def_file_add_directive): Call def_pool_free.

2011-04-18  Paul Brook  <[email protected]>

       * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
       for unwinding tables.

2011-04-18  Alan Modra  <[email protected]>

       PR ld/12365
       PR ld/12672
       * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action
       when no_more_claiming.
       * ldmain.c (add_archive_element): Likewise.
       (multiple_definition): Remove plugin_multiple_definition call.
       (notice): Remove plugin_notice call.
       * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move.
       Delete prototype.
       (plugin_insert): New static var.
       (open_input_bfds): Only rescan libs after plugin insert point.
       (lang_gc_sections): Omit plugin claimed files.
       (lang_process): Set plugin_insert.  Only rescan when plugin adds
       objects.
       * plugin.h (no_more_claiming): Declare.
       (plugin_notice, plugin_multiple_definition): Don't declare.
       * plugin.c: Formatting.
       (orig_notice_all, orig_allow_multiple_defs, orig_callbacks,
       plugin_callbacks): New static vars.
       (no_more_claiming): Make global.
       (plugin_cached_allow_multiple_defs): Delete.
       (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section,
       use newer bfd_make_section variant.  Make COMMON section too.
       Error handling.  Correct setting of gp size.
       (asymbol_from_plugin_symbol): Properly cast last arg of concat.
       (message): Likewise for ACONCAT.
       (asymbol_from_plugin_symbol): Use our COMMON section.
       (get_symbols): When report_plugin_symbols, show visibility too.
       (init_non_ironly_hash): Move.  Don't test non_ironly_hash.
       (plugin_load_plugins): Save state of linker callbacks, set up to
       call plugin_notice instead.  Call init_non_ironly_hash here.
       (plugin_call_all_symbols_read): Set plugin_multiple_definition in
       plugin callbacks.
       (plugin_notice): Rewrite.
       (plugin_multiple_definition): Make static, call original callback.

2011-04-15  Alan Modra  <[email protected]>

       PR ld/12672
       * ldlang.c (enum open_bfd_mode): New.
       (open_input_bfds): Replace "force" param with "mode".  Reload
       archives for rescan.  Update all callers.
       (lang_process): Make another open_input_bfds pass for plugins.

2011-04-13  Kai Tietz  <[email protected]>

       PR binutils/12658
       * deffile.h (def_file_add_export): Add is_dup argument.
       (def_file_add_import): Likewise.
       * deffilep.y (are_names_equal): New helper.
       (cmp_export_elem): New helper.
       (find_export_in_list): Add search routine for exports.
       (def_file_add_export): Check for duplicates.
       (cmp_import_elem): New helper.
       (find_import_in_list): Add search routine for imports.
       (def_file_add_import): Check for duplicates.
       (def_exports): Handle duplicates.
       (def_imports): Likewise.
       * pe-dll.c (process_def_file_and_drectve): Likewise.
       (pe_implied_import_dll): Likewise.

2011-04-11  Chris Quenelle  <[email protected]>

       * scripttempl/elf.sc (.exception_ranges): Add new section.

2011-04-08  Hector Oron  <[email protected]>

       PR ld/12643
       * configure.tgt: Add support for arm-*-gnueabihf targets.

2011-04-07  Eric B. Weddington  <[email protected]>

       * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.

2011-04-07  Joseph Myers  <[email protected]>

       * configure.tgt: Remove stray ;;.

2011-04-06  Joseph Myers  <[email protected]>

       * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
       strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
       thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
       xscale-*-coff, xscale-*-elf): Remove targets.

2011-03-31  H.J. Lu  <[email protected]>

       * configure.tgt: Add elf_l1om to targ_extra_libpath for
       x86_64-*-linux-*.

       * emulparams/elf_l1om.sh: Remove duplicates.

2011-03-31  Bernd Schmidt  <[email protected]>

       * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE,
       GENERATE_SHLIB_SCRIPT): New defines.
       (TEXT_START_ADDR): Define differently depending on target.
       (.got): Redefine to include "*(.dsbt)".
       (SDATA_START_SYMBOLS): Remove, replace with
       (OTHER_GOT_SYMBOLS): New.
       (OTHER_BSS_SECTIONS): Define only for ELF targets.
       * emultempl/tic6xdsbt.em: New file.
       * gen-doc.texi: Set C6X.
       * ld.texinfo: Likewise.
       (Options specific to C6X uClinux targets): New section.

2011-03-29  Alan Modra  <[email protected]>

       PR ld/12613
       * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.

2011-03-26  John Marino  <[email protected]>

       * configure.host: Update *-*-dragonfly* host entry.
       * configure.tgt: Update *-*-dragonfly* target entry.
       * ldlex.l: Prevent redefinition of YY_NO_UNPUT.

2011-03-28  Joseph Myers  <[email protected]>

       * configure.in: Check for windows.h, not Windows.h.
       * configure: Regenerate.
       * plugin.c: Include windows.h, not Windows.h.

2011-03-25  Eric B. Weddington  <[email protected]>

       * Makefile.in: Regenerate.

2011-03-23  Joseph Myers  <[email protected]>

       * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
       are enabled.  Mark level as possibly unused.

2011-03-22  Eric B. Weddington  <[email protected]>

       * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures.
       (eavrxmega?.c): Likewise.
       * configure.tgt (targ_extra_emuls): Likewise.
       * emulparams/avrxmega1.sh: New file.
       * emulparams/avrxmega2.sh: Likewise.
       * emulparams/avrxmega3.sh: Likewise.
       * emulparams/avrxmega4.sh: Likewise.
       * emulparams/avrxmega5.sh: Likewise.
       * emulparams/avrxmega6.sh: Likewise.
       * emulparams/avrxmega7.sh: Likewise.
       * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation):
       Add avrxmega6, avrxmega7 to list of architectures for no stubs.

2011-03-21  Eric B. Weddington  <[email protected]>

       * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.

2011-03-14  Richard Sandiford  <[email protected]>

       * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
       eh->target_internal.

2011-03-14  Richard Sandiford  <[email protected]>

       * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
       instead of dynamic_sections_created.

2011-03-10  Dave Korn  <[email protected]>

       * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.

2011-03-10  Dave Korn  <[email protected]>

       * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.

2011-03-10  Dave Korn  <[email protected]>

       * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag,
       wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS.
       * ldmain.c (add_archive_element): Set it if the member is claimed.
       * ldlang.c (new_afile): Initialise claim_archive and claimed members.
       (find_replacements_insert_point): New helper function.
       (lang_process): After adding and opening replacement files passed
       from plugin, splice them into correct place in statement list and
       file chains to preserve critical link order.
       (lang_list_insert_after): New helper function.
       (lang_list_remove_tail): Likewise.

2011-03-10  Dave Korn  <[email protected]>

       * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form.
       (IRONLY_SUFFIX_LEN): Delete.
       (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX.
       (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of
       enclosing lang input statement instead.

2011-03-10  Dave Korn  <[email protected]>

       * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve
       alignment of input sections when creating orphan output sections
       during relocatable link.
       * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.

2011-03-04  H.J. Lu  <[email protected]>

       * ld.texinfo: Document --verbose[=NUMBER].

       * lexsup.c (ld_options): Update --verbose.
       (parse_args): Set report_plugin_symbols.

       * plugin.c (report_plugin_symbols): New.
       (get_symbols): Report plugin symbols if report_plugin_symbols
       is TRUE.

       * plugin.h (report_plugin_symbols): New.

2011-03-01  H.J. Lu  <[email protected]>

       PR ld/12529
       * testplug.c: Don't include "filenames.h".
       (onclaim_file): Don't use filename_cmp.

2011-02-28  Kai Tietz  <[email protected]>

       * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp.
       * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck):
       Likewise.
       (gld${EMULATION_NAME}_stat_needed): Likewise.
       (gld${EMULATION_NAME}_check_needed): Likewise.
       * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise.
       (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
       * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise.
       (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
       * ldfile.c (ldfile_open_file): Likewise.
       * ldlang.c (wild_sort): Likewise.
       (lookup_name): Likewise.
       (check_excluded_libs): Likewise.
       * ldmisc.c (vfinfo): Likewise.
       * pe-dll.c (libnamencmp): Likewise.
       (auto_export): Likewise.
       (pe_dll_generate_implib): Likewise.
       * testplug.c (onclaim_file): Likewise.

2011-02-24  H.J. Lu  <[email protected]>

       PR ld/12507
       * plugin.c (get_symbols): Don't check entry symbol here.
       (init_non_ironly_hash): Add entry_symbol chain into
       non_ironly_hash.

2011-02-24  H.J. Lu  <[email protected]>

       PR ld/12507
       * plugin.c (get_symbols): Don't mark entry symbol IR only.

2011-02-18  John David Anglin  <[email protected]>

       PR ld/12376
       emulparams/hppalinux.sh (DATA_ADDR): Define.
       (SHLIB_DATA_ADDR): Likewise.

2011-02-16  H.J. Lu  <[email protected]>

       * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
       x32 for x32.

2011-02-15  Kai Tietz  <[email protected]>

       * pe-dll.c (process_def_file_and_drectve): Don't strip
       leading underscore from symbol by calling bfd_find_version_for_sym.

2011-02-14  Mike Frysinger  <[email protected]>

       * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to
       the bfd_demangle of sym, change users of sym to c_sym when not
       already demangling, and free when done.  Change callers of
       cplus_demangle to bfd_demangle.

2011-02-14  Alan Modra  <[email protected]>

       * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy
       .text section, use newer bfd_make_section variant.  Error handling.
       Correct setting of gp size.
       (asymbol_from_plugin_symbol): Properly cast last arg of concat.
       (message): Likewise for ACONCAT.
       (get_symbols): Formatting.

2011-02-14  Alan Modra  <[email protected]>

       * ldmain.c (remove_output): Rename to..
       (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
       (main): Adjust.
       * plugin.c (plugin_call_cleanup): Make global.
       (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
       * plugin.h (plugin_call_cleanup): Declare.

2011-02-13  Ralf Wildenhues  <[email protected]>

       * configure: Regenerate.

2011-02-10  Alan Modra  <[email protected]>

       * scripttempl/armbpabi.sc: Revert 2010-11-02  H.J. Lu.
       * scripttempl/avr.sc: Likewise.
       * scripttempl/elf32cr16.sc: Likewise.
       * scripttempl/elf32crx.sc: Likewise.
       * scripttempl/elf32msp430.sc: Likewise.
       * scripttempl/elf32msp430_3.sc: Likewise.
       * scripttempl/elf32sh-symbian.sc: Likewise.
       * scripttempl/elf64hppa.sc: Likewise.
       * scripttempl/elf_chaos.sc: Likewise.
       * scripttempl/elfd10v.sc: Likewise.
       * scripttempl/elfd30v.sc: Likewise.
       * scripttempl/elfi370.sc: Likewise.
       * scripttempl/elfm68hc11.sc: Likewise.
       * scripttempl/elfm68hc12.sc: Likewise.
       * scripttempl/elfxtensa.sc: Likewise.
       * scripttempl/ip2k.sc: Likewise.
       * scripttempl/iq2000.sc: Likewise.
       * scripttempl/mep.sc: Likewise.
       * scripttempl/mmo.sc: Likewise.
       * scripttempl/v850.sc: Likewise.
       * scripttempl/xstormy16.sc: Likewise.
       * scripttempl/elf.sc: Revert 2010-10-29  H.J. Lu.

2011-01-22  H.J. Lu  <[email protected]>

       * Makefile.am (CXX): Removed.

       * configure.in: Add AC_PROG_CXX.

       * Makefile.in: Regenerated.
       * configure: Likewise.

2011-01-22  Richard Sandiford  <[email protected]>

       * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
       private data and GP size.

2011-01-21  Alan Modra  <[email protected]>

       * ldexp.c (fold_binary): Set result section for arithmetic and
       logical operations to NULL when both operands are in same section.
       * ld.texinfo (Expression Section): Describe this.

2011-01-14  Alan Modra  <[email protected]>

       * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
       attempt to put non-alloc orphans before debug sections, just place
       them after .comment.

2011-01-14  J. Park  <[email protected]>

       PR ld/12339
       * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.

2011-01-14  Alan Modra  <[email protected]>

       * Makefile.am: Sort emulation rules.
       (eelf32am33lin.c): Delete.
       (ALL_EMULATION_SOURCES): Sort, add missing entries.
       (ALL_64_EMULATION_SOURCES): Likewise.
       * Makefile.in: Regenerate.

2011-01-13  Alan Modra  <[email protected]>

       PR ld/12356
       * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
       (Expression Section): Update.
       * ld.h (ld_config_type): Add sane_expr.
       * ldgram.y (ifile_p1): Add LD_FEATURE.
       * ldlex.l (LD_FEATYRE): New.
       * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
       * ldexp.h (struct ldexp_control): Delete uses_defined.
       * ldexp.c: Remove all uses of uses_defined.
       (fold_name): Test config.sane_expr rather than ld_compatibility.
       (exp_fold_tree_1): Likewise.  Adjust handling of assignments
       during first phase.
       * ldlang.h (ld_compatibility): Delete.
       (lang_ld_feature): Declare.
       * ldlang.c (ld_compatibility): Delete.
       (open_input_bfds): Only handle assignments for --defsym.
       (lang_ld_feature): New function.

       PR ld/12356
       * ldexp.h (exp_assop): Delete.
       (exp_assign, exp_defsym): Declare.
       * ldexp.c (exp_assop): Make static, handle all assignment variations.
       (exp_assign, exp_defsym): New functions.
       (exp_provide): Use exp_assop.
       * ldgram.y (defsym_expr): Use exp_defsym.
       * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
       * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
       * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.

2011-01-12  Alan Modra  <[email protected]>

       PR ld/12380
       * ldexp.h (enum phase_enum): Comment.  Add exp_dataseg_done.
       * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code.  Test
       for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
       to detect when we've finished sizing sections.
       (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
       (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise.  Also test
       that we are not inside an output section statement.
       * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
       not exp_dataseg_relro_adjust or exp_dataseg_adjust.  Don't set
       lang_final_phase_enum here.
       (lang_process): Set lang_final_phase_enum here.

2011-01-10  Nick Clifton  <[email protected]>

       * po/da.po: Updated Danish translation.

2011-01-10  H.J. Lu  <[email protected]>

       * ldlang.c (startup_file): Removed.
       (lang_startup): Updated.

2011-01-05  H.J. Lu  <[email protected]>

       PR ld/12364
       * plugin.c (get_symbols): Check if owner_sec->owner is NULL
       before accessing its flags field.

2011-01-01  H.J. Lu  <[email protected]>

       * ldver.c (ldversion): Update copyright to 2011.

For older changes see ChangeLog-2010

Copyright (C) 2011 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: