diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c index 61475eb4c67..9af2c6e1020 100644 --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-1.c @@ -1,4 +1,4 @@ -/* { dg-do link { target arm_soft_ok } } */ +/* { dg-do link { target arm_soft_ok_link } } */ /* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */ /* { dg-options "-mfloat-abi=soft" } */ diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c index b4699271cea..e78a7ada62e 100644 --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-2.c @@ -1,4 +1,4 @@ -/* { dg-do link { target arm_soft_ok } } */ +/* { dg-do link { target arm_soft_ok_link } } */ /* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */ /* { dg-options "-mfloat-abi=soft" } */ diff --git a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c index 34b1ebe7afd..bb9ccefda5e 100644 --- a/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c +++ b/gcc/testsuite/gcc.target/arm/size-optimization-ieee-3.c @@ -1,4 +1,4 @@ -/* { dg-do link { target arm_soft_ok } } */ +/* { dg-do link { target arm_soft_ok_link } } */ /* { dg-skip-if "Feature is -mfloat-abi=soft only" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */ /* { dg-options "-mfloat-abi=soft" } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a1aef0e0a16..ff8edbd3e17 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3935,6 +3935,18 @@ proc check_effective_target_arm_soft_ok { } { } "-mfloat-abi=soft"] } +# Return 1 if this is an ARM target supporting -mfloat-abi=soft even +# for linking. Some multilibs may be incompatible with this option, +# and some linkers may reject incompatible options. + +proc check_effective_target_arm_soft_ok_link { } { + return [check_no_compiler_messages arm_soft_ok_link executable { + #include + int dummy; + int main (void) { return 0; } + } "-mfloat-abi=soft"] +} + # Return 1 if this is an ARM target supporting -mfpu=vfp with an # appropriate abi.