gcc/lto-plugin/ChangeLog
Jan Hubicka ed0d2da02b re PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs)
PR lto/47247
	* lto-plugin.c (get_symbols_v2): New variable.
	(write_resolution): Use V2 API when available.
	(onload): Handle LDPT_GET_SYMBOLS_V2.

	* lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
	when resolution is already availbale from plugin.
	(lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
	* cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp.
	* lto-cgraph.c (LDPR_NUM_KNOWN): Update.
	* ipa.c (varpool_externally_visible_p): IRONLY variables are never
	externally visible.
	* varasm.c (resolution_to_local_definition_p): Add
	LDPR_PREVAILING_DEF_IRONLY_EXP.
	(resolution_local_p): Likewise.

	* common.c (lto_resolution_str): Add new resolution.
	* common.h (lto_resolution_str): Likewise.

From-SVN: r179424
2011-10-02 10:41:24 +00:00

837 lines
26 KiB
Plaintext

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.