From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14671 invoked by alias); 31 Oct 2011 15:54:13 -0000 Received: (qmail 14661 invoked by uid 22791); 31 Oct 2011 15:54:11 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_OC X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 31 Oct 2011 15:53:57 +0000 From: "ro at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/50935] New: All slim LTO tests FAIL on 32-bit Solaris Date: Mon, 31 Oct 2011 15:54:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ro at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2011-10/txt/msg03219.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50935 Bug #: 50935 Summary: All slim LTO tests FAIL on 32-bit Solaris Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned@gcc.gnu.org ReportedBy: ro@gcc.gnu.org CC: jh@suse.cz Host: *-*-solaris2* Target: *-*-solaris2* Build: *-*-solaris2.* All slim LTO tests fail on 32-bit Solaris with gld 2.21.1 and 2.21.90: spawn /vol/gcc/obj/regression/trunk/11-gcc-gas-gld/build/gcc/xgcc -B/vol/gcc/obj/regression/trunk/11-gcc-gas-gld/build/gcc/ /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.c-torture/execute/builtins/20010124-1.c /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.c-torture/execute/builtins/20010124-1-lib.c /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c -w -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -lm -o /var/gcc/regression/trunk/11-gcc-gas-gld/build/gcc/testsuite/gcc5/20010124-1.x7 /usr/lib/crt1.o: In function `_start': fsr.s:(.text+0x7f): undefined reference to `main' collect2: error: ld returned 1 exit status compiler exited with status 1 output is: /usr/lib/crt1.o: In function `_start': fsr.s:(.text+0x7f): undefined reference to `main' collect2: error: ld returned 1 exit status FAIL: gcc.c-torture/execute/builtins/20010124-1.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects UNRESOLVED: gcc.c-torture/execute/builtins/20010124-1.c execution, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects If turns out that there's a range of issues here: * Unlike fat LTO, which needs only a gld or gold binary with linker plugin support, slim LTO needs corresponding binutils nm, ar, and ranlib. For a 64-bit default gcc, one needs 64-bit nm etc. in particular, where otherwise there would be no reason at all to have 64-bit commands. * For 32-bit binutils, BFD_SUPPORTS_PLUGINS is off by default, as described in config/largefile.m4: changequote(,)dnl sparc-*-solaris*|i[3-7]86-*-solaris*) changequote([,])dnl # On native 32bit sparc and ia32 solaris, large-file and procfs support # are mutually exclusive; and without procfs support, the bfd/ elf module # cannot provide certain routines such as elfcore_write_prpsinfo # or elfcore_write_prstatus. So unless the user explicitly requested # large-file support through the --enable-largefile switch, disable # large-file support in favor of procfs support. For those reasons, it's much more work to provide a working slim LTO environment (and that's not only true on Solaris, but also on Linux where I often test a recent gas/gld which is newer than what's bundled with the distribution), so the testsuite *must* test for working slim LTO support before using -fno-fat-lto-objects, otherwise one gets hundreds of testsuite failures. Rainer