Expect prompt after no FPU warning

Message ID 0e2b3698-2ee8-0b08-173d-ce60f0602677@foss.arm.com
State New, archived
Headers

Commit Message

Thomas Preud'homme May 17, 2017, 12:53 p.m. UTC
  Hi,

The expected output for info float when the target has no FPU does
not include the GDB prompt. This occasionally cause a test failure in
the following "finish" test when the prompt happens after the test has been
marked as PASSed, since it does not match the expected output.

This patch adds the GDB prompt to the expected output of the no FPU
regular expression.

ChangeLog entry is as follows:

*** gdb/testsuite/ChangeLog ***

2017-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* gdb.base/float.exp: Expect GDB prompt for targets without FPU.

Testing: test PASSes with that patch on arm-none-eabi target.

Is this ok for master branch and GDB 8 (after a 1 week period)?

Best regards,

Thomas

On 17/05/17 13:20, Thomas Preudhomme wrote:
>
>
> On 17/05/17 13:10, Yao Qi wrote:
>> Thomas Preudhomme <thomas.preudhomme@foss.arm.com> writes:
>>
>>> 2017-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
>>>
>>>     * gdb.base/float.exp (info float): Expect GDB prompt for ARM
>>
>> Remove " (info float)".
>>
>>>     targets without FPU.
>>>
>>
>>
>>> @@ -50,7 +50,7 @@ if { [is_aarch64_target] } then {
>>>          # if we have NEON.
>>>          pass "info float (VFP)"
>>>      }
>>> -        -re "No floating.point info available for this processor.*" {
>>> +        -re "No floating.point info available for this
>>> processor.*$gdb_prompt $" {
>>
>> The fix is right but it can be applied to all archs which may not have
>> FPU.  If you search "N floating.point info", you can find multiple hits.
>> $gdb_prompt is needed for all of them.
>
> Err yes sorry, I didn't add it because I only tested on ARM. I'll update the
> patch. Thanks!
>
> Best regards,
>
> Thomas
  

Comments

Yao Qi May 17, 2017, 1:34 p.m. UTC | #1
Thomas Preudhomme <thomas.preudhomme@foss.arm.com> writes:

> Is this ok for master branch and GDB 8 (after a 1 week period)?
>

Patch is good to me, one comment below.

GDB 8 will be released soon, so it is good to have this patch in 8.0.
This patch is about test case, so it should be safe to merge it to 8.0
branch now.

> -    gdb_test "info float" "No floating.point info available for this processor." "info float (unknown target)"
> +    gdb_test "info float" "No floating.point info available for this processor.*$gdb_prompt $" "info float (unknown target)"
>  }

This change is not needed, because $gdb_prompt is appended in the
pattern inside of gdb_test.
  

Patch

diff --git a/gdb/testsuite/gdb.base/float.exp b/gdb/testsuite/gdb.base/float.exp
index a4762c9742682391074f0707e56a6eae4cd70c6e..956bbf752b72e105f36cbfbda369c77a71979708 100644
--- a/gdb/testsuite/gdb.base/float.exp
+++ b/gdb/testsuite/gdb.base/float.exp
@@ -50,7 +50,7 @@  if { [is_aarch64_target] } then {
 	    # if we have NEON.
 	    pass "info float (VFP)"
 	}
-        -re "No floating.point info available for this processor.*" {
+        -re "No floating.point info available for this processor.*$gdb_prompt $" {
             pass "info float (without FPU)"
 	}
     }
@@ -63,7 +63,7 @@  if { [is_aarch64_target] } then {
         -re "fp0.*fp1.*fp7.*$gdb_prompt $" {
             pass "info float (with FPU)"
 	}
-        -re "No floating.point info available for this processor.*" {
+        -re "No floating.point info available for this processor.*$gdb_prompt $" {
             pass "info float (without FPU)"
 	}
     }
@@ -81,7 +81,7 @@  if { [is_aarch64_target] } then {
         -re "fd0.*fd3.*$gdb_prompt $" {
             pass "info float (with FPU)"
 	}
-        -re "No floating.point info available for this processor.*" {
+        -re "No floating.point info available for this processor.*$gdb_prompt $" {
             pass "info float (without FPU)"
 	}
     }
@@ -90,7 +90,7 @@  if { [is_aarch64_target] } then {
         -re "f0.*f1.*f31.*fpscr.*$gdb_prompt $" {
             pass "info float (with FPU)"
 	}
-        -re "No floating.point info available for this processor.*" {
+        -re "No floating.point info available for this processor.*$gdb_prompt $" {
             pass "info float (without FPU)"
 	}
     }
@@ -102,7 +102,7 @@  if { [is_aarch64_target] } then {
 	-re "fpul.*fr0.*fr1.*fr15.*$gdb_prompt $" {
 	      pass "info float (with FPU)"
 	  }
-	-re "No floating.point info available for this processor.*" {
+        -re "No floating.point info available for this processor.*$gdb_prompt $" {
 	      pass "info float (without FPU)"
 	}
     }
@@ -111,7 +111,7 @@  if { [is_aarch64_target] } then {
 } elseif [istarget "sparc*-*-*"] then {
     gdb_test "info float" "f0.*f1.*f31.*d0.*d30.*" "info float"
 } else {
-    gdb_test "info float" "No floating.point info available for this processor." "info float (unknown target)"
+    gdb_test "info float" "No floating.point info available for this processor.*$gdb_prompt $" "info float (unknown target)"
 }
 
 gdb_test "step"