aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-07-01 08:59:20 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-07-01 08:59:20 +0000
commit14a393a3fbc8d1799328f622fb6301b80fc4910e (patch)
treed14cd0802efbabe2056a4896a173c27875c54289
parent3aecd443dadce5ef2c94551bb0fd9a54f6ba5684 (diff)
downloadgcc-14a393a3fbc8d1799328f622fb6301b80fc4910e.zip
gcc-14a393a3fbc8d1799328f622fb6301b80fc4910e.tar.gz
gcc-14a393a3fbc8d1799328f622fb6301b80fc4910e.tar.bz2
re PR libmudflap/49549 (Use of --noinhibit-exec is unportable)
libmudflap: PR libmudflap/49549 * testsuite/lib/libmudflap.exp (load_gcc_lib): Load target-supports.exp. * testsuite/libmudflap.cth/cthfrags.exp: Only pass --noinhibit-exec to GNU ld. gcc: PR libmudflap/49549 * doc/sourcebuild.texi (Effective-Target Keywords): Document gld. gcc/testsuite: PR libmudflap/49549 * lib/target-supports.exp (check_effective_target_gld): New proc. From-SVN: r175749
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/lib/target-supports.exp20
-rw-r--r--libmudflap/ChangeLog8
-rw-r--r--libmudflap/testsuite/lib/libmudflap.exp3
-rw-r--r--libmudflap/testsuite/libmudflap.cth/cthfrags.exp13
7 files changed, 52 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a4b743c..21d2c1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49549
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
+
2011-07-01 Jakub Jelinek <jakub@redhat.com>
* tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index d2cc4ea..3d41c0d 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1760,6 +1760,9 @@ Target uses GNU @command{as}.
@item gc_sections
Target supports @option{--gc-sections}.
+@item gld
+Target uses GNU @command{ld}.
+
@item keeps_null_pointer_checks
Target keeps null pointer checks, either due to the use of
@option{-fno-delete-null-pointer-checks} or hardwired into the target.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 17046d6..9b72197 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49549
+ * lib/target-supports.exp (check_effective_target_gld): New proc.
+
2011-07-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49603
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 393c3ad..4e56e48 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3843,6 +3843,26 @@ proc check_effective_target_gas { } {
return $use_gas_saved
}
+# Return 1 if GNU ld is used.
+
+proc check_effective_target_gld { } {
+ global use_gld_saved
+ global tool
+
+ if {![info exists use_gld_saved]} {
+ # Check if the ld used by gcc is GNU ld.
+ set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=ld" "" "none" ""] 0]
+ set status [remote_exec host "$gcc_ld" "--version"]
+ set ld_output [lindex $status 1]
+ if { [ string first "GNU" $ld_output ] >= 0 } {
+ set use_gld_saved 1
+ } else {
+ set use_gld_saved 0
+ }
+ }
+ return $use_gld_saved
+}
+
# Return 1 if the compiler has been configure with link-time optimization
# (LTO) support.
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index f44f0ed..177c018 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49549
+ * testsuite/lib/libmudflap.exp (load_gcc_lib): Load
+ target-supports.exp.
+ * testsuite/libmudflap.cth/cthfrags.exp: Only pass
+ --noinhibit-exec to GNU ld.
+
2011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libmudflap/38738
diff --git a/libmudflap/testsuite/lib/libmudflap.exp b/libmudflap/testsuite/lib/libmudflap.exp
index a09eb95..bd9327d 100644
--- a/libmudflap/testsuite/lib/libmudflap.exp
+++ b/libmudflap/testsuite/lib/libmudflap.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002, 2003, 2004, 2009, 2010
+# Copyright (C) 2001, 2002, 2003, 2004, 2009, 2010, 2011
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -30,6 +30,7 @@ proc load_gcc_lib { filename } {
load_lib mfdg.exp
load_lib libgloss.exp
load_gcc_lib target-libpath.exp
+load_gcc_lib target-supports.exp
load_gcc_lib timeout.exp
load_gcc_lib timeout-dg.exp
diff --git a/libmudflap/testsuite/libmudflap.cth/cthfrags.exp b/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
index e5a7de8..a025b03 100644
--- a/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
+++ b/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
@@ -11,10 +11,15 @@ foreach flags $MUDFLAP_FLAGS {
set bsrc [file tail $srcfile]
setenv MUDFLAP_OPTIONS "-viol-segv"
if {$libmudflapth} then {
- # --noinhibit-exec works around a ld problem that causes
- # "Dwarf Error: Invalid or unhandled FORM value: 14"
- # to fail builds unnecessarily.
- dg-runtest $srcfile $flags "-fmudflapth -lmudflapth -lpthread -Wl,--noinhibit-exec"
+ if [check_effective_target_gld] {
+ # --noinhibit-exec works around a ld problem that causes
+ # "Dwarf Error: Invalid or unhandled FORM value: 14"
+ # to fail builds unnecessarily.
+ set noie_option " -Wl,--noinhibit-exec"
+ } else {
+ set noie_option ""
+ }
+ dg-runtest $srcfile $flags "-fmudflapth -lmudflapth -lpthread $noie_option"
} else {
if {$flags != ""} {set f " ($flags)"} {set f ""}
untested "libmudflap.cth/$bsrc$f"