2011-12-20  Joseph Myers  <joseph@codesourcery.com>

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

2011-12-13  Nick Clifton  <nickc@redhat.com>

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

2011-12-01  Nick Clifton  <nickc@redhat.com>

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

2011-11-25  John Tytgat  <john@bass-software.com>

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

2011-11-21  Andreas Tobler  <andreast@fgznet.ch>

	* 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  <schwab@linux-m68k.org>

	* 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  <gingold@adacore.com>

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

2011-11-02  Tristan Gingold  <gingold@adacore.com>

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

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

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

2011-11-01  DJ Delorie  <dj@redhat.com>

	* 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  <walt@tilera.com>

	* NEWS: Fix TILEPro capitalization.

2011-10-25  Joern Rennecke  <joern.rennecke@embecosm.com>

	* 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  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2011-10-20  Alan Modra  <amodra@gmail.com>

	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  <amodra@gmail.com>

	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  <amodra@gmail.com>

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

2011-10-13  Dave Korn  <dave.korn.cygwin@gmail.com>

	* 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  <nickc@redhat.com>

	* 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  <amodra@gmail.com>

	* 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  <amodra@gmail.com>

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

2011-10-09  Alan Modra  <amodra@gmail.com>

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

2011-10-06  Alan Modra  <amodra@gmail.com>

	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  <ktietz@redhat.com>

	* 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  <gingold@adacore.com>

	* NEWS: Add marker for 2.22.

2011-09-20  Alan Modra  <amodra@gmail.com>

	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  <hongjiu.lu@intel.com>

	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  <d.g.gorbachev@gmail.com>

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

2011-08-26  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2011-08-26  Nick Clifton  <nickc@redhat.com>

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

2011-08-22  Michael Matz  <matz@suse.de>

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

2011-08-17  Alan Modra  <amodra@gmail.com>

	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  <matthew.gretton-dann@arm.com>

	* 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  <amodra@gmail.com>

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

2011-08-06  Kai Tietz  <ktietz@redhat.com>

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

2011-08-05  Alan Modra  <amodra@gmail.com>

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

2011-08-04  H.J. Lu  <hongjiu.lu@intel.com>

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

2011-07-26  Alan Modra  <amodra@gmail.com>

	* 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  <hongjiu.lu@intel.com>

	* 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  <roland@hack.frob.com>

	* 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  <amodra@gmail.com>

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

2011-07-14  Alan Modra  <amodra@gmail.com>

	* 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  <amodra@gmail.com>

	* 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  <amodra@gmail.com>

	* 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  <clm@codesourcery.com>

	* 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  <hongjiu.lu@intel.com>

	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  <hongjiu.lu@intel.com>

	* configure.tgt: Revert x32 change.

2011-06-20  Jakub Jelinek  <jakub@redhat.com>

	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  <hongjiu.lu@intel.com>

	* configure.tgt: Support x32.

2011-06-15  Nick Clifton  <nickc@redhat.com>

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

2011-06-13  Walter Lee  <walt@tilera.com>

	* 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  <amodra@gmail.com>

	* 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  <nickc@redhat.com>

	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  <amodra@gmail.com>

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

2011-06-07  Nick Clifton  <nickc@redhat.com>

	* configure.tgt: Accept any V850 architecture.

2011-06-03  Nick Clifton  <nickc@redhat.com>

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

2011-06-02  Nick Clifton  <nickc@redhat.com>

	* 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  <nickc@redhat.com>

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

2011-05-23  Alan Modra  <amodra@gmail.com>

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

2011-05-23  Alan Modra  <amodra@gmail.com>

	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  <kikairoya@gmail.com>

	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  <amodra@gmail.com>

	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  <dan@codesourcery.com>

	* 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  <hongjiu.lu@intel.com>

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

2011-05-16  Alan Modra  <amodra@gmail.com>

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

2011-05-13  Bernd Schmidt  <bernds@codesourcery.com>

	(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  <jbeulich@novell.com>

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

2011-05-09  Paul Brook  <paul@codesourcery.com>

	* 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  <dave.korn.cygwin@gmail.com>

	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  <gingold@adacore.com>

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

2011-05-04  Tristan Gingold  <gingold@adacore.com>

	* 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  <amodra@gmail.com>

	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  <daniel.c.klauer@web.de>

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

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
	* 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  <amodra@gmail.com>

	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  <nickc@redhat.com>

	* po/da.po: Updated Danish translation.

2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>

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

2011-01-05  H.J. Lu  <hongjiu.lu@intel.com>

	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  <hongjiu.lu@intel.com>

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

For older changes see ChangeLog-2010

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: