2011-02-01  Alan Modra  <amodra@gmail.com>

	Backport from mainline
	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>
	* ldmain.c (main): Flush stdout before and stderr after printing
	message.
	* ldmisc.c (einfo): Similarly.
	* plugin.c (message): Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/xtensaelf.em: Likewise.
	* emulparams/elf32mcore.sh: Use einfo rather than printf.
	* emultempl/beos.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.

	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.

	2011-01-13  Alan Modra  <amodra@gmail.com>
	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-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.

	2010-12-20  Alan Modra  <amodra@gmail.com>
	PR ld/12327
	* ld.texinfo (Expression Section): Describe treatment of numbers
	and absolute symbols.
	* ldemul.c (after_open_default): Look up __ld_compatibility.
	* ldexp.c (fold_name): Convert absolute symbols to numbers when
	inside output section definitions, or when __ld_compatibility >= 221.
	(exp_fold_tree_1): Convert numbers to absolute when not in output
	section definition and __ld_compatibility < 221.  Don't always
	convert values outside an output section definition to absolute.
	* ldexp.h (uses_defined): Comment.
	* ldlang.c (ld_compatibility): New variable.
	* ldlang.h (ld_compatibility): Declare.
	* emultempl/aix.em, * emultempl/armcoff.em, * emultempl/beos.em,
	* emultempl/elf32.em, * emultempl/genelf.em, * emultempl/lnk960.em,
	* emultempl/m68kcoff.em, * emultempl/mmo.em, * emultempl/pe.em,
	* emultempl/pep.em, * emultempl/sunos.em, * emultempl/z80.em: Call
	after_open_default from after_open function.

	2010-12-20  Alan Modra  <amodra@gmail.com>
	PR ld/12001
	Revert 2010-11-03 Nick Clifton
	* ldlang.c (ldlang_def_chain_list): Delete.
	(insert_defined, ldlang_add_def, lang_place_defineds): Delete.
	(lang_process): Don't call lang_place_defineds.
	(lang_add_assignment): Don't do anything special for --defsym.
	* ldexp.h (struct ldexp_control): Add uses_defined.
	(exp_fold_tree_no_dot): Declare.
	* ldexp.c (exp_fold_tree): Clear uses_defined.
	(exp_fold_tree_no_dot): Likewise.  Make global.
	(fold_name <DEFINED>): Set uses_defined.
	(exp_fold_tree_1 <etree_assign>): Define symbol during first phase
	even when the value being assigned isn't valid.
	* ldlang.c (open_input_bfds): Process assignment statements.
	(lang_process): Bump lang_statement_iteration.
	(scan_for_self_assignment): Formatting.
	(print_assignment): Style.

	2010-12-13  Alan Modra  <amodra@gmail.com>
	* ldlang.c (load_symbols): Correct last change.

	2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>
	* ldlang.c (load_symbols): Optimize for add_archive_element.

	2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12288
	* plugin.c (message): Don't add the trailing `\n' for
	LDPL_ERROR.

	2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12288
	* testplug.c: Remove the trailing `\n' from TV_MESSAGE.

	2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
	PR ld/12288
	* plugin.c (message): Use putchar for the trailing `\n'.

	2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
		    Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
	PR ld/12289
	* ldmain.c (main): Don't call plugin_call_cleanup.
	* plugin.c (plugin_call_cleanup): Make it static.
	(message): Don't call plugin_call_cleanup.
	(plugin_load_plugins): Call xatexit with plugin_call_cleanup.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12289
	* plugin.c (message): Call plugin_call_cleanup on fatal
	error.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	* plugin.c (message): Add a space after `:' in error message.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	* plugin.c (asymbol_from_plugin_symbol): Add the trailing `\n'
	to einfo.
	(get_symbols): Likewise.
	(plugin_notice): Likewise.
	(plugin_multiple_definition): Likewise.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12288
	* plugin.c (message): Add the trailing `\n'.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	* ldfile.c (ldfile_open_file_search): Check maybe_archive instead
	of is_archive.
	* emultempl/aix.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/vms.em: Likewise.
	* ldlang.c (new_afile): Set maybe_archive instead of is_archive..
	* ldlang.h (lang_input_statement_struct): Replace is_archive
	with maybe_archive.

	2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
	* plugin.c (asymbol_from_plugin_symbol): Properly convert LTO
	plugin visibility to ELF visibility.
	(is_visible_from_outside): Re-indent.

	2010-11-21  H.J. Lu  <hongjiu.lu@intel.com>
	* ldfile.c: Re-indent plugin code.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* plugin.c: Likewise.

	2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12246
	* plugin.c (asymbol_from_plugin_symbol): Set alignment of
	common symbol to 1 for For ELF targets.

	2010-11-20  H.J. Lu  <hongjiu.lu@intel.com>
	PR ld/12247
	* lexsup.c (parse_args): Properly report loading plugin error.

2010-12-21  Alan Modra  <amodra@gmail.com>

	* po/ja.po: Update.

2010-12-04  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_size_sections_1): Align lma using same alignment
	as for vma.

2010-11-05 Pierre Muller  <muller@ics.u-strasbg.fr>

	* emultempl/spuelf.em (new_tmp_file): Fix wrong first parameter.

2010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* configure.tgt: Add sparc64-rtems.

2010-11-26  Alan Modra  <amodra@gmail.com>

	* po/ja.po: Update.

2010-11-25  Alan Modra  <amodra@gmail.com>

	* po/bg.po: Update.
	* po/es.po: Update.
	* po/fi.po: Update.
	* po/ja.po: New.
	* po/zh_CN.po: Update.

2010-11-25  Jan Hubicka  <hubicka@ucw.cz>

	* scripttempl/elf.sc: Group .text.exit, text.startup and .text.hot
	sections.

2010-11-23  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: For --enable-gold, handle value `default' instead of
	`both*'. Always install ld as ld.gold, install as ld if gold is
	the default.
	* configure: Regenerate.

2010-11-19  Dave Korn  <dave.korn.cygwin@gmail.com>

	* plugin.c (is_visible_from_outside): New function.
	(get_symbols): Use it.

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* po/ld.pot: Regenerate
	* po/POTFILES.in: Regenerate

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.21.

2010-11-05  Dave Korn  <dave.korn.cygwin@gmail.com>

	* plugin.h (plugin_active_plugins_p): New prototype.
	(is_ir_dummy_bfd): Delete prototype.
	* plugin.c: Fix formatting issues.
	(is_ir_dummy_bfd): Make static.
	(plugin_active_plugins_p): New function.
	* ldfile.c (ldfile_try_open_bfd): Use it to save work if no plugins
	are loaded.  Always close file descriptor after claim handler returns.
	* ldmain.c (add_archive_element): Likewise.

2010-11-05  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_add_section): Distinguish ELF treatment of NOLOAD.
	(map_input_to_output_sections): Likewise.
	(lang_size_sections_1): Likewise.
	(IGNORE_SECTION): Don't test SEC_NEVER_LOAD.
	(lang_check_section_addresses): Likewise.

2010-11-04  Kai Tietz  <kai.tietz@onevision.com>

	* scripttempl/pe.sc (.debug_types): New.
	* scripttempl/pep.sc: Likewise.

2010-11-04  Alan Modra  <amodra@gmail.com>

	* plugin.c (is_ir_dummy_bfd): Don't segfault on NULL abfd.

2010-11-03  Nick Clifton  <nickc@redhat.com>

	PR ld/12001
	* ldlang.c (ldlang_def_chain_list): New variable.  Contains a list
	of symbols defined via the --defsym command line option and
	currently waiting assignment.
	(insert_defined): Add a defined symbol to the symbol table.
	(ldlang_add_def): Add a entry to the ldlang_def_chain_list.
	(lang_place_defineds): Walk ldlang_def_chain_list defining the
	symbols.
	(lang_process): Call lang_place_defineds.
	(lang_add_assignment): If the assignment has come from a --defsym
	command line option then call lang_add_def.

2010-11-03  Alan Modra  <amodra@gmail.com>

	* Makefile.am (eelf64hppa.c): Correct dependencies.
	* Makefile.in: Regenerate.

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/armbpabi.sc: Include compressed DWARF debug
	sections.
	* 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.

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* ldfile.c (ldfile_try_open_bfd): Set BFD_DECOMPRESS after
	bfd_openr returns.
	* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.

	* scripttempl/elf.sc: Include compressed DWARF debug sections.

2010-10-28  Alan Modra  <amodra@gmail.com>

	* ldfile.c (find_scripts_dir): Don't look in absolute SCRIPTDIR.

2010-10-28  Matthias Klose  <doko@ubuntu.com>

	* ld.texinfo: Add directory section for info document.
	* ldint.texinfo: Likewise.

2010-10-28  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): For
	--no-undefined-version, don't report dot sym versions added by ld.

2010-10-28  Alan Modra  <amodra@gmail.com>

	* ldlang.h (ldlang_add_undef): Add cmdline param.
	* ldlang.c (undef_from_cmdline): New var.
	(ldlang_add_undef): Add cmdline param.  Set undef_from_cmdline.
	(lang_end): Really require -e or -u from command line on
	relocatable --gc-sections.
	* ldemul.c (after_parse_default): Adjust ldlang_add_undef call.
	* ldgram.y (extern_name_list_body): Likewise.
	* lexsup.c (parse_args): Likewise.
	* emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.

2010-10-25  Alan Modra  <amodra@gmail.com>

	* plugin.c (plugin_get_ir_dummy_bfd): Set bfd_use_reserved_id.
	Formatting.

2010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* emulparams/elf32_sparc_sol2.sh (OUTPUT_FORMAT): Set to
	elf32-sparc-sol2.
	* emulparams/elf64_sparc_sol2.sh (OUTPUT_FORMAT): Set to
	elf64-sparc-sol2.

2010-10-22  Alan Modra  <amodra@gmail.com>

	* ldwrite.c (build_link_order <lang_data_statement_enum>): Don't
	output when section has no contents.
	(build_link_order <lang_reloc_statement_enum>): Likewise.

2010-10-21  Joseph Myers  <joseph@codesourcery.com>

	* emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Use
	.c6xabi.attributes, not __TI_build_attributes.

2010-10-20  Dave Korn  <dave.korn.cygwin@gmail.com>

	* plugin.c (get_symbols): Check symbol type correctly.

2010-10-15  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.in: If <dlfcn.h> can't be found, try for <Windows.h>
	* configure: Regenerate.
	* config.in: Likewise.
	* plugin.c [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlopen): Provide
	trival LoadLibrary-based replacement for Windows systems.
	[!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise trivial
	replacement based on GetProcAddress.
	[!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise FreeLibrary.
	* sysdep.h: Don't infer presence of <dlfcn.h> from ENABLE_PLUGINS
	anymore, use its own guard.

2010-10-15  Dave Korn  <dave.korn.cygwin@gmail.com>

	* plugin.c (add_input_file): Take copy of input string.
	(add_input_library): Likewise.
	(set_extra_library_path): Likewise.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 6/6).
	* ldlang.c (load_symbols): Handle bfd subsitution when calling the
	add_archive_element callback.
	* ldmain.c (add_archive_element)[ENABLE_PLUGINS]: Offer the archive
	member to the plugins and if claimed set "subsbfd" output parameter to
	point to the dummy IR-only BFD.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 5/6).
	* plugin.c (asymbol_from_plugin_symbol): If the bfd is an ELF bfd,
	find the elf symbol data and set the visibility in the st_other field.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 4/6).
	* ldlang.c (lang_process)[ENABLE_PLUGINS]: Move invocation of
	plugin_call_all_symbols_read to before setting of gc_sym_list, and
	open any new input files that may have been added during it.
	* ldmain.c (multiple_definition)[ENABLE_PLUGINS]: Call out to
	plugin_multiple_definition and let it have first say over what to do
	with the clashing definitions.
	* plugin.c (no_more_claiming): New boolean variable.
	(plugin_cached_allow_multiple_defs): Likewise.
	(add_input_file): Implement.
	(add_input_library): Likewise.
	(set_extra_library_path): Likewise.
	(plugin_call_claim_file): Don't do anything when no_more_claiming set.
	(plugin_call_all_symbols_read): Set it.  Disable link info
	"allow_multiple_definition" flag, but cache its value.
	(plugin_multiple_definition): New function.
	* plugin.h (plugin_multiple_definition): Add prototype.
	* testplug.c (addfile_enum_t): New enumerated typedef.
	(add_file_t): New struct typedef.
	(addfiles_list): New variable.
	(addfiles_tail_chain_ptr): Likewise.
	(record_add_file): New function.
	(parse_option): Parse "add:", "lib:" and "dir:" options and call it.
	(onall_symbols_read): Iterate the list of new files, libs and dirs,
	adding them.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 3/6).
	* ldmain.c (notice)[ENABLE_PLUGINS]: Call plugin_notice.
	* plugin.c (non_ironly_hash): Add new bfd hash table.
	(plugin_load_plugins): Exit early if no plugins to load.  If plugins
	do load successfully, set notice_all flag in link info.
	(get_symbols): Implement.
	(plugin_load_plugins): Exit early if no plugins to load, else after
	loading plugins successfully enable notice_all mode.
	(init_non_ironly_hash): Lazily init non_ironly_hash table.
	(plugin_notice): Record symbols referenced from non-IR files in the
	non_ironly_hash.  Suppress tracing, cref generation and nocrossrefs
	tracking for symbols from dummy IR bfds.
	* plugin.h: Fix formatting.
	(plugin_notice): Add prototype.
	* testplug.c (dumpresolutions): New global var.
	(parse_options): Accept "dumpresolutions".
	(onall_symbols_read): Get syms and dump resolutions if it was given.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 2/6).
	* ldfile.c (ldfile_try_open_bfd)[ENABLE_PLUGINS]: Don't return early
	during compat checks if they pass, instead offer any successfully
	opened and accepted file to the plugin claim file hooks chain.  Create
	a dummy bfd to accept symbols added by the plugin, if the plugin
	claims the file.
	* ldlang.c (lang_process)[ENABLE_PLUGINS]: Call plugin all symbols
	read hook chain before ldemul_after_open.
	* ldlang.h (struct lang_input_statement_struct): Add new single-bit
	'claimed' flag.
	* plugin.c (IRONLY_SUFFIX): New macro for dummy bfd file suffix.
	(IRONLY_SUFFIX_LEN): Length of the above string.
	(plugin_get_ir_dummy_bfd): New function to create the dummy bfd used
	to store symbols for ir-only files.
	(is_ir_dummy_bfd): New function to check if a bfd is ir-only.
	(asymbol_from_plugin_symbol): New function converts symbol formats.
	(add_symbols): Call it to convert plugin syms to bfd syms and add
	them to the dummy bfd.
	* plugin.h: Add missing include guards.
	(plugin_get_ir_dummy_bfd): Add prototype.
	(is_ir_dummy_bfd): Likewise.
	* testplug.c (TV_MESSAGE): New helper macro.
	(struct claim_file): New struct.
	(claim_file_t): New typedef.
	(tag_names[]): Make static and const.
	(claimfiles_list): New variable.
	(claimfiles_tail_chain_ptr): Likewise.
	(last_claimfile): Likewise.
	(record_claim_file): Record a file to claim on a singly-linked list.
	(parse_symdefstr): Parse an ASCII representation of a symbol from a
	plugin option into the fields of a struct ld_plugin_symbol.
	(record_claimed_file_symbol):  Use it to parse plugin option for
	adding a symbol.
	(parse_option): Parse claim file and add symbol options.
	(dump_tv_tag): Use TV_MESSAGE.
	(onload): Likewise.
	(onclaim_file): Make static.  Use TV_MESSAGE.  Scan list of files to
	claim and claim this file if required, adding any symbols specified.
	(onall_symbols_read): Make static and use TV_MESSAGE.
	(oncleanup): Likewise.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 1/6).
	* configure.in: Add AC_CHECKs for file io and dlfcn headers and
	functions and AC_SEARCH for -ldl.
	(enable_plugins): New shell variable set if above tests find dlopen
	functionality.
	(ENABLE_PLUGINS): Add related automake conditional.
	* configure: Regenerate.
	* config.in: Likewise.
	* Makefile.am (PLUGIN_C): Declare plugin C source file, conditional
	on ENABLE_PLUGINS being defined.
	(PLUGIN_H): Likewise for header file.
	(PLUGIN_OBJECT): Likewise for object file.
	(PLUGIN_CFLAGS): Likewise -D flag required to compile plugin support.
	(AM_CPPFLAGS): Use PLUGIN_CFLAGS.
	(CFILES): Use PLUGIN_C.
	(HFILES): Use PLUGIN_H.
	(OFILES): Use PLUGIN_OBJECT.
	(ld_new_SOURCES): Use PLUGIN_C.
	(noinst_LTLIBRARIES)[ENABLE_PLUGINS]: Declare test plugin.
	(libldtestplug_la_SOURCES)[ENABLE_PLUGINS]: Add automake definition
	for test plugin.
	(libldtestplug_la_CFLAGS)[ENABLE_PLUGINS]: Likewise.
	(libldtestplug_la_LDFLAGS)[ENABLE_PLUGINS]: Likewise.
	* Makefile.in: Regenerate.
	* sysdep.h: Include stdarg.h, unistd.h and one of fcntl.h or
	sys/file.h where available.  Include dlfcn.h when ENABLE_PLUGINS.
	(O_RDONLY): Supply default definition likewise to bfd's sysdep.h
	(O_WRONLY): Likewise.
	(O_RDWR): Likewise.
	(O_ACCMODE): Likewise.
	(O_BINARY): Likewise.
	(SEEK_SET): Likewise.
	(SEEK_CUR): Likewise.
	(SEEK_END): Likewise.
	* ldmisc.c (vfinfo): Make non-static.  Add %p format char.
	* ldmisc.h (vfinfo): Declare extern prototype.
	* lexsup.c (enum option_values)[ENABLE_PLUGINS]: Add new entries for
	OPTION_PLUGIN and OPTION_PLUGIN_OPT.
	(ld_options[])[ENABLE_PLUGINS]: Add option data for the above two.
	(parse_args)[ENABLE_PLUGINS]: Handle them, and load all plugins once
	option parsing is complete.
	* ldmain.c (main)[ENABLE_PLUGINS]: Call plugin cleanup hooks just
	after lang_finish.
	* plugin.c: New source file.
	* plugin.h: Likewise new header.
	* testplug.c: New source file.

2010-10-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed
	basever_syms to global_syms.
	Emit global_syms into .dynamic section for all executables and
	shared objects.
	(elf_solaris2_after_allocation): New function.
	(LDEMUL_AFTER_ALLOCATION): Use it.
	* emulparams/solaris2.sh: New file.
	* emulparams/elf32_sparc_sol2.sh: Use it.
	* emulparams/elf64_sparc_sol2.sh: Likewise.
	* emulparams/elf_i386_sol2.sh: Likewise.
	* emulparams/elf_x86_64_sol2.sh: Likewise.
	* Makefile.am (eelf32_sparc_sol2.c): Depend on
	$(srcdir)/emulparams/solaris2.sh.
	(eelf64_sparc_sol2.c): Likewise.
	(eelf_x86_64_sol2.c): Likewise.
	(eelf_i386_sol2.c): Likewise.
	* Makefile.in: Regenerate.

2010-10-06  Nick Clifton  <nickc@redhat.com>

	* ld.texinfo: Update description of computation of VMA and LMA
	addresses for output sections.

2010-10-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (ALL_64_EMULATIONS): Fix typo in last commit.
	* Makefile.in: Regenerate.

	* Makefile.am (ALL_EMULATIONS): Rewrite in terms of ...
	(ALL_EMULATION_SOURCES): ... this new variable.
	(ALL_64_EMULATIONS): Rewrite in terms of ...
	(ALL_64_EMULATION_SOURCES): ... this new variable.
	(EXTRA_ld_new_SOURCES): Rewrite in terms of the _SOURCES
	variables.
	(eelf32microblaze.c): Fix indentation.
	* Makefile.in: Regenerate.

2010-10-04  Bernd Schmidt  <bernds@codesourcery.com>

	* emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Use
	_bfd_elf_single_rel_hdr.

2010-10-01  Alan Modra  <amodra@gmail.com>

	PR ld/12066
	* ldexp.c (fold_name): Treat absolute symbols as plain numbers.
	* ld.texinfo (Expression Section): Don't say absolute symbols
	are addresses.

2010-09-29  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_place_orphans): Zero vma when relocatable or non-load
	section for orphans handled here.

2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-09-23  Dave Korn  <dave.korn.cygwin@gmail.com>

	* scripttempl/armcoff.sc: Revert 2010-09-22 change.

2010-09-23  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_add_section): Don't copy SEC_RELOC from input
	to output section on a final link.

2010-09-22  Kai Tietz  <kai.tietz@onevision.com>

	* ldlang.c (lang_add_section): Allow for debugging
	section to be marked as noload but to keep content.
	(IGNORE_SECTION): Likewise.
	(lang_check_section_addresses): Likewise.
	* ldwrite.c (build_link_order): Likewise.

	* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add
	idata to orphan set.
	* emultempl/pep.em: Likewise.
	* scripttempl/armcoff.sc: Separate idata
	and add __IAT_start__ and __IAT_end__ labels.
	* scripttempl/pe.sc: Likewise.
	* scripttempl/pep.sc: Likewise.

2010-09-20  David S. Miller  <davem@davemloft.net>

	* emulparams/elf32_sparc.sh: Set NOP to 0x01000000

2010-09-16  Alan Modra  <amodra@gmail.com>

	* ld.texinfo (NOLOAD): Do not erroneously state that contents will
	appear in output file.
	* ldlang.c (lang_add_section): Clear SEC_HAS_CONTENTS on noload
	unless SEC_COFF_SHARED_LIBRARY.
	(map_input_to_output_sections): Don't set SEC_HAS_CONTENTS for noload
	output sections.
	(lang_size_sections_1): Don't test SEC_NEVER_LOAD when deciding
	to update dot in region.  Ditto when setting SEC_ALLOC if dot
	advanced due to assignment.
	* ldwrite.c (build_link_order): Don't test SEC_NEVER_LOAD.

2010-09-15  Kai Tietz  <kai.tietz@onevision.com>

	* scripttempl/pep.sc: Add .xdata segment and
	put into .pdata all segments beginning with .pdata.

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

	PR ld/11931
	* ldlang.h (lang_for_each_statement_worker): Declare.
	* ldlang.c (lang_for_each_statement_worker): Make global.  Don't
	recurse into children of output_section_statement with constraint
	set to -1.
	(print_assignment): Handle NULL output_section->bfd_section.
	(lang_size_sections_1): Ignore output section statement address
	when constraint is -1.
	* emultempl/xtensaelf.em (lang_for_each_statement_worker): Delete.

2010-09-09  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a entry for alpha-vms.

2010-09-07  Andrew Burgess  <aburgess@broadcom.com>

	* ldwrite.c (clone_section): Call bfd_copy_private_section_data on
	newly cloned section.

2010-09-02  Richard Henderson  <rth@redhat.com>

	* configure.tgt (x86_64-*-mingw*): Add 32-bit pe emulations too.

2010-08-31  Nick Clifton  <nickc@redhat.com>

	* ldlex.l (WILDCHAR): Add the caret and exclamation point
	characters, so that they can be used inside globs.

2010-08-31  Nick Clifton  <nickc@redhat.com>

	* ld.texinfo (MEMORY): Clarify the behaviour of the ! character in
	a region's attributes.

2010-08-31  Alan Modra  <amodra@gmail.com>

	* scripttempl/mmo.sc: Move assignment to "Main" inside .text
	output section statement.

2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11946
	* emultempl/elf32.em (_before_allocation): Check audit entry
	only on ELF input.

2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11937
	* emultempl/elf32.em (_after_open): Find one .eh_frame section
	for --eh-frame-hdr.

2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11937
	* emultempl/elf32.em (_after_open): Find an ELF input for
	--build-id and --eh-frame-hdr.

2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* Makefile.am (eshlelf_fd.c): Correct the name of the tool
	directory.
	* Makefile.in: Regenerate.

2010-08-20  Nick Clifton  <nickc@redhat.com>

	* emultempl/elf32.em (_after_open): Check for get_elf_backend_data
	returning NULL.

2010-08-19  Alan Modra  <amodra@gmail.com>

	* NEWS: Mention change in linker script expression evaluation.

2010-08-19  Alan Modra  <amodra@gmail.com>

	* ld.texinfo (Expression Section): Detail expression evaluation.
	(Builtin Functions <ADDR>): Correct.
	(Builtin Functions <LOADADDR>): Don't mention LOADADDR normally
	the same as ADDR.
	(Builtin Functions <SEGMENT_START>): Typo fix.
	* ldexp.c (new_number): New function.
	(make_abs, exp_get_abs_int): Cope with NULL expld.result.section.
	(fold_unary <'~', '!', '-'>): Don't make_abs.
	(fold_binary): Simplify result section logic.  Return NULL section
	for logical ops.
	(fold_binary <SEGMENT_START>): Use new_rel_from_abs to set value to
	a consistent result.
	(fold_name <SIZEOF_HEADERS>): Return new_number, not new_abs.
	(fold_name <DEFINED, SIZEOF, ALIGNOF, LENGTH, CONSTANT>): Likewise.
	(fold_name <NAME>): No need to handle absolute symbols differently
	from relative ones.
	(fold_name <ORIGIN>): Don't return valid result when
	lang_first_phase_enum.  Return new_rel_from_abs, not new_abs.
	(exp_fold_tree_1 <etree_value>): Return new_number, not new_rel.
	(exp_fold_tree_1): Ajust for NULL expld.result.section.  When assigning
	a plain number to dot, assume the value is relative to expld.section.
	Make terms not in an output section, absolute.
	* ldlang.c (print_assignment): Fix style nit.
	(lang_size_sections_1): Cope with NULL expld.result.section.
	(lang_do_assignments_1): Likewise.

2010-08-12  Alan Modra  <amodra@gmail.com>

	* ldexp.c (new_rel): Remove "str".  Update all call sites.
	(exp_fold_tree_1): When assigning to dot, calculate nextdot
	using expld.result.section rather than expld.section.

2010-08-06  Alan Modra  <amodra@gmail.com>

	PR ld/11887
	* ldlang.c (lang_add_vers_depend): Don't leave version_needed
	uninitialised.

2010-07-28  Alan Modra  <amodra@gmail.com>

	* ldexp.c (exp_print_tree): Print function-like binary nodes as
	functions rather than in-fix operators.  Use fputs and fputc
	where appropriate.

2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
	    Ina Pandit  <ina.pandit@kpitcummins.com>

	* configure.tgt: Match all v850 targets.

2010-07-20  Mike Frysinger  <vapier@gentoo.org>

	* ld.texinfo (VERSION): Remove "int" from example script and add ";".
	Declare the default language as C.

2010-07-17  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_check_section_addresses): Catch overlap for
	sections that wrap around the address space.

2010-06-29  Nick Clifton  <nickc@redhat.com>

	* scripttempl/xstormy16.sc (.gcc_except_table): Include sections
	with the .gcc_except_table. prefix.

2010-06-29  Alan Modra  <amodra@gmail.com>

	* emulparams/maxqcoff.sh: Delete file.
	* scripttempl/maxqcoff.sc: Delete file.
	* Makefile.am: Remove references to maxq.
	* configure.tgt: Likewise.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.

2010-06-27  Alan Modra  <amodra@gmail.com>

	* pe-dll.c (fill_edata): Avoid set but unused warning.
	(pe_walk_relocs_of_symbol): Delete set but unused variables.
	(generate_reloc, pe_implied_import_dll): Likewise.
	* emultempl/aix.em (open_dynamic_archive): Likewise.
	* emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise.
	(xtensa_layout_wild): Likewise.
	(xtensa_colocate_output_literals_callback): Likewise.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (prelim_size_sections): New function.
	(ppc_before_allocation): Use it.  Size sections before toc edit too.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* emultempl/elf32.em (find_exp_assignment): Handle etree_provided.

2010-06-20  Danny Smith  <dannysmith@users.sourceforge.net>

	* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Make
	auto-import and merge-rdata defaults same for i[3-7]86 and
	x86_64 mingw.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define.

2010-06-09  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR ld/11603
	* pe-dll.c (process_def_file_and_drectve): Reorder check for
	forwarded export name after check for ordinary export.

2010-06-08  Bernd Schmidt  <bernds@codesourcery.com>

	* emulparams/elf32_tic6x_le.sh (OTHER_BSS_SECTIONS): New.

2010-06-08  Nick Clifton  <nickc@redhat.com>

	* fdl.texi: Replace with v1.3 text.
	* ld.texinfo: Replace abbreviated 20th century year numbers with
	full versions.
	* ldint.texinfo: Likewise.
	Relicense under GFDL v1.3.  Replace text of v1.1 FDL with an
	include of the fdl.texi file.

2010-06-01  Tristan Gingold  <gingold@adacore.com>

	* scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
	readonly output-section. Handle LIB$INITIALIZE and sections
	created by gcc.
	* emultempl/vms.em (vms_place_orphan): Add comments.

2010-05-28  Nick Clifton  <nickc@redhat.com>

	* Makefile.am (eshlelf_fd.c): Fix typo in rule.
	* Makefile.in: Regenerate.

2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11628
	* ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
	multiple of maximum page size.

2010-05-25  Nick Clifton  <nickc@redhat.com>

	* Makefile.am: Fix typo.
	* Makefile.in: Regenerate.

2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
	(eshelf_fd.c, eshlelf_fd.c): New rules.
	* Makefile.in: Regenerate.
	* configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
	emulations.
	* emulparams/shelf_fd.sh: New file.
	* emulparams/shlelf_fd.sh: New file.
	* emulparams/shlelf_linux.sh: Update comment.

2010-05-25  Jay Krell  <jay.krell@cornell.edu>

	PR ld/11621
	* Makefile.am: Replace all occurences of .o with .@OBJEXT@
	* Makefile.in: Regenerate.

2010-05-25  Kai Tietz  <kai.tietz@onevision.com>

	* deffilep.y (opt_name): Allow leading dot.
	(dot_name): Likewise.
	(anylang_id): Likewise.
	* emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by
	default auto_import.
	(gld${EMULATION_NAME}_handle_option): Warn about v1.
	(pep_find_data_imports): Remove superflous warnings about
	auto-import.
	(gld_${EMULATION_NAME}_get_script): Don't merge for auto-import
	and active pseudo-relocation-v2 rdata into data section.
	* emultempl/pe.em (default_merge_rdata): New shell variable.
	(MERGE_RDATA_V2): New macro.
	(gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import
	selected script.

2010-05-15  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pe.em (is_underscoring): New helper function.
	(gld_${EMULATION_NAME}_before_parse): Replace code
	for pe(p)_leading_underscore detection by is_underscoring.
	(U): Likewise.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(U_SIZE): Likewise.
	(set_pe_name):
	(set_entry_point):
	(gld_${EMULATION_NAME}_set_symbols):
	* emultempl/pep.em: Likewise.
	* pe-dll.c (pe_detail_list): Set default
	underscoring for x64 target.
	(pe_dll_id_target): Add initialization of
	pe(p)_leading_underscore.

2010-05-15  Dave Korn  <dave.korn.cygwin@gmail.com>

	* pe-dll.c: Removed trailing whitespaces.

2010-05-14  Alan Modra  <amodra@gmail.com>

	PR ld/11583
	* ldexp.c (exp_fold_tree_1): If assignment source expression is
	invalid, make the destination symbol undefined.

2010-05-11  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
	Initialize pe(p)_leading_underscore variable.
	(set_pe_name): Likewise.
	* emultempl/pep.em: Likewise.
	Additional change default to non-underscore for
	pep_leading_underscore equal to -1.

2010-05-07  Tristan Gingold  <gingold@adacore.com>

	* Makefile.in: Regenerate with automake 1.11.1.
	* aclocal.m4: Ditto.

2010-05-05  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2010-04-27  Kai Tietz  <kai.tietz@onevision.com>

	* pe-dll.c (_nm_-symbols): Use always underscored variant
	for symbols.
	(__imp_-symbols): Likewise.
	(___imp_-symbols): Likewise.
	* NEWS: Mention ABI change for x64 PE-COFF.

2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (install-exec-local): Properly install ld as
	default cross linker.
	* Makefile.in: Regenerated.

2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
	    Nick Clifton  <nickc@redhat.com>

	* configure.in (install_as_default): Define and set to true
	unless --enable-gold=both/gold has been specified.
	* configure: Regenerate.

	* Makefile.am (transform): Use ld.bfd as the default name of
	the linker.
	(install-exec-local): Also install the executable as a binary
	named 'ld' if install_as_default is true.
	* Makefile.in: Regenerate.

2010-04-22  Nick Clifton  <nickc@redhat.com>

	* po/ld.pot: Updated by the Translation project.
	* po/vi.po: Updated Vietnamese translation.
	* po/bg.po: Updated Bulgarian translation.

2010-04-15  Andrew Haley  <aph@redhat.com>

	* emultempl/armelf.em (merge_exidx_entries): New variable.
	(OPTION_NO_MERGE_EXIDX_ENTRIES): New definition.
	("no-merge-exidx-entries"): New option.
	* ld.texinfo (merge-exidx-entries): Document this option.

2010-04-14  Tristan Gingold  <gingold@adacore.com>

	* emulparams/alphavms.sh: New file.
	* emultempl/vms.em: New file.
	* scripttempl/alphavms.sc: New file.
	* configure.tgt (alpha*-*-*vms*): Added.
	* Makefile.am (ALL_EMULATIONS): Add ealphavms.o
	(ealphavms.c): New target.
	* Makefile.in: Regenerate.

2010-04-09  Nick Clifton  <nickc@redhat.com>

	* ldlang.c (wild_sort): Remove unused variable section_name.

2010-04-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11434
	* ld/testsuite/ld-x86-64/unique1.d: New.
	* ld/testsuite/ld-x86-64/unique1.s: Likewise.

	* ld-x86-64/x86-64.exp: Run unique1.

2010-04-05  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pep.em (U): Macro modified.
	(U_SIZE): New helper macro.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(enum options): Add OPTION_NO_LEADING_UNDERSCORE
	and OPTION_LEADING_UNDERSCORE enumerator-values.
	(gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
	option.
	(definfo): Add new member is_c_symbol.
	(D): Add to macro underscore mode parameter.
	(init): Add definition for is_c_symbol.
	(gld_${EMULATION_NAME}_list_options): Display new options.
	(set_pep_name): Adjust underscoring dependent fixed
	symbol handling.
	(gld_${EMULATION_NAME}_set_symbols): Likewise.
	(saw_option): Likewise.
	(gld_${EMULATION_NAME}_unrecognized_file): Likewise.
	(set_entry_point): Initial initial_symbol_char dependent to
	target's default and new option flag pep_leading_underscore.
	* emultempl/pe.em (U): Macro modified.
	(U_SIZE): New helper macro.
	(GET_INIT_SYMBOL_NAME): Likewise.
	(OPTION_LEADING_UNDERSCORE): Add new option define.
	(OPTION_NO_LEADING_UNDERSCORE): Likewise.
	(gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
	option.
	(definfo): Add new member is_c_symbol.
	(D): Add to macro underscore mode parameter.
	(init): Add definition for is_c_symbol.
	(gld_${EMULATION_NAME}_list_options): Display new options.
	(set_pep_name): Adjust underscoring dependent fixed
	symbol handling.
	(gld_${EMULATION_NAME}_set_symbols): Likewise.
	(saw_option): Likewise.
	(gld_${EMULATION_NAME}_unrecognized_file): Likewise.
	(set_entry_point): Initial initial_symbol_char dependent to
	target's default and new option flag pep_leading_underscore.
	* pe-dll.c (pe_leading_underscore): New flag variable.
	(pe_detail_list): Remove const to allow modify of
	member underscore.
	(pe_dll_id_target): Initialize pe_details' underscore variable
	dependent to target's default and flag pe_leading_underscore.
	* pe-dll.h (pe_leading_underscore): Add extern declaration of
	option flag.
	* pep-dll.c (pe_leading_underscore): Add alias define for
	pep_leading_underscore.
	* pep-dll.h (pep_leading_underscore) Add extern declaration of
	option flag.
	* ld.texinfo: Add documentation for --(no-)leading-underscore
	option.

2010-03-26  Alan Modra  <amodra@gmail.com>

	PR ld/11426
	* configure.host (many linux targets <HOSTING_CRT0>): Remove edits.
	(m68*-motorola-sysv <HOSTING_LIBS>): Use here doc, not echo.

2010-03-25  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
	eelf32_tic6x_le.o.
	(eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
	* NEWS: Add news entry for TI C6X support.
	* configure.tgt (tic6x-*-*): New.
	* emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.

2010-03-23  Joseph Myers  <joseph@codesourcery.com>

	* scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
	BSS_NAME): Define if not already defined.  Use in place of some
	hardcoded section names.

2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/elf.sc (INIT_ARRAY): Re-indent.

2010-03-18  Aymeric Vincent  <vincent@labri.fr>

	PR ld/11384
	* emultempl/sh64elf.em: Add missing EOF.

2010-03-18  Doug Semler  <dougsemler@gmail.com>

	* pe-dll.c (make_one): Make text section readonly.
	(make_one): Add *ABS* symbol @feat.00 with value 1 to tag
	the jump stub on X86 as /SAFESEH compatible for
	native toolchains.

2010-03-17  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_size_sections_1): Remove "s" param.  Set "s" from
	*prev instead.  Update all callers.

2010-03-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* ldlang.c (lang_insert_orphan): Place loadable orphans in the same
	region and phdrs as their placement section.

2010-03-15  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (move_input_section, sort_toc_sections): New.
	(ppc_before_allocation): Call sort_toc_sections.
	(no_toc_sort, OPTION_NO_TOC_SORT): New.
	(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
	 PARSE_AND_LIST_OPTIONS): Handle --no-toc-sort.

2010-03-14  Alan Modra  <amodra@gmail.com>

	PR ld/11378
	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
	ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs.

2010-03-11  George Gensure  <werkt0@gmail.com>

	PR ld/11367
	* ldcref.c (handle_asneeded_cref): Correct copying of refs.

2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
	eelf_i386_sol2.o.
	(ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o.
	(eelf32_sparc_sol2.c): New rule.
	(eelf64_sparc_sol2.c): Likewise.
	(eelf_x86_64_sol2.c): Likewise.
	(eelf_i386_sol2.c): Likewise.
	* Makefile.in: Regenerate.
	* configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to
	elf_i386_sol2.
	Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls.
	(x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2.
	Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls.
	(sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2.
	Add target_extra_emuls.
	(sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2.
	Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls.
	(sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2.
	Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls.
	* emulparams/elf32_sparc_sol2.sh: New file.
	* emulparams/elf64_sparc_sol2.sh: New file.
	* emulparams/elf_i386_sol2.sh: New file.
	* emulparams/elf_x86_64_sol2.sh: New file.
	* emultempl/solaris2.em: New file.

2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11330
	* ld.texinfo: Replace explicitely with explicitly.

2010-02-27  Jie Zhang  <jie@codesourcery.com>

	* scripttempl/armbpabi.sc: Don't combine .init_array.* or
	.fini_array.* when do relocatable linking.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2010-02-26  Alan Modra  <amodra@gmail.com>

	* scripttempl/elf.sc (.fini_array): Place input .fini_array after
	.fini_array.*.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2010-02-25  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c (init_os): Remove isec param.  Don't check for
	bfd_section already set or call bfd_init_private_section_data
	here.
	(exp_init_os): Update init_os call.
	(lang_add_section): Tidy.  Really don't set SEC_LINK_ONCE
	flags.  Call bfd_init_private_section_data here.
	(map_input_to_output_sections): Tidy.  Update init_os calls.
	Use os->sectype to select sec flags for lang_data_statement.

2010-02-23  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c: Revert last patch.

2010-02-23  Nick Clifton  <nickc@redhat.com>

	* po/bg.po: Updated Bulgarian translation.

2010-02-22  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* ldlang.c (exp_init_os): Delete forward declaration.
	(init_os): Don't check for bfd_section already created and don't
	init addr_tree and load_base expressions here.
	(map_input_to_output_sections): Only map input to output sections
	and set constraints here, and as an exception, create output
	sections which have their address set.  Move all the other code to..
	(create_other_output_sections): ..here.  New function.  Handle init
	of addr_tree and load_base here too.
	(lang_process): Call create_other_output_sections.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* Makefile.am (eelf32_i960.c): Depend on ELF_GEN_DEPS, not ELF_DEPS.
	* Makefile.in: Regenerate.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* ldlang.c (unique_section_p): Add os param.  Allow group
	sections to match /DISCARD/.  Update all callers.
	* emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New.
	(LDEMUL_BEFORE_ALLOCATION): Define.

2010-02-15  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2010-02-10  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* Makefile.am (CFILES): Add ldlex-wrapper.c.
	(OFILES): Replace ldlex.c with ldlex-wrapper.c.
	(ldlex.o): Replace with...
	(ldlex-wrapper.o): ...this new rule.
	(EXTRA_ld_new_SOURCES): Add ldlex.l.
	(ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c.
	* Makefile.in: Regenerate.
	* ldlex.l (sysdep.h): Don't include here.
	* ldlex-wrapper.c: New file.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (ppc_before_allocation): Update for changed
	function parameters.

2010-02-05  Nick Clifton  <nickc@redhat.com>

	* configure.in (ALL_LIBGUAS): Add bg.
	* configure: Regenerate.
	* po/bg.po: New Bulgarian translation.

2010-02-05  Ryan Mansfield  <rmansfield@qnx.com>

	* emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Fix help for
	--target1-abs and --target1-rel options.

2010-02-03  Nick Clifton  <nickc@redhat.com>

	* emultempl/alphaelf.em: Update value expected from elf_object_id.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/mipself.em: Likewise.
	* emultempl/ppc32elf.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.

2010-02-03  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (build_toc_list): Report errors from
	ppc64_elf_next_toc_section.
	(after_allocation): Update for changed function names and params.
	Run second pass of multitoc partitioning.

2010-01-21  Jon Grant  <jg@jguk.org>
	    Nick Clifton  <nickc@redhat.com>

	PR 4437
	* ldfile.c: (ldfile_open_file): Do not stop link upon encountering
	a missing file or library.  Instead mark the entry as missing and
	set the global flag to indicate that missing files were
	encountered.
	* ldlang.c (missing_files): New exported variable.
	(load_symbols): Skip loading if the file is missing.
	(open_input_bfds): Terminate link if any input files were
	missing.
	* ldlang.h (struct lang_input_statement_struct): Add missing_file
	field.
	Add export of missing_file variable.

2010-01-13  DJ Delorie  <dj@redhat.com>

	* emultempl/elf32.em (_place_orphan): If an input section doesn't
	match an existing output section, but an unused output section
	statement does match, use it.
	* emultempl/pe.em (_place_orphan): Likewise.
	* emultempl/pep.em (_place_orphan): Likewise.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.
	* Makefile.in: Regenerate.

2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* ldver.c (ldversion): Change to "Copyright 2010".

2010-01-08  Alan Modra  <amodra@gmail.com>

	PR 11107
	* emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr.

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