This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed, PATCH] Always run LTO tests on Linux with GCC 4.9 or newer


With this patch,  I got

FAIL: LTO 1
FAIL: LTO 1
FAIL: PR ld/13287
FAIL: PR ld/13287
FAIL: PR ld/pr16846(1)
FAIL: PR ld/pr16846(1)
FAIL: PR ld/pr16846(2)
FAIL: PR ld/pr16846(2)
FAIL: PR ld/12982
FAIL: PR ld/12982
FAIL: PR ld/16746 (1)
FAIL: PR ld/16746 (1)
FAIL: PR ld/16746 (2)
FAIL: PR ld/16746 (2)
FAIL: PR ld/14918
FAIL: PR ld/14918
FAIL: PR ld/12365
FAIL: LTO 3 symbol
FAIL: LTO 3 symbol
FAIL: LTO 5 symbol
FAIL: LTO 5 symbol
FAIL: PR ld/13183
FAIL: PR ld/13183
FAIL: LTO 3a
FAIL: LTO 3b
FAIL: LTO 3c
FAIL: LTO 5
FAIL: LTO 11
FAIL: LTO 12a
FAIL: LTO 12b
FAIL: LTO 13
FAIL: LTO 14
FAIL: LTO 15
FAIL: PR ld/13201
FAIL: PR ld/15323 (3)
FAIL: PR ld/15323 (4)
FAIL: PR ld/19317 (3)
FAIL: LTO 8

on Linux/x86-64 with GCC 5.  They are fixed by

https://sourceware.org/ml/binutils/2016-04/msg00353.html


H.J.
---
Check for LTO availability will hide LTO bugs in ld.  Since GCC 4.9 adds
-ffat-lto-objects, we always run LTO tests on Linux with GCC 4.9 or newer.

	* 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.
---
 ld/testsuite/lib/ld-lib.exp | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index 52b63ee..88afc5a 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -1797,6 +1797,13 @@ proc check_lto_available { } {
 	    set lto_available_saved 0
 	    return 0
 	}
+	# This test will hide LTO bugs in ld.  Since GCC 4.9 adds
+	# -ffat-lto-objects, we always run LTO tests on Linux with
+	# GCC 4.9 or newer.
+	if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {
+	    set lto_available_saved 1
+	    return 1
+	}
 	# Check if gcc supports -flto -fuse-linker-plugin
 	set flags ""
 	if [board_info [target_info name] exists cflags] {
@@ -1831,6 +1838,13 @@ proc check_lto_fat_available { } {
 	    set lto_fat_available_saved 0
 	    return 0
 	}
+	# This test will hide LTO bugs in ld.  Since GCC 4.9 adds
+	# -ffat-lto-objects, we always run LTO tests on Linux with
+	# GCC 4.9 or newer.
+	if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {
+	    set lto_fat_available_saved 1
+	    return 1
+	}
 	# Check if gcc supports -flto -fuse-linker-plugin
 	set flags ""
 	if [board_info [target_info name] exists cflags] {
@@ -1865,6 +1879,13 @@ proc check_lto_shared_available { } {
 	    set lto_shared_available_saved 0
 	    return 0
 	}
+	# This test will hide LTO bugs in ld.  Since GCC 4.9 adds
+	# -ffat-lto-objects, we always run LTO tests on Linux with
+	# GCC 4.9 or newer.
+	if { [istarget "*-*-linux*"] && [at_least_gcc_version 4 9] } {
+	    set lto_shared_available_saved 1
+	    return 1
+	}
 	# Check if gcc supports -flto -fuse-linker-plugin -shared
 	set flags ""
 	if [board_info [target_info name] exists cflags] {
-- 
2.5.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]