2009-10-15 Rafael Avila de Espindola * 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 * Makefile.am (liblto_plugin_la_LIBADD): Link against the correct libiberty. * Makefile.in: Regenerated. 2009-10-08 Rafael Avila de Espindola * 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 * 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 * 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 * 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 * 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 * Makefile.am (liblto_plugin_la_SOURCES): Remove $(top_srcdir)/../gcc/lto/common.c * Makefile.in: Regenerate. 2009-10-01 Rafael Avila de Espindola * 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 * lto-plugin.c (onload): Return a ld_plugin_status. Don't require register_cleanup to be set. 2009-09-30 Rafael Avila de Espindola * Makefile.am: Remove all reference to ltosymtab. * Makefile.in: Regenerate. * lto-symtab.c: Remove. 2009-05-21 Diego Novillo * 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 * lto-symtab.c: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. 2009-03-23 Rafael Avila de Espindola * 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 * 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 Revert: 2009-02-04 Rafael Avila de Espindola * lto-plugin.c (exec_lto_wrapper): Use writeargv. 2009-02-04 Rafael Avila de Espindola * lto-plugin.c (exec_lto_wrapper): Use writeargv. 2009-01-29 Rafael Avila de Espindola * lto-plugin.c: Include libiberty.h. (exec_lto_wrapper, claim_file_handler): Use asprintf instead of snprintf. 2009-01-29 Rafael Avila de Espindola * lto-plugin.c (exec_lto_wrapper): Write argv to a file. Pass that file to lto-wrapper. 2009-01-28 Rafael Avila de Espindola * 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 * Makefile.am (AM_CPPFLAGS): Add -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 * Makefile.in: Regenerate 2008-12-22 Rafael Avila de Espindola * 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 * lto-plugin.c: Include stdbool.h. (debug, nop): Declare as bool. 2008-12-08 Rafael Avila de Espindola * 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 * 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 * lto-plugin.c (process_option): The argument is now a single option, not a space separated list. 2008-12-02 Rafael Avila de Espindola * 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 * 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 * 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 * 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 * 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 * plugin-api.h: Moved to include. 2008-09-23 Rafael Espindola * lto-plugin.c (all_symbols_read_handler): Print resolution in a new format. 2008-09-22 Rafael Espindola * plugin-api.h: Copy from binutils' cvs. 2008-09-22 Rafael Espindola * lto-symtab.c (get_symbols, add_symbols): Update signature. * plugin-api.h: Copy from binutils' cvs. 2008-09-22 Rafael Espindola * common.h (lto_kind_str, lto_visibility_str, lto_resolution_str): Make extern 2008-09-10 Rafael Espindola * 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 * 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 * lto-plugin.c (get_string_table): Remove. (get_section): Use elf_strptr instead of get_string_table. 2008-09-08 Doug Kwan * 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 * 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 * 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 * 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 * lto-symtab.c (parse_table_entry): Assert entry->kind and entry->visibility are valid. 2008-07-22 Rafael Avila de Espindola * lto-symtab.c (table_entry): Add comdat. (parse_table_entry): Read comdat. 2008-08-21 Rafael Espindola * Makefile.am: New. * Makefile.in: New. * acinclude.m4: New. * aclocal.m4: New. * configure: New. * configure.ac: New. * lto-symtab.c: New.