public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
@ 2014-01-14 23:04 Maciej W. Rozycki
  2014-01-15  3:45 ` Joel Brobecker
  0 siblings, 1 reply; 6+ messages in thread
From: Maciej W. Rozycki @ 2014-01-14 23:04 UTC (permalink / raw)
  To: gdb-patches

Hi,

 This fixes a gdb.base/float.exp failure on Aarch64 targets:

Breakpoint 1, main () at .../gdb/testsuite/gdb.base/float.c:29
29	  foo ();
(gdb) info float
d0             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d1             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d2             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d3             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d4             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d5             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d6             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d7             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d8             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d9             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d10            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d11            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d12            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d13            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d14            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d15            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d16            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d17            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d18            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d19            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d20            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d21            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d22            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d23            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d24            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d25            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d26            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d27            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d28            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d29            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d30            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
d31            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s0             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s1             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s2             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s3             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s4             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s5             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s6             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s7             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s8             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s9             {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s10            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s11            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s12            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s13            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s14            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s15            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s16            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s17            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s18            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s19            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s20            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s21            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s22            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s23            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s24            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s25            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s26            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s27            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s28            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s29            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s30            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
s31            {f = 0x0, u = 0x0, s = 0x0}	{f = 0, u = 0, s = 0}
(gdb) FAIL: gdb.base/float.exp: info float (unknown target)

Tested with aarch64-linux-gnu.  OK to apply?

2014-01-14  Maciej W. Rozycki  <macro@codesourcery.com>

	gdb/testsuite/
	* gdb.base/float.exp: Handle "aarch64*-*-*" targets.

  Maciej

gdb-test-aarch64-info-float.diff
Index: gdb-fsf-trunk-quilt/gdb/testsuite/gdb.base/float.exp
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/testsuite/gdb.base/float.exp	2014-01-14 22:12:55.798957511 +0000
+++ gdb-fsf-trunk-quilt/gdb/testsuite/gdb.base/float.exp	2014-01-14 22:38:14.458923719 +0000
@@ -36,7 +36,9 @@ if ![runto_main] then {
 
 # Test "info float".
 
-if { [istarget "alpha*-*-*"] } then {
+if { [istarget "aarch64*-*-*"] } then {
+    gdb_test "info float" "d0.*d1.*d31.*s0.*s1.*s31.*" "info float"
+} elseif { [istarget "alpha*-*-*"] } then {
     gdb_test "info float" "f0.*" "info float"
 } elseif { [istarget "arm*-*-*"] } then {
     gdb_test_multiple "info float" "info float" {

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
  2014-01-14 23:04 [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test Maciej W. Rozycki
@ 2014-01-15  3:45 ` Joel Brobecker
  2014-01-15  8:27   ` Maciej W. Rozycki
  2014-01-15  8:57   ` Marcus Shawcroft
  0 siblings, 2 replies; 6+ messages in thread
From: Joel Brobecker @ 2014-01-15  3:45 UTC (permalink / raw)
  To: Maciej W. Rozycki; +Cc: gdb-patches

> 2014-01-14  Maciej W. Rozycki  <macro@codesourcery.com>
> 
> 	gdb/testsuite/
> 	* gdb.base/float.exp: Handle "aarch64*-*-*" targets.

FWIW, no problem with the patch. But I don't know AArch64.
Does it always have an FPU? Otherwise, we perhaps should look at
what is being done for arm-*?

> 
>   Maciej
> 
> gdb-test-aarch64-info-float.diff
> Index: gdb-fsf-trunk-quilt/gdb/testsuite/gdb.base/float.exp
> ===================================================================
> --- gdb-fsf-trunk-quilt.orig/gdb/testsuite/gdb.base/float.exp	2014-01-14 22:12:55.798957511 +0000
> +++ gdb-fsf-trunk-quilt/gdb/testsuite/gdb.base/float.exp	2014-01-14 22:38:14.458923719 +0000
> @@ -36,7 +36,9 @@ if ![runto_main] then {
>  
>  # Test "info float".
>  
> -if { [istarget "alpha*-*-*"] } then {
> +if { [istarget "aarch64*-*-*"] } then {
> +    gdb_test "info float" "d0.*d1.*d31.*s0.*s1.*s31.*" "info float"
> +} elseif { [istarget "alpha*-*-*"] } then {
>      gdb_test "info float" "f0.*" "info float"
>  } elseif { [istarget "arm*-*-*"] } then {
>      gdb_test_multiple "info float" "info float" {

-- 
Joel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
  2014-01-15  3:45 ` Joel Brobecker
@ 2014-01-15  8:27   ` Maciej W. Rozycki
  2014-01-15  8:57   ` Marcus Shawcroft
  1 sibling, 0 replies; 6+ messages in thread
From: Maciej W. Rozycki @ 2014-01-15  8:27 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gdb-patches

On Wed, 15 Jan 2014, Joel Brobecker wrote:

> > 	gdb/testsuite/
> > 	* gdb.base/float.exp: Handle "aarch64*-*-*" targets.
> 
> FWIW, no problem with the patch. But I don't know AArch64.
> Does it always have an FPU? Otherwise, we perhaps should look at
> what is being done for arm-*?

 Hard to tell, this popped up in testing, but I have no experience with 
AArch64 and with reasonable effort I couldn't track down an architecture 
manual that would clarify that.  However there's a single 
features/aarch64.xml register description only, that includes FP registers 
unconditionally so my guess would be an FPU is implied, at least as far as 
GDB is concerned at this stage.

 I could be wrong though, e.g. for MIPS we have a couple of register 
descriptions, all of which include FP registers, but they only cover Linux 
targets where the FPU is a part of the OS ABI even where hardware has none 
and software emulation is used.  And bare-iron MIPS targets certainly 
expose the lack of an FPU to GDB.

 Anyone can confirm one way or another?

  Maciej

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
  2014-01-15  3:45 ` Joel Brobecker
  2014-01-15  8:27   ` Maciej W. Rozycki
@ 2014-01-15  8:57   ` Marcus Shawcroft
  2014-01-15  9:55     ` Joel Brobecker
  1 sibling, 1 reply; 6+ messages in thread
From: Marcus Shawcroft @ 2014-01-15  8:57 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Maciej W. Rozycki, gdb-patches

On 15 January 2014 03:45, Joel Brobecker <brobecker@adacore.com> wrote:
>> 2014-01-14  Maciej W. Rozycki  <macro@codesourcery.com>
>>
>>       gdb/testsuite/
>>       * gdb.base/float.exp: Handle "aarch64*-*-*" targets.
>
> FWIW, no problem with the patch. But I don't know AArch64.
> Does it always have an FPU? Otherwise, we perhaps should look at
> what is being done for arm-*?

Hi,

The architecture defines three profiles. The relevant profile in this
context is 'A' profile, which requires the presence of the FPU.

/Marcus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
  2014-01-15  8:57   ` Marcus Shawcroft
@ 2014-01-15  9:55     ` Joel Brobecker
  2014-01-15 22:22       ` Maciej W. Rozycki
  0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2014-01-15  9:55 UTC (permalink / raw)
  To: Marcus Shawcroft; +Cc: Maciej W. Rozycki, gdb-patches

> >>       gdb/testsuite/
> >>       * gdb.base/float.exp: Handle "aarch64*-*-*" targets.
> > FWIW, no problem with the patch. But I don't know AArch64.
> > Does it always have an FPU? Otherwise, we perhaps should look at
> > what is being done for arm-*?
[...]
> The architecture defines three profiles. The relevant profile in this
> context is 'A' profile, which requires the presence of the FPU.

OK, thanks for confirming it. The patch looks good, then, so let's
get it in.

Thank you,
-- 
Joel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test
  2014-01-15  9:55     ` Joel Brobecker
@ 2014-01-15 22:22       ` Maciej W. Rozycki
  0 siblings, 0 replies; 6+ messages in thread
From: Maciej W. Rozycki @ 2014-01-15 22:22 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Marcus Shawcroft, gdb-patches

On Wed, 15 Jan 2014, Joel Brobecker wrote:

> > The architecture defines three profiles. The relevant profile in this
> > context is 'A' profile, which requires the presence of the FPU.
> 
> OK, thanks for confirming it. The patch looks good, then, so let's
> get it in.

 Thanks for your review, applied now.

  Maciej

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-01-15 22:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-14 23:04 [PATCH] AArch64: gdb.base/float.exp: Fix `info float' test Maciej W. Rozycki
2014-01-15  3:45 ` Joel Brobecker
2014-01-15  8:27   ` Maciej W. Rozycki
2014-01-15  8:57   ` Marcus Shawcroft
2014-01-15  9:55     ` Joel Brobecker
2014-01-15 22:22       ` Maciej W. Rozycki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).