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
This commit is contained in:
Rainer Orth 2011-07-01 08:59:20 +00:00 committed by Rainer Orth
parent 3aecd443da
commit 14a393a3fb
7 changed files with 52 additions and 5 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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"