+2011-04-26 Kai Tietz <ktietz@redhat.com>
+
+ * scripttempl/pe.sc: Handle .eh_frame($|.)* sections.
+ * scripttempl/pep.sc: Likewise.
+
+2011-04-24 Alan Modra <amodra@gmail.com>
+
+ 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 <gingold@adacore.com>
+
+ * scripttempl/alphavms.sc: Add dwarf2 embedding marks.
+
+2011-04-20 Tristan Gingold <gingold@adacore.com>
+
+ * emultempl/aix.em (_add_options): Ignore -bbigtoc switch.
+
+2011-04-20 Alan Modra <amodra@gmail.com>
+
+ * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long.
+
+2011-04-20 Alan Modra <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ 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 <ktietz@redhat.com>
+
+ * 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 <paul@codesourcery.com>
+
+ * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS
+ for unwinding tables.
+
+2011-04-18 Alan Modra <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ 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 <ktietz@redhat.com>
+
+ 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 <chris.quenelle@oracle.com>
+
+ * scripttempl/elf.sc (.exception_ranges): Add new section.
+
+2011-04-08 Hector Oron <hector.oron@gmail.com>
+
+ PR ld/12643
+ * configure.tgt: Add support for arm-*-gnueabihf targets.
+
+2011-04-07 Eric B. Weddington <eric.weddington@atmel.com>
+
+ * Makefile.in: Regenerate. Remove stray eavrtiny10 rules.
+
+2011-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.tgt: Remove stray ;;.
+
+2011-04-06 Joseph Myers <joseph@codesourcery.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * configure.tgt: Add elf_l1om to targ_extra_libpath for
+ x86_64-*-linux-*.
+
+ * emulparams/elf_l1om.sh: Remove duplicates.
+
+2011-03-31 Bernd Schmidt <bernds@codesourcery.com>
+
+ * 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 <amodra@gmail.com>
+
+ PR ld/12613
+ * ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
+
+2011-03-26 John Marino <binutils@marino.st>
+
+ * 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 <joseph@codesourcery.com>
+
+ * 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 <eric.weddington@atmel.com>
+
+ * Makefile.in: Regenerate.
+
+2011-03-23 Joseph Myers <joseph@codesourcery.com>
+
+ * lexsup.c (parse_args): Only set report_plugin_symbols if plugins
+ are enabled. Mark level as possibly unused.
+
+2011-03-22 Eric B. Weddington <eric.weddington@atmel.com>
+
+ * 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 <eric.weddington@atmel.com>
+
+ * scripttempl/avr.sc: Add fuse, lock, and signature memory regions.
+
+2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
+ eh->target_internal.
+
+2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
+ instead of dynamic_sections_created.
+
+2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
+
+2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.
+
+2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * 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 <dave.korn.cygwin@gmail.com>
+
+ * 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 <dave.korn.cygwin@gmail.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ PR ld/12529
+ * testplug.c: Don't include "filenames.h".
+ (onclaim_file): Don't use filename_cmp.
+
+2011-02-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ PR ld/12507
+ * plugin.c (get_symbols): Don't mark entry symbol IR only.
+
+2011-02-18 John David Anglin <dave.anglin@nrc-cnnrc.gc.ca>
+
+ PR ld/12376
+ emulparams/hppalinux.sh (DATA_ADDR): Define.
+ (SHLIB_DATA_ADDR): Likewise.
+
+2011-02-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to
+ x32 for x32.
+
+2011-02-15 Kai Tietz <kai.tietz@onevision.com>
+
+ * 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 <vapier@gentoo.org>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <Ralf.Wildenhues@gmx.de>
+
+ * configure: Regenerate.
+
+2011-02-10 Alan Modra <amodra@gmail.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * Makefile.am (CXX): Removed.
+
+ * configure.in: Add AC_PROG_CXX.
+
+ * Makefile.in: Regenerated.
+ * configure: Likewise.
+
+2011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
+ private data and GP size.
+
+2011-01-21 Alan Modra <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <grassman@gmail.com>
+
+ PR ld/12339
+ * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
+
+2011-01-14 Alan Modra <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
PR ld/12356