2018-12-06  Release Manager

	* GCC 7.4.0 released.

2018-01-25  Release Manager

	* GCC 7.3.0 released.

2017-08-14  Release Manager

	* GCC 7.2.0 released.

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

	Backport from 2017-07-21 trunk r250428.

	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-05-02  Release Manager

	* GCC 7.1.0 released.

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.
