The testsuite of 2.27 fails (2.26.1 was OK): Running /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto.exp ... ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-1a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-1b.c: compilation failed FAIL: LTO 1 FAIL: LTO 1 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-2.c: compilation failed FAIL: LTO 2 FAIL: LTO 2 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-3a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-3b.c: compilation failed FAIL: Build liblto-3.a FAIL: Build liblto-3.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-5a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-5b.c: compilation failed FAIL: LTO 6 FAIL: LTO 6 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12365a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12365b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12365c.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-9.cc: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-11a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-11b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-12c.c: compilation failed FAIL: Build liblto-12.a FAIL: Build liblto-12.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-12a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-12b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-13a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-13b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-14a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-14b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-14c.c: compilation failed FAIL: Build liblto-14.a FAIL: Build liblto-14.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-15a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-15b.c: compilation failed FAIL: Build liblto-15.a FAIL: Build liblto-15.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12696-1.cc: compilation failed FAIL: PR ld/12696 FAIL: PR ld/12696 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12758b.c: compilation failed FAIL: Build libpr12758.a FAIL: Build libpr12758.a FAIL: PR ld/12758 FAIL: PR ld/12758 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12760b.c: compilation failed FAIL: Build libpr12760.a FAIL: Build libpr12760.a FAIL: PR ld/12760 FAIL: PR ld/12760 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13183a.c: compilation failed FAIL: Build libpr13183.a FAIL: Build libpr13183.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13183b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13201.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13287.cc: compilation failed FAIL: PR ld/13287 FAIL: PR ld/13287 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr15323a.c: compilation failed FAIL: PR ld/15323 (2) FAIL: PR ld/15323 (2) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr16846a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr16846b.c: compilation failed FAIL: PR ld/pr16846(1) FAIL: PR ld/pr16846(1) FAIL: PR ld/pr16846(2) FAIL: PR ld/pr16846(2) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr19317.c: compilation failed FAIL: PR ld/19317 (1) FAIL: PR ld/19317 (1) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr20276b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr20267b.c: compilation failed FAIL: Build libpr20267a.a FAIL: Build libpr20267a.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr20267b.c: compilation failed FAIL: Build libpr20267b.a FAIL: Build libpr20267b.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12942a.cc: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12942c.cc: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-7a.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-7b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-7c.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-8b.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-17a.c: compilation failed FAIL: Build liblto-17a.so FAIL: Build liblto-17a.so ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-17b.c: compilation failed FAIL: Build liblto-17b.so 1 FAIL: Build liblto-17b.so 1 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/lto-17b.c: compilation failed FAIL: Build liblto-17b.so 2 FAIL: Build liblto-17b.so 2 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12982.c: compilation failed FAIL: PR ld/12982 FAIL: PR ld/12982 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr12975.c: compilation failed FAIL: PR ld/12975 FAIL: PR ld/12975 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13229.cc: compilation failed FAIL: PR ld/13229 FAIL: PR ld/13229 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr13244.c: compilation failed FAIL: PR ld/13244 FAIL: PR ld/13244 ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr15146a.c: compilation failed FAIL: Build libpr15146a.a FAIL: Build libpr15146a.a FAIL: PR ld/15146 (1) FAIL: PR ld/15146 (1) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr15146d.c: compilation failed FAIL: Build libpr15146d.a FAIL: Build libpr15146d.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr16746c.c: compilation failed ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr16746d.c: compilation failed FAIL: Build libpr16746b.a FAIL: Build libpr16746b.a ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/dummy.c: compilation failed FAIL: PR ld/16746 (1) FAIL: PR ld/16746 (1) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/dummy.c: compilation failed FAIL: PR ld/16746 (2) FAIL: PR ld/16746 (2) ERROR: /tmp/binutils-2.27/ld/testsuite/ld-plugin/pr14918.c: compilation failed FAIL: PR ld/14918 FAIL: PR ld/14918 FAIL: PR ld/15146 (2) FAIL: PR ld/16746 (3) FAIL: PR ld/16746 (4) gcc is 4.9.3 and configured --disable-plugin --disable-lto.
Hi H.J. Please could you look at this bug report: https://sourceware.org/bugzilla/show_bug.cgi?id=20436 It appears to be a direct consequence of your patch from 2016-04-21: * testsuite/lib/ld-lib.exp (check_lto_available): Return 1 on Linux with GCC 4.9 or newer. (check_lto_fat_available): Likewise. (check_lto_shared_available): Likewise. Cheers Nick PS. Incidentally, I could not find that entry in the ld/ChangeLog file. Was it omitted ?
(In reply to Nick Clifton from comment #1) > Hi H.J. > > Please could you look at this bug report: > > https://sourceware.org/bugzilla/show_bug.cgi?id=20436 > > It appears to be a direct consequence of your patch from 2016-04-21: > > * testsuite/lib/ld-lib.exp (check_lto_available): Return 1 on > Linux with GCC 4.9 or newer. When there is a LTO bug in ld, check_lto_available will fail even if GCC supports LTO. We need to check if LTO is disabled. > (check_lto_fat_available): Likewise. > (check_lto_shared_available): Likewise. > > Cheers > Nick > > PS. Incidentally, I could not find that entry in the ld/ChangeLog file. > Was it omitted ? I missed it.
Created attachment 9425 [details] Try this
(In reply to H.J. Lu from comment #3) > Created attachment 9425 [details] > Try this The testsuite passes now, thanks.
The master branch has been updated by H.J. Lu <hjl@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5ff559107a34a664abf7db01cc9db93e3597d466 commit 5ff559107a34a664abf7db01cc9db93e3597d466 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 9 16:41:12 2016 -0700 Skip LTO tests for --disable-plugin Don't run LTO tests if compiler is configured with --disable-plugin. PR ld/20436 * testsuite/lib/ld-lib.exp (check_gcc_plugin_enabled): New proc. (check_lto_available): Return 0 if check_gcc_plugin_enabled returns 0. (check_lto_fat_available): Likewise. (check_lto_shared_available): Likewise.
Fixed for 2.28.
The master branch has been updated by Nick Clifton <nickc@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7f6bf02d58c837d0a5f1e266058cc0e6bd6fc318 commit 7f6bf02d58c837d0a5f1e266058cc0e6bd6fc318 Author: Nick Clifton <nickc@redhat.com> Date: Thu Aug 11 10:22:41 2016 +0100 Avoid testsuite errors about missing compilers. PR ld/20436 * testsuite/lib/ld-lib.exp (check_gcc_plugin_enabled): When not testing remotely, check to see if target compiler is installed before trying to run it.
The master branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8be1e36919a884152d7115f4f4b8c0cfcf086a1f commit 8be1e36919a884152d7115f4f4b8c0cfcf086a1f Author: Alan Modra <amodra@gmail.com> Date: Thu Aug 11 23:42:05 2016 +0930 Fix ERROR: target-cc does not exist PR ld/20436 * testsuite/lib/ld-lib.exp (at_least_gcc_version): Don't ignore remote_exec status. (check_gcc_plugin_enabled): Likewise.