This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed, PATCH] Always run LTO tests on Linux with GCC 4.9 or newer
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Thu, 21 Apr 2016 09:36:08 -0700
- Subject: [committed, PATCH] Always run LTO tests on Linux with GCC 4.9 or newer
- Authentication-results: sourceware.org; auth=none
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
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