2013-05-31  Release Manager

	* GCC 4.8.1 released.

2013-03-22  Release Manager

	* GCC 4.8.0 released.

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.
