* [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).