From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25491 invoked by alias); 27 Apr 2010 20:25:49 -0000 Received: (qmail 25300 invoked by uid 48); 27 Apr 2010 20:25:12 -0000 Date: Tue, 27 Apr 2010 20:25:00 -0000 Message-ID: <20100427202512.25299.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/43729] Mach-O LTO support needed for darwin In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "steven at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-04/txt/msg02887.txt.bz2 ------- Comment #12 from steven at gcc dot gnu dot org 2010-04-27 20:25 ------- Created an attachment (id=20500) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20500&action=view) proof-of-concept patch This doesn't even include a Mach-O writer yet (except for the to be rewritten COFF writer ;-) but this already makes LTO work for most of the test suite. For lto.exp, C only: Test Run By stevenb on Tue Apr 27 16:20:21 2010 Native configuration is x86_64-apple-darwin10.3.0 === gcc tests === Schedule of variations: unix Running target unix Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw/share/dejagnu/config/unix.exp as generic interface file for target. Using /Users/stevenb/gcc_trunk/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/lto.exp ... FAIL: gcc.dg/lto/20081201-2 c_lto_20081201-2_0.o-c_lto_20081201-2_1.o execute -O3 -fwhopr FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O0 -fwhopr FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O2 -fwhopr FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O0 -flto FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O2 -flto FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O0 -fwhopr FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O2 -fwhopr FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O0 -flto FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O2 -flto FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link === gcc Summary === # of expected passes 479 # of unexpected failures 17 # of unresolved testcases 24 # of unsupported tests 2 /Users/stevenb/lto_objdir/gcc/xgcc version 4.6.0 20100427 (experimental) [trunk revision 158800] (GCC) There's still work to be done: 1) Try with other languages 2) Make it with with checking enabled (shouldn't make a difference) 3) Produce distinct error message per failure mode 4) Implement the writer n) ... fix whatever needs fixing ... I plan to go through the list as time permits. Help welcome (as are patches). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729