gcc/gcc/lto
Dave Korn 3bec79c52e re PR lto/42776 (LTO doesn't work on non-ELF platforms.)
ChangeLog:

	PR lto/42776
	* configure.ac (--enable-lto): Refactor handling so libelf tests
	are only performed inside then-clause of ACX_ELF_TARGET_IFELSE,
	and allow LTO to be explicitly enabled on non-ELF platforms that
	are known to support it inside else-clause.
	* configure: Regenerate.

gcc/ChangeLog:

	PR lto/42776
	* configure.ac (gcc_cv_as_section_has_align): Set if installed
	binutils supports extended .section directive needed by LTO, or
	warn if older binutils found.
	(LTO_BINARY_READER): New AC_SUBST'd variable.
	(LTO_USE_LIBELF): Likewise.
	* gcc/config.gcc (lto_binary_reader): New target-specific configure
	variable.
	* gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
	(LTO_USE_LIBELF): Likewise.
	* configure: Regenerate.

	* collect2.c (is_elf): Rename from this ...
	(is_elf_or_coff): ... to this, and recognize and allow i386 COFF
	 object files in addition to ELF-formatted ones.
	(scan_prog_file): Caller updated.  Also allow for LTO info marker
	symbol to be prefixed or not by an extra underscore.

	* config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
	* config/i386/winnt.c: Also #include lto-streamer.h
	(i386_pe_asm_named_section): Specify 1-byte section alignment for
	LTO named sections.
	(i386_pe_asm_output_aligned_decl_common): Add comment.
	(i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.

gcc/lto/ChangeLog:

	PR lto/42776
	* Make-lang.in (LTO_OBJS): Use LTO_BINARY_READER instead of
	hardcoding 'lto-elf.o'.
	($(LTO_EXE)): Use LTO_USE_LIBELF instead of hardcoding '-lelf'.

	* lto-coff.h: New file.
	* lto-coff.c: Likewise.

gcc/testsuite/ChangeLog:

	PR lto/42776
	* lib/lto.exp (lto_prune_vis_warns): New function.
	(lto-link-and-maybe-run): Call it.

From-SVN: r158762
2010-04-27 02:22:40 +00:00
..
ChangeLog re PR lto/42776 (LTO doesn't work on non-ELF platforms.) 2010-04-27 02:22:40 +00:00
Make-lang.in re PR lto/42776 (LTO doesn't work on non-ELF platforms.) 2010-04-27 02:22:40 +00:00
common.c
common.h
config-lang.in
lang-specs.h
lang.opt lto-plugin.c (write_resolution): Assume resolution_file is set. 2009-11-12 14:01:49 +00:00
lto-coff.c re PR lto/42776 (LTO doesn't work on non-ELF platforms.) 2010-04-27 02:22:40 +00:00
lto-coff.h re PR lto/42776 (LTO doesn't work on non-ELF platforms.) 2010-04-27 02:22:40 +00:00
lto-elf.c lto.h (lto_elf_file_open): Rename prototype from this ... 2010-04-26 03:41:04 +00:00
lto-lang.c lto.h (lto_elf_file_open): Rename prototype from this ... 2010-04-26 03:41:04 +00:00
lto-tree.h
lto.c lto.c (lto_fixup_type): Deal with non-type TYPE_CONTEXT. 2010-04-26 11:03:59 +00:00
lto.h lto.h (lto_elf_file_open): Rename prototype from this ... 2010-04-26 03:41:04 +00:00