2020-03-12  Release Manager

	* GCC 9.3.0 released.

2019-08-12  Release Manager

	* GCC 9.2.0 released.

2019-05-03  Release Manager

	* GCC 9.1.0 released.

2019-02-26  Martin Liska  <mliska@suse.cz>

	* lto-symtab.c: Remove.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

2018-05-30  Jan Hubicka  <jh@suse.cz>

	* lto-plugin.c: (non_claimed_files): New static var.
	(linker_ouput_known): New static var.
	(all_symbols_read_handler): When user specifies linker output do not
	imply it; output warning when nonlto-rel mode is forced.
	(claim_file_header): Record number of nonclaimed files.
	(process_option): Remember if linker output is known

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2017-07-21  Georg-Johann Lay  <avr@gjlay.de>

	PR lto/81487
	* lto-plugin.c (claim_file_handler): Use xasprintf instead of
	asprintf.
	[hi!=0]: Swap hi and lo arguments supplied to xasprintf.

2017-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

2017-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>

	PR driver/68463
	* lto-plugin.c (struct plugin_offload_file): New.
	(offload_files): Change type.
	(offload_files_last, offload_files_last_obj): New.
	(offload_files_last_lto): New.
	(free_2): Adjust accordingly.
	(all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
	Don't call free_1 for offload_files.  Write names of object files with
	offloading to the temporary file.  Add new option to lto_arg_ptr.
	(claim_file_handler): Don't claim file if it contains offload sections
	without LTO sections.  If it contains offload sections, add to the list.

2016-01-15  Martin Liska  <mliska@suse.cz>

	* lto-plugin.c (all_symbols_read_handler): Assign default
	value to a string variable.

2015-11-25  Jan Hubicka  <jh@suse.cz>

	PR lto/67548
	* lto-plugin.c (linker_output, linker_output_set): New statics.
	(all_symbols_read_handler): Add -flinker-output option.
	(onload): Record linker_output info.

2015-07-02  Uros Bizjak  <ubizjak@gmail.com>

	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
	* configure: Regenerate.
	* config.h.in: Ditto.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.am: Drop 'by automake version' from top-level comment.
	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.

2015-02-06  H.J. Lu  <hongjiu.lu@intel.com>

	* lto-plugin.c (release_input_file): Removed.
	(claim_file_handler): Don't call release_input_file.
	(onload): Don't set release_input_file.

2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>

	* lto-plugin.c (claim_file_handler): Pass handle to
	release_input_file.

2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>

	* lto-plugin.c (claim_file_handler): Call release_input_file only
	if file is claimed.

2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	* lto-plugin.c (claim_file_handler): Call release_input_file only
	if it is not NULL.

2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR lto/64837
	* lto-plugin.c (release_input_file): New.
	(claim_file_handler): Call release_input_file.
	(onload): Set release_input_file.

2014-12-09  Ilya Verbin  <ilya.verbin@intel.com>

	* lto-plugin.c (offload_files, num_offload_files): New static variables.
	(free_1): Use arguments instead of global variables.
	(free_2): Free offload_files.
	(all_symbols_read_handler): Add names from offload_files to lto-wrapper
	arguments.
	(claim_file_handler): Do not add file to claimed_files if it contains
	offload sections without LTO sections.  Add it to offload_files instead.

2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/63784
	* configure: Regenerated.

2014-11-13  Ilya Verbin  <ilya.verbin@intel.com>
	    Bernd Schmidt  <bernds@codesourcery.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
	    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* lto-plugin.c (OFFLOAD_SECTION, OFFLOAD_SECTION_LEN): Define.
	(struct plugin_objfile): Add new field "offload".
	(process_offload_section): New static function.
	(claim_file_handler): Claim file if it contains offload sections.

2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
	    Thomas Schwinge  <thomas@codesourcery.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>

	* Makefile.am (libexecsubdir): Tweak for the possibility of being
	configured for offload compiler.
	(accel_dir_suffix, real_target_noncanonical): New variables substituted
	by configure.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (accel_dir_suffix, real_target_noncanonical): Compute new
	variables.

2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR target/63610
	* configure: Regenerate.

2014-08-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/62260
	* Makefile.am (gcc_build_dir): Set to @gcc_build_dir@.
	* configure.ac (gcc_build_dir): Set and AC_SUBST according to
	$host_subdir.
	* Makefile.in: Regenerated.
	* configure: Likewise.

2014-06-13  Thomas Schwinge  <thomas@codesourcery.com>

	* configure.ac (--with-libiberty): New configure option.
	* configure: Regenerate.
	* Makefile.am (libiberty, libiberty_noasan, libiberty_pic): New
	variables.
	(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS)
	(liblto_plugin_la_DEPENDENCIES): Use them.
	* Makefile.in: Regenerate.

2014-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR lto/60981
	* configure.ac: Check for -static-libgcc.
	* configure: Regenerate.

2014-04-17  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/56781
	* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
	(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
	liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
	over ../libiberty/pic/libiberty.a if the former exists.
	* Makefile.in: Regenerated.

	PR sanitizer/56781
	* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
	* Makefile.in: Regenerated.

2014-04-02  Richard Biener  <rguenther@suse.de>

	* lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin
	is set in COLLECT_GCC_OPTIONS.

2014-03-28  Richard Biener  <rguenther@suse.de>

	* lto-plugin.c (process_symtab): Handle EINTR and short reads.

2014-03-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (ac_lto_plugin_ldflags): Set to -Wc,-static-libgcc
	for gcc.
	* configure: Regenerate.
	* Makefile.am (AM_LDFLAGS): New variable.
	(liblto_plugin_la_LDFLAGS): Add it.
	* Makefile.in: Regenerate.

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

	* configure: Regenerate.

2012-09-14  David Edelsohn  <dje.gcc@gmail.com>

	* configure: Regenerated.

2012-05-29  Joseph Myers  <joseph@codesourcery.com>

	* lto-plugin.c: Fix typo.

2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2012-02-22  Kai Tietz  <ktietz@redhat.com>

	PR lto/50616
	* lto-plugin.c (PRI_LL): New macro.
	(dump_symtab): Use PRI_LL instead of ll in print.
	(process_symtab): Use PRI_LL instead of ll in scan.

2011-12-20  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

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

	* configure: Regenerate.

2011-10-02  Jan Hubicka  <jh@suse.cz>

	PR lto/47247
	* lto-plugin.c (get_symbols_v2): New variable.
	(write_resolution): Use V2 API when available.
	(onload): Handle LDPT_GET_SYMBOLS_V2.

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
	    Andi Kleen  <ak@linux.intel.com>

	PR lto/50568
	* lto-plugin.c (sym_aux): Change id to unsigned long long.
	(plugin_symtab): Likewise.
	(dump_symtab): Likewise.
	(resolve_conflicts): Likewise.
	(process_symtab): Likewise.

2011-08-10  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/49907
	lto-plugin/
	* configure.ac: Use ACX_PROG_CC_WARNING_OPTS to detect -Wall presence.
	* Makefile.am (AM_CFLAGS): Adjust.  Do not build with -Werror.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* aclocal.m4: Likewise.

2011-04-20  Jim Meyering  <meyering@redhat.com>

	* lto-plugin.c (free_1, free_2): Remove useless if-before-free.

2011-04-05  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48431
	* lto-plugin.c (claim_file_handler): Do not declare vars in code.

2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2011-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (all-local): Rename from 'all'.
	* Makefile.in: Regenerate.

2011-02-12  Alexandre Oliva  <aoliva@redhat.com>

	PR lto/47225
	* Makefile.am (gcc_build_dir, in_gcc_libs): New.
	(liblto_plugin_la_LDFLAGS): Add -module.
	(copy_lto_plugin): Renamed to...
	($(in_gcc_libs)): ... this.  Add mkinstalldirs.  Skip copying
	of static modules.
	* Makefile.in: Rebuild.

2011-02-07  Kai Tietz  <kai.tietz@onevision.com>

	PR lto/47225
	* Makefile.am (Wc): New helper for encoding -Wc,.
	(liblto_plugin_la_LIBADD): Use Wc for libiberty library.
	(liblto_plugin_la_DEPENDENCIES): Special case pic libiberty.
	* Makefile.in: Regenerated.

2011-02-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2011-02-07  Kai Tietz  <kai.tietz@onevision.com>

	PR lto/47225
	* Makefile.am (Wl): New helper for encoding -Wl,.
	(liblto_plugin_la_LIBADD): Use -Wl for libiberty library.
	* Makefile.in: Regenerated.

2011-02-07  Kai Tietz  <kai.tietz@onevision.com>

	PR lto/47225
	* Makefile.am (Wl): New helper for encoding -Wl,.
	(liblto_plugin_la_LIBADD): Use -Wl for libiberty library.
	* Makefile.in: Regenerated.

2011-01-25  Ian Lance Taylor  <iant@google.com>

	* lto-plugin.c (gold_version): New static variable.
	(all_symbols_read_handler): Don't check pass_through_items if
	using gold 1.11 or later.
	(onload): Set gold_version if we see LDPT_GOLD_VERSION.

2011-01-12  Richard Guenther  <rguenther@suse.de>

	PR lto/47264
	* lto-plugin.c (parse_table_entry): Use memcpy to access
	unaligned fields.

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

	* Makefile.am (AM_LIBTOOLFLAGS): Define, adding disable-static tag.
	* Makefile.in: Regenerate.

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

	Revert last change.

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

	* Makefile.am (liblto_plugin_la_DEPENDENCIES): Define.
	(liblto_plugin_la_LIBADD): Use -L../libiberty/pic -liberty.
	(liblto_plugin_la_LDFLAGS): Use -L../libiberty -liberty.
	* Makefile.in: Regenerate.

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

	PR middle-end/46674
	PR lto/43157
	* configure.ac (SYM_STYLE): Don't AC_DEFINE.
	* lto-plugin.c (sym_style): Don't use it; default to ss_none.
	* configure: Regenerate.
	* config.h.in: Likewise.

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

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (liblto_plugin_la_LDFLAGS): Use lt_host_flags but
	override -bindir setting.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

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

	* config.h.in: Regenerated.
	* configure: Regenerated.
	* configure.ac (AC_CHECK_HEADERS): Replaced by AC_HEADER_SYS_WAIT.
	* lto-plugin.c (WIFEXITED): Define default.
	(WEXITSTATUS): Likeiwse.

2010-12-01  Kai Tietz  <kai.tietz@onevision.com>

	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* configure.ac (AC_CHECK_HEADERS): Check for sys/wait.h.
	* lto-plugin.c:  Include sys/wait.h conditionally.
	* aclocal.m4: Regenerated.

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

	* lto-plugin.c (add_output_files): Fix memory leak.

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

	PR bootstrap/46397
	PR bootstrap/46362
	* configure.ac: Add AC_TYPE_INT64_T test.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* lto-plugin.c (debug): Use char not bool.
	(nop): Likewise.
	(check_1): Rename from check, and use int not bool for gate argument.
	(check): Macro wrapper for the above to coerce gate argument into
	boolean-valued integer in case it has pointer type.
	(parse_table_entry): Use 0 not false.
	(claim_file_handler): Avoid use of PRIx64 by splitting 64-bit size
	into two 32-bit parts and printing as hex ints.

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

	PR lto/46291
	* lto-plugin.c (claim_file_handler): Don't close file descriptor.

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

	PR lto/46273
	* lto-plugin.h: Delete.
	* lto-plugin-elf.c: Likewise.
	* lto-plugin-coff.c: Likewise.
	* configure.ac: Don't use libelf, don't source config.gcc.
	(LIBELFLIBS): Delete.
	(LIBELFINC): Delete.
	(LTO_FORMAT): Delete.
	(SYM_STYLE): Add AC_DEFINE var, set based on $target.
	(config.h): Add AC_CONFIG_HEADERS directive.
	* Makefile.am (LIBELFLIBS): Delete.
	(LIBELFINC): Delete.
	(LTO_FORMAT): Delete.
	(DEFS): Import.
	(AM_CPPFLAGS): Use it.  Don't use LIBELFINC.
	(liblto_plugin_la_SOURCES): Don't use LTO_FORMAT, don't include
	any object-format-specific source file in the link.
	(liblto_plugin_la_LIBADD): Don't use LIBELFLIBS.
	* config.h.in: Generate.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* lto-plugin.c (O_BINARY): Definition moved here from lto-plugin.h.
	(LTO_SEGMENT_NAME): New definition.
	(LTO_SECTION_PREFIX): Definition moved here from lto-plugin.h.
	(LTO_SECTION_PREFIX_LEN): New definition.
	(struct sym_aux): Struct definition moved here from lto-plugin.h.
	(struct plugin_symtab): Likewise.
	(struct plugin_objfile): Likewise.
	(struct plugin_objfile): New struct def.
	(enum symbol_style): New enum type.
	(add_symbols): Make static.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	(sym_style): New global.
	(check): Make static.
	(parse_table_entry): Likewise.  Respect sym_style when extracting
	symbol from symtab entry.
	(translate): Make static.
	(resolve_conflicts): Likewise.
	(process_symtab): New function, per-section callback version of
	old object-format-specific handling from deleted lto-plugin-elf.c.
	(claim_file_handler): Convert ELF-specific version from deleted
	lto-plugin-elf.c to simple_object interface and move here.
	(process_options): Allow new '-sym-style=' option.
	(onload): Don't call deleted onload_format_checks hook.

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

	* lto-plugin.c (dump_symtab): Correct printf argument type.
	(finish_conflict_resolution): Initialize resolution.

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

	PR bootstrap/45951
	* configure.ac: Add AC_CANONICAL_SYSTEM.
	* configure: Regenerated.

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

	* configure.ac: Source config.gcc to determine lto_binary_reader.
	(LTO_FORMAT): New AC_SUBST variable inferred from lto_binary_reader.
	* Makefile.am (LTO_FORMAT): Import.
	(liblto_plugin_la_SOURCES): Add object format dependent module
	defined by LTO_FORMAT.
	(liblto_plugin_la_LIBADD): Allow for both PIC and non-PIC libiberty,
	and work around libtool warning.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* lto-plugin.c (struct sym_aux): Move to new lto-plugin.h.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(LTO_SECTION_PREFIX): Likewise.
	(add_symbols):  Make non-static.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	(check): Likewise.
	(parse_table_entry): Likewise.
	(translate): Likewise.
	(resolve_conflicts): Likewise.
	(process_symtab): Move to new lto-plugin-elf.c object format dependent
	source file.
	(claim_file_handler): Likewise, and make non-static.
	(onload): Call new onload_format_checks function.
	* lto-plugin.h: New file.
	(LTO_SECTION_PREFIX): Move here.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(claim_file_handler): Add new function prototype.
	(onload_format_checks): Likewise.
	(check): Declare extern.
	(translate): Likewise.
	(parse_table_entry): Likewise.
	(resolve_conflicts): Likewise.
	(add_symbols):  Likewise.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	* lto-plugin-elf.c (process_symtab): Move here.
	(claim_file_handler): Likewise, and make non-static.
	(onload_format_checks): New function factored out from onload.
	* lto-plugin-coff.c (claim_file_handler): New function stub.
	(onload_format_checks): Likewise.

2010-08-05  Andi Kleen  <ak@linux.intel.com>

	* lto-plugin.c: Include <hashtab.h>
	(sym_aux): Add next_conflict field to save conflict chains.
	(plugin_file_info): Add conflicts symtab.
	(parse_table_entry): Initialize aux->next_conflict.
	(process_symtab): Increment found.
	(dump_symtab): Add.
	(finish_conflict_resolution): Add.
	(free_symtab): Add.
	(write_resolution): Remove symbols loop and move into
	dump_symtab. Call dump_symtab for main symbol and conflicts table.
	Call free_symtab to free conflicts table.
	(SWAP): Add.
	(eq_sym): Add.
	(hash_sym): Add.
	(symbol_strength): Add.
	(resolve_conflicts): Add.
	(claim_file_handler): Add n variable. Check return value of
	process_symtab. Call resolve_conflicts.

2010-07-27  Andi Kleen  <ak@linux.intel.com>

	* lto-plugin.c (translate): Remove debug fprintf.

2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/45042
	* lto-plugin.c (translate): Cast to unsigned long.

2010-07-23   Andi Kleen  <ak@linux.intel.com>

	PR lto/44992
	* lto-plugin.c (sym_aux): Add.
	(plugin_symtab): Remove slots. Add aux and id.
	(parse_table_entry): Change to use aux instead of slots.
	(LTO_SECTION_PREFIX): Add.
	(translate): Improve buffer allocation. Change to append
	symbols to existing out buffer.
	(get_section): Remove.
	(process_symtab): Add.
	(free_2): Free symtab->aux.
	(write_resolution): Handle aux instead of slots.
	Print sub id to resolution file.
	(claim_file_handler): Clear lto_file. Replace get_symtab/translate
	calls with call to process_symtab.

2010-07-22  Richard Guenther  <rguenther@suse.de>

	* Makefile.am: New copy_lto_plugin rule to install the plugin
	into ../gcc.
	* Makefile.in: Regenerated.

2010-05-21  Richard Guenther  <rguenther@suse.de>

	* lto-plugin.c (write_resolution): Do not assert syms is non-NULL.

2010-05-07  Richard Guenther <rguenther@suse.de>

	* lto-plugin.c (free_2): Do not free resolution_file.
	(write_resolution): Check that we were passed a resolution file.
	(all_symbols_read_handler): Adjust.
	(cleanup_handler): Do not remove the resolution file.
	(process_option): Handle -fresolution=.

2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.

2010-04-23  Richard Guenther  <rguenther@suse.de>

	PR lto/41550
	* lto-plugin.c (parse_table_entry): Use xstrdup and xrealloc.
	(translate): Likewise.
	(all_symbols_read_handler): Likewise.
	(claim_file_handler): Likewise.
	(process_option): Likewise.
	(add_output_files): Likewise.  Remove filename length limit.

2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

2010-03-16  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR lto/43336
	* lto-plugin.c (cleanup_handler): Delete temporary output files.

2010-01-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41569
	* Makefile.am: Disable dependencies.
	* Makefile.in: Regenerated.

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

	PR lto/42520
	* lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
	if -v is passed.

2009-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/42306
	* configure: Regenerated.
	* Makefile.in: Likewise.

2009-11-19  Rafael Avila de Espindola  <espindola@google.com>

	PR bootstrap/42096
	* lto-plugin.c (claim_file_handler): Print offsets in hex.

2009-11-12  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (write_resolution): Assume resolution_file is set.
	Print the symbol name.
	(all_symbols_read_handler): Create a resolution file.
	Pass it to gcc.
	(cleanup_handler): Remove the resolution file.
	(process_option): Drop the -resolution option.

2009-11-05  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (temp_obj_dir_name): Remove.
	(arguments_file_name): New.
	(free_2): Free arguments_file_name instead of temp_obj_dir_name.
	(exec_lto_wrapper):  Create arguments file with make_temp_file.
	(cleanup_handler): Don't remove the temporary directory. Remove the
	arguments file.
	(onload): Don't create the temporary directory.

2009-11-04  Richard Guenther  <rguenther@suse.de>
	    Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (plugin_file_info): Remove temp field.
	(cleanup_handler): Don't delete temporary objects.
	(claim_file_handler): Don't create temporary objects.

2009-11-04  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (cleanup_handler): Don't cleanup if debugging.

2009-10-30  Rafael Avila de Espindola  <espindola@google.com>

	PR41871
	* lto-plugin.c (claim_file_handler): Close files that we created.

2009-10-28  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (all_symbols_read_handler): Use LDPL_FATAL instead of
	LDPL_ERROR

2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR lto/41652
	* configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
	* configure: Regenerate.

2009-10-26  Richard Guenther  <rguenther@suse.de>

	* configure.ac: Use AM_MAINTAINER_MODE.
	* acinclude.m4: Remove.
	* configure: Re-generate.
	* Makefile.in: Likewise.
	* aclocal.m4: Likewise.

2009-10-19  Rafael Avila de Espindola  <espindola@google.com>
    
	PR40790
	* configure: Regenerate.
	* configure.ac: Add AC_TYPE_UINT64_T.

2009-10-16  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (message): New variable.
	(check): New function.
	(parse_table_entry, translate, write_resolution,add_output_files,
	exec_lto_wrapper,claim_file_handler, onload): Use check instead of
	assert.
	(cleanup_handler): Use check instead of assert. Remove the arguments
	file if it exists.

2009-10-15  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (resolution_file): New.
	(free_1): Update comment.
	(free_2): Free resolution_file.
	(write_resolution): Write resolution to specified file. Use the
	syms array from the symbol table.
	(all_symbols_read_handler): Delay call to free_1 past call to
	write_resolution.
	(process_option): Add a -resolution option.

2009-10-13  Richard Guenther  <rguenther@suse.de>

	* Makefile.am (liblto_plugin_la_LIBADD): Link against the
	correct libiberty.
	* Makefile.in: Regenerated.

2009-10-08  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (add_input_library): New.
	(all_symbols_read_handler): Use add_input_library for items that
	start with -l.
	(process_option): Fit in 80 columns.
	(onload): Handle LDPT_ADD_INPUT_LIBRARY.

2009-10-02  Diego Novillo  <dnovillo@google.com>

	* Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
	and -D_FILE_OFFSET_BITS=64.
	* configure.ac: Add AC_SYS_LARGEFILE.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* lto-plugin.c: Fix copyright boilerplate.

2009-10-02  Diego Novillo  <dnovillo@google.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Define.
	* aclocal.m4: Regenerate with aclocal-2.64
	* acinclude.m4: Remove.
	* Makefile.in: Regenerate with automake-1.11
	* configure.ac (AC_PREREQ): Update to 2.64.
	* configure: Regenerate.

2009-10-02  Diego Novillo  <dnovillo@google.com>

	* Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
	and -D_FILE_OFFSET_BITS=64.
	* configure.ac: Add AC_SYS_LARGEFILE.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* lto-plugin.c: Fix copyright boilerplate.

2009-10-02  Diego Novillo  <dnovillo@google.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Define.
	* aclocal.m4: Regenerate with aclocal-2.64
	* acinclude.m4: Remove.
	* Makefile.in: Regenerate with automake-1.11
	* configure.ac (AC_PREREQ): Update to 2.64.
	* configure: Regenerate.

2009-10-02  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (liblto_plugin_la_SOURCES): Remove
	$(top_srcdir)/../gcc/lto/common.c
	* Makefile.in: Regenerate.

2009-10-01  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (pass_through_items): New.
	(num_pass_through_items): New.
	(all_symbols_read_handler): Update to use the -pass-through option.
	(process_option): Replace -libgcc with -pass-through.
	
2009-09-30  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (onload): Return a ld_plugin_status. Don't require
	register_cleanup to be set.

2009-09-30  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am: Remove all reference to ltosymtab.
	* Makefile.in: Regenerate.
	* lto-symtab.c: Remove.

2009-05-21  Diego Novillo  <dnovillo@google.com>

	* configure.ac: Remove call to AC_CHECK_GELF.
	Call AC_ARG_VAR for LIBELFLIBS and LIBELFINC.
	* acinclude.m4: Do not include ../config/libelf.m4
	* Makefile.am (LIBELFLIBS): Define.
	(LIBELFINC): Define.
	(AM_CPPFLAGS): Add $(LIBELFINC).
	(ltosymtab_LDADD): Add $(LIBELFLIBS).
	(liblto_plugin_la_LIBADD): Add $(LIBELFLIBS)
	* lto-plugin.c: Always include <gelf.h>
	* lto-symtab.c: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2009-03-23  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (libgcc_filename): New.
	(all_symbols_read_handler): Pass libgcc to the linker.
	(all_symbols_read_handler): Parse -libgcc

2009-02-05  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (liblto_plugin_la_LIBADD): Link with libiberty.
	* Makefile.in: Regenerate.
	* lto-plugin.c (add_output_files): Argument is now a FILE.
	(exec_lto_wrapper): Use writeargv and pex.

2009-02-04  Rafael Avila de Espindola  <espindola@google.com>

	Revert:
	2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
	* lto-plugin.c (exec_lto_wrapper): Use writeargv.


2009-02-04  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (exec_lto_wrapper): Use writeargv.

2009-01-29  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c: Include libiberty.h.
	(exec_lto_wrapper, claim_file_handler): Use asprintf instead of
	snprintf.

2009-01-29  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (exec_lto_wrapper): Write argv to a file. Pass that
	file to lto-wrapper.

2009-01-28  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (plugin_file_info): Remove fd and elf.
	(parse_table_entry): strdup entry->name and entry->comdat_key.
	(free_1): Free name and comdat_key. Don't close the file. Don't call
	elf_end.
	(claim_file_handler): Always call elf_end.

2008-12-23  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (AM_CPPFLAGS): Add -D_LARGEFILE_SOURCE
	-D_FILE_OFFSET_BITS=64
	* Makefile.in: Regenerate

2008-12-22  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (gcc_version, target_noncanonical, libexecsubdir): New.
	(lib_LTLIBRARIES): Rename to libexecsub_LTLIBRARIES.
	* Makefile.in: Regenerate.
	* acinclude.m4: Include ../config/acx.m4 and ../lt~obsolete.m4
	* configure: Regenerate.
	* configure.ac: Add AC_SUBST(target_noncanonical).

2008-12-08  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c: Include stdbool.h.
	(debug, nop): Declare as bool.

2008-12-08  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (nop): New.
	(use_original_files): New.
	(all_symbols_read_handler): Call use_original_files if nop is true.
	(process_option): Parse the -nop option.

2008-12-08  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (debug): New.
	(exec_lto_wrapper): Print argv if debug is true.
	(process_option): Process the -debug command line option.

2008-12-03  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (process_option): The argument is now a single option,
	not a space separated list.

2008-12-02  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c: Include sys/types.h and sys/wait.h
	(output_files, num_output_files, lto_wrapper_argv,
	lto_wrapper_num_args): New.
	(free_2): Free output_files.
	(write_resolution): Disable.
	(add_output_files): New.
	(exec_lto_wrapper): New.
	(all_symbols_read_handler): Run lto-wrapper.
	(claim_file_handler): Free lto_file.name and call elf_end.
	(process_option): New.

2008-11-26  Rafael Espindola  <espindola@google.com>

	* lto-plugin.c (add_input_file): New.
	(get_section): Return NULL if get_section fails.
	(write_resolution): New.
	(all_symbols_read_handler): Call add_input_file.
	(claim_file_handler): Unlink the correct file.
	(onload): Record add_input_file.

2008-09-23 Rafael Espindola  <espindola@google.com>

	* Makefile.am (ltosymtab_SOURCES, liblto_plugin_la_SOURCES):
	Update the location of common.c.
	* Makefile.in: Regenerate.
	* common.c: Moved to gcc/lto.
	* common.h: Moved to gcc/lto.
	* lto-plugin.c: Update the location of common.h.
	* lto-symtab.c: Update the location of common.h.

2008-09-23 Rafael Espindola  <espindola@google.com>

	* common.c: Include common.h.
	(lto_kind_str, lto_visibility_str, lto_resolution_str): Use explicit
	sizes.
	* common.h (lto_kind_str, lto_visibility_str, lto_resolution_str): Use
	explicit sizes.

2008-09-23 Rafael Espindola  <espindola@google.com>

	* lto-plugin.c (plugin_file_info): Add temp.
	(cleanup_handler): Only delete temporary files.
	(claim_file_handler): Initialize lto_file.temp.

2008-09-23  Rafael Espindola  <espindola@google.com>

	* plugin-api.h: Moved to include.

2008-09-23 Rafael Espindola  <espindola@google.com>

	* lto-plugin.c (all_symbols_read_handler): Print resolution in a new
	format.

2008-09-22 Rafael Espindola  <espindola@google.com>

	* plugin-api.h: Copy from binutils' cvs.

2008-09-22 Rafael Espindola  <espindola@google.com>

	* lto-symtab.c (get_symbols, add_symbols): Update signature.
	* plugin-api.h: Copy from binutils' cvs.

2008-09-22 Rafael Espindola  <espindola@google.com>

	* common.h (lto_kind_str, lto_visibility_str, lto_resolution_str):
	Make extern

2008-09-10 Rafael Espindola  <espindola@google.com>

	* lto-plugin.c (onload): add missing break statements and asserts.
	* lto-symtab.c (claim_file_handler): Make it static.
	(all_symbols_read_handler): Make it static.
	(all_file_handles): Make it static.
	(num_file_handles): Make it static.
	(register_claim_file): Make it static.
	(register_object): Indent properly.

2008-09-10  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (ltosymtab_LDADD): Add -lelf.
	* Makefiel.in: Regenerate.
	* lto-plugin.c: Include ar.h.
	(claim_file_handler): Handle file->offset != 0.
	* lto-symtab.c: Include gelf.h.
	(all_file_handles): Change type.
	(register_object): New.
	(register_file): Add support for archives.
	(resolve): Update to new type of all_file_handles.
	(print): Update to new type of all_file_handles.
	(free_all): Update to new type of all_file_handles.
	(main): Update to new type of all_file_handles.

2008-09-10  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (get_string_table): Remove.
	(get_section): Use elf_strptr instead of get_string_table.

2008-09-08  Doug Kwan  <dougkwan@google.com>

	* lto-plugin.c (all_symbols_read_handler): Widen fprintf arguments
	to 64-bit to fix a 32-bit bootstrap failure due to format warnings.

2008-09-08  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (ltosymtab_SOURCES): add common.c.
	(ltosymtab_CFLAGS): New.
	(liblto_plugin_la_SOURCES): Add common.c.
	* Makefile.in: Regenerate.
	* common.c: New.
	* common.h: New.
	* lto-plugin.c: Include stdio.h, inttypes.h and common.h.
	(plugin_symtab): New.
	(plugin_file_info): New.
	(register_all_symbols_read): New.
	(get_symbols): New.
	(claimed_files): New.
	(num_claimed_files): New.
	(translate): Don't drop the slot number.
	(free_1): New.
	(free_2): New.
	(all_symbols_read_handler): New.
	(claim_file_handler): Record every claimed file.
	(onload): Handle LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
	LDPT_GET_SYMBOLS.
	* lto-symtab.c: Include stdlib.h, string.h and common.h.
	(current_file_handle): Remove.
	(ld_plugin_all_symbols_read_handler): New.
	(plugin_handle): New.
	(file_handle): New.
	(all_file_handles): New.
	(num_file_handles): New.
	(get_symbols): New.
	(register_all_symbols_read): New.
	(add_symbols): Don't print the symbols, just record them.
	(ld_plugin_tv): Add LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
	LDPT_GET_SYMBOLS.
	(load_plugin): Use plugin_handle.
	(register_file): Add the file handle to all_file_handles.
	(resolve): New.
	(print): New.
	(unload_plugin): New.
	(free_all): New.
	(main): Call all_symbols_read_handler and free resources.

2008-09-03  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.am (AM_CFLAGS): New.
	(ltosymtab_LDADD): Remove -lelf. Add -ldl.
	(lib_LTLIBRARIES): New.
	(liblto_plugin_la_SOURCES): New.
	(liblto_plugin_la_LIBADD): New.
	* Makefile.in: Regenerate.
	* acinclude.m4: Don't include ../config/acx.m4 and
	../config/no-executables.m4.
	Include ../ltsugar.m4, ../ltoptions.m4, ../ltversion.m4 and
	../libtool.m4.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* configure.ac: Use AM_PROG_LIBTOOL.
	* lto-plugin.c: New.
	* lto-symtab.c: Rewrite to use the plugin.
	* plugin-api.h: New.

2008-08-25  Rafael Avila de Espindola  <espindola@google.com>

	* configure: Regenerate.
	* configure.ac: Use AC_CHECK_GELF.
	* lto-symtab.c: Include gelf.h.
	(get_string_table): Use size independent API.
	(printTable): Use lld to print 64 bit integers.

2008-08-22  Rafael Avila de Espindola  <espindola@google.com>

	* lto-symtab.c (parse_table_entry): Assert entry->kind and
	entry->visibility are valid.

2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
	* lto-symtab.c (table_entry): Add comdat.
	(parse_table_entry): Read comdat.

2008-08-21  Rafael Espindola  <espindola@google.com>

	* Makefile.am: New.
	* Makefile.in: New.
	* acinclude.m4: New.
	* aclocal.m4: New.
	* configure: New.
	* configure.ac: New.
	* lto-symtab.c: New.
