gcc/lto-plugin/ChangeLog
Ilya Verbin e6861a99f8 re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without)
gcc/
	PR driver/68463
	* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
	offloading is enabled and -fopenacc or -fopenmp is specified.
	(CRTOFFLOADEND): Likewise.
	(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
	(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
	* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
	(offload_objects_file_name): New static var.
	(tool_cleanup): Remove offload_objects_file_name file.
	(find_offloadbeginend): Replace with ...
	(find_crtoffloadtable): ... this.
	(run_gcc): Remove offload_argc and offload_argv.
	Get offload_objects_file_name from -foffload-objects=... option.
	Read names of object files with offload from this file, pass them to
	compile_images_for_offload_targets.  Don't call find_offloadbeginend and
	don't pass offloadbegin and offloadend to the linker.  Don't pass
	offload non-LTO files to the linker, because now they're not claimed.
libgcc/
	PR driver/68463
	* Makefile.in (crtoffloadtable$(objext)): New rule.
	* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
	enable_offload_targets is not empty.
	* configure: Regenerate.
	* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
	crtoffloadtable.
libgomp/
	PR driver/68463
	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
lto-plugin/
	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.

From-SVN: r233712
2016-02-25 12:23:52 +00:00

1039 lines
32 KiB
Plaintext

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.