gcc/lto-plugin/ChangeLog
Dave Korn 77754180a9 re PR middle-end/46674 (Weak alias is mistakenly optimized away)
gcc/ChangeLog:

	PR middle-end/46674
	PR lto/43157
	* target.def (mangle_assembler_name): New target asm_out hook.
	* targhooks.c (default_mangle_assembler_name): Add default hook
	implementation.
	* targhooks.h (default_mangle_assembler_name): Add prototype.
	* lto-symtab.c (lto_symtab_register_decl): Use new hook when
	processing DECL_ASSEMBLER_NAMEs for lto symtabs.
	(lto_symtab_get_resolution): Likewise.
	(lto_cgraph_replace_node): Likewise.
	(lto_symtab_prevailing_decl): Likewise.
	* lto-streamer-out.c (write_symbol): Likewise.
	* doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
	* doc/tm.texi: Regenerate.
	* config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
	point at i386_pe_mangle_assembler_name.
	* config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
	* config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
	prototype.

lto-plugin/ChangeLog:

	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.

gcc/testsuite/ChangeLog:

	PR middle-end/46674
	PR lto/43157
	* gcc.dg/pr43157.c: New file.

From-SVN: r167688
2010-12-10 14:28:58 +00:00

725 lines
23 KiB
Plaintext

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.