* [PATCH] Add SVE to NEWS and GDB manual
@ 2018-08-21 12:53 Alan Hayward
2018-08-21 14:36 ` Pedro Alves
0 siblings, 1 reply; 4+ messages in thread
From: Alan Hayward @ 2018-08-21 12:53 UTC (permalink / raw)
To: gdb-patches; +Cc: nd, Alan Hayward
I wasn't sure whether the vector length limitation should
get added to these files - I couldn't find any other limitations
stated in these files. Happy to remove those parts / move elsewhere.
Also corrected vector gradient to vector granule, as per DWARF spec.
Ok for 8.2 branch too?
2018-08-21 Alan Hayward <alan.hayward@arm.com>
gdb/
* NEWS: Add SVE to 8.2 section.
* doc/gdb.texinfo: Add SVE to AArch64 section.
* arch/aarch64.h (aarch64_regnum): Update comment.
---
gdb/NEWS | 3 +++
gdb/arch/aarch64.h | 4 ++--
gdb/doc/gdb.texinfo | 16 ++++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/gdb/NEWS b/gdb/NEWS
index 16d3d72589..3119d97d98 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -90,6 +90,9 @@ GNU/Linux/RISC-V riscv*-*-linux*
* C expressions can now use _Alignof, and C++ expressions can now use
alignof.
+* Support for SVE on AArch64 Linux. Note that in 8.2, GDB does not detect
+ changes to the vector length while the process is running.
+
* New commands
set debug fbsd-nat
diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h
index e344a36770..d6b88e6d56 100644
--- a/gdb/arch/aarch64.h
+++ b/gdb/arch/aarch64.h
@@ -49,7 +49,7 @@ enum aarch64_regnum
AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15, /* Last SVE predicate
register. */
AARCH64_SVE_FFR_REGNUM, /* SVE First Fault Register. */
- AARCH64_SVE_VG_REGNUM, /* SVE Vector Gradient. */
+ AARCH64_SVE_VG_REGNUM, /* SVE Vector Granule. */
/* Other useful registers. */
AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7,
@@ -71,7 +71,7 @@ enum aarch64_regnum
The number of bytes in an SVE Z register.
VQ : Vector Quotient.
The number of 128bit chunks in an SVE Z register.
- VG : Vector Gradient.
+ VG : Vector Granule.
The number of 64bit chunks in an SVE Z register. */
#define sve_vg_from_vl(vl) ((vl) / 8)
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 433a2698a9..4526a385d0 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -23451,6 +23451,22 @@ Show whether AArch64 debugging messages are displayed.
@end table
+@subsubsection AArch64 SVE.
+@cindex AArch64 SVE.
+
+When GDB is debugging the AArch64 architecture, if the Scalable Vector
+Extension (SVE) is present then GDB will provide the vector registers
+@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through
+@code{$p15}, and the @code{$ffr} register. In addition the pseduo register
+@code{$vg} will be provided. This is the vector granule for the current thread
+and represents the number of 64-bit chunks in a SVE Z register.
+
+If the vector length changes, then the @code{$vg} register will be updated,
+but the lengths of the @code{z} and @code{p} registers will not change. This
+is a known limitation of GDB and does not affect the execution of the target
+process.
+
+
@node i386
@subsection x86 Architecture-specific Issues
--
2.15.2 (Apple Git-101.1)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Add SVE to NEWS and GDB manual
2018-08-21 12:53 [PATCH] Add SVE to NEWS and GDB manual Alan Hayward
@ 2018-08-21 14:36 ` Pedro Alves
2018-08-21 17:29 ` Alan Hayward
0 siblings, 1 reply; 4+ messages in thread
From: Pedro Alves @ 2018-08-21 14:36 UTC (permalink / raw)
To: Alan Hayward, gdb-patches; +Cc: nd
On 08/21/2018 01:53 PM, Alan Hayward wrote:
> I wasn't sure whether the vector length limitation should
> get added to these files - I couldn't find any other limitations
> stated in these files. Happy to remove those parts / move elsewhere.
>
> Also corrected vector gradient to vector granule, as per DWARF spec.
That seems unrelated, best to apply as a separate patch, I'd think.
>
> Ok for 8.2 branch too?
>
>
> 2018-08-21 Alan Hayward <alan.hayward@arm.com>
>
> gdb/
> * NEWS: Add SVE to 8.2 section.
> * doc/gdb.texinfo: Add SVE to AArch64 section.
> * arch/aarch64.h (aarch64_regnum): Update comment.
> ---
> gdb/NEWS | 3 +++
> gdb/arch/aarch64.h | 4 ++--
> gdb/doc/gdb.texinfo | 16 ++++++++++++++++
> 3 files changed, 21 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/NEWS b/gdb/NEWS
> index 16d3d72589..3119d97d98 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -90,6 +90,9 @@ GNU/Linux/RISC-V riscv*-*-linux*
> * C expressions can now use _Alignof, and C++ expressions can now use
> alignof.
>
> +* Support for SVE on AArch64 Linux. Note that in 8.2, GDB does not detect
> + changes to the vector length while the process is running.
I assume this is the "new in 8.2" section, so is there a reason you're saying
"note that in 8.2" instead of "note that" ?? It seems redundant.
If it isn't redundant, and you mean to say that master (8.3) will
behave differently, then such behavior should instead get its own
news entry in 8.3.
> +
> * New commands
>
> set debug fbsd-nat
> diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h
> index e344a36770..d6b88e6d56 100644
> --- a/gdb/arch/aarch64.h
> +++ b/gdb/arch/aarch64.h
> @@ -49,7 +49,7 @@ enum aarch64_regnum
> AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15, /* Last SVE predicate
> register. */
> AARCH64_SVE_FFR_REGNUM, /* SVE First Fault Register. */
> - AARCH64_SVE_VG_REGNUM, /* SVE Vector Gradient. */
> + AARCH64_SVE_VG_REGNUM, /* SVE Vector Granule. */
>
> /* Other useful registers. */
> AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7,
> @@ -71,7 +71,7 @@ enum aarch64_regnum
> The number of bytes in an SVE Z register.
> VQ : Vector Quotient.
> The number of 128bit chunks in an SVE Z register.
> - VG : Vector Gradient.
> + VG : Vector Granule.
> The number of 64bit chunks in an SVE Z register. */
>
> #define sve_vg_from_vl(vl) ((vl) / 8)
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index 433a2698a9..4526a385d0 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -23451,6 +23451,22 @@ Show whether AArch64 debugging messages are displayed.
>
> @end table
>
> +@subsubsection AArch64 SVE.
> +@cindex AArch64 SVE.
> +
> +When GDB is debugging the AArch64 architecture, if the Scalable Vector
Throughout, you should use @value{GDBN} instead of "GDB".
> +Extension (SVE) is present then GDB will provide the vector registers
> +@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through
> +@code{$p15}, and the @code{$ffr} register. In addition the pseduo register
Typo: "pseduo" -> "pseudo".
> +@code{$vg} will be provided. This is the vector granule for the current thread
> +and represents the number of 64-bit chunks in a SVE Z register.
Should that be "an SVE" (as in, "an ess, vee, eee") ? Or is SVE usually read
as "a ssssveeee"?
> +
> +If the vector length changes, then the @code{$vg} register will be updated,
> +but the lengths of the @code{z} and @code{p} registers will not change. This
> +is a known limitation of GDB and does not affect the execution of the target
> +process.
Is the documentation for the "org.gnu.gdb.aarch64.sve" XML tdesc feature in the
branch already?
> +
> +
> @node i386
> @subsection x86 Architecture-specific Issues
>
>
Thanks,
Pedro Alves
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Add SVE to NEWS and GDB manual
2018-08-21 14:36 ` Pedro Alves
@ 2018-08-21 17:29 ` Alan Hayward
2018-08-21 17:58 ` Eli Zaretskii
0 siblings, 1 reply; 4+ messages in thread
From: Alan Hayward @ 2018-08-21 17:29 UTC (permalink / raw)
To: Pedro Alves; +Cc: GDB Patches, nd
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 6333 bytes --]
Thanks for the review.
> On 21 Aug 2018, at 15:36, Pedro Alves <palves@redhat.com> wrote:
>
> On 08/21/2018 01:53 PM, Alan Hayward wrote:
>> I wasn't sure whether the vector length limitation should
>> get added to these files - I couldn't find any other limitations
>> stated in these files. Happy to remove those parts / move elsewhere.
>>
>
>
>> Also corrected vector gradient to vector granule, as per DWARF spec.
>
> That seems unrelated, best to apply as a separate patch, I'd think.
Ok, Iâll post and push that as itâs own OBV patch.
>
>>
>> Ok for 8.2 branch too?
>>
>>
>> 2018-08-21 Alan Hayward <alan.hayward@arm.com>
>>
>> gdb/
>> * NEWS: Add SVE to 8.2 section.
>> * doc/gdb.texinfo: Add SVE to AArch64 section.
>> * arch/aarch64.h (aarch64_regnum): Update comment.
>> ---
>> gdb/NEWS | 3 +++
>> gdb/arch/aarch64.h | 4 ++--
>> gdb/doc/gdb.texinfo | 16 ++++++++++++++++
>> 3 files changed, 21 insertions(+), 2 deletions(-)
>>
>> diff --git a/gdb/NEWS b/gdb/NEWS
>> index 16d3d72589..3119d97d98 100644
>> --- a/gdb/NEWS
>> +++ b/gdb/NEWS
>> @@ -90,6 +90,9 @@ GNU/Linux/RISC-V riscv*-*-linux*
>> * C expressions can now use _Alignof, and C++ expressions can now use
>> alignof.
>>
>> +* Support for SVE on AArch64 Linux. Note that in 8.2, GDB does not detect
>> + changes to the vector length while the process is running.
>
> I assume this is the "new in 8.2" section, so is there a reason you're saying
> "note that in 8.2" instead of "note that" ?? It seems redundant.
> If it isn't redundant, and you mean to say that master (8.3) will
> behave differently, then such behavior should instead get its own
> news entry in 8.3.
>
My worry was that for 8.3 and onwards, anyone quickly reading the NEWS file
might miss the entry 8.3 saying it now works. But, agree with your comment.
Removed the redundancy.
>> +
>> * New commands
>>
>> set debug fbsd-nat
>> diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h
>> index e344a36770..d6b88e6d56 100644
>> --- a/gdb/arch/aarch64.h
>> +++ b/gdb/arch/aarch64.h
>> @@ -49,7 +49,7 @@ enum aarch64_regnum
>> AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15, /* Last SVE predicate
>> register. */
>> AARCH64_SVE_FFR_REGNUM, /* SVE First Fault Register. */
>> - AARCH64_SVE_VG_REGNUM, /* SVE Vector Gradient. */
>> + AARCH64_SVE_VG_REGNUM, /* SVE Vector Granule. */
>>
>> /* Other useful registers. */
>> AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7,
>> @@ -71,7 +71,7 @@ enum aarch64_regnum
>> The number of bytes in an SVE Z register.
>> VQ : Vector Quotient.
>> The number of 128bit chunks in an SVE Z register.
>> - VG : Vector Gradient.
>> + VG : Vector Granule.
>> The number of 64bit chunks in an SVE Z register. */
>>
>> #define sve_vg_from_vl(vl) ((vl) / 8)
>> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
>> index 433a2698a9..4526a385d0 100644
>> --- a/gdb/doc/gdb.texinfo
>> +++ b/gdb/doc/gdb.texinfo
>> @@ -23451,6 +23451,22 @@ Show whether AArch64 debugging messages are displayed.
>>
>> @end table
>>
>> +@subsubsection AArch64 SVE.
>> +@cindex AArch64 SVE.
>> +
>> +When GDB is debugging the AArch64 architecture, if the Scalable Vector
>
> Throughout, you should use @value{GDBN} instead of "GDBâ.
Done.
>
>> +Extension (SVE) is present then GDB will provide the vector registers
>> +@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through
>> +@code{$p15}, and the @code{$ffr} register. In addition the pseduo register
>
> Typo: "pseduo" -> "pseudoâ.
Oops. Done.
>
>> +@code{$vg} will be provided. This is the vector granule for the current thread
>> +and represents the number of 64-bit chunks in a SVE Z register.
>
> Should that be "an SVE" (as in, "an ess, vee, eee") ? Or is SVE usually read
> as "a ssssveeeeâ?
Had a quick chat with our documentation team. Updated to âanâ.
>
>> +
>> +If the vector length changes, then the @code{$vg} register will be updated,
>> +but the lengths of the @code{z} and @code{p} registers will not change. This
>> +is a known limitation of GDB and does not affect the execution of the target
>> +process.
>
> Is the documentation for the "org.gnu.gdb.aarch64.sve" XML tdesc feature in the
> branch already?
>
Yes, added as part of the SVE target description patch.
Updated version below.
This version ok?
2018-08-21 Alan Hayward <alan.hayward@arm.com>
gdb/
* NEWS: Add SVE to 8.2 section.
* doc/gdb.texinfo: Add SVE to AArch64 section.
diff --git a/gdb/NEWS b/gdb/NEWS
index 16d3d725897c8c06124709c0203be5d24c85f72b..bd03d72e9afb2b5413b5a322754fc352ee7c34dc 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -90,6 +90,9 @@ GNU/Linux/RISC-V riscv*-*-linux*
* C expressions can now use _Alignof, and C++ expressions can now use
alignof.
+* Support for SVE on AArch64 Linux. Note that GDB does not detect changes to
+ the vector length while the process is running.
+
* New commands
set debug fbsd-nat
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 433a2698a9264b352e560259f6157dc98a6777e3..e58d67283b341de9866ed1605f3285bf7c81ce78 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -23451,6 +23451,22 @@ Show whether AArch64 debugging messages are displayed.
@end table
+@subsubsection AArch64 SVE.
+@cindex AArch64 SVE.
+
+When @value{GDBN} is debugging the AArch64 architecture, if the Scalable Vector
+Extension (SVE) is present then @value{GDBN} will provide the vector registers
+@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through
+@code{$p15}, and the @code{$ffr} register. In addition the pseudo register
+@code{$vg} will be provided. This is the vector granule for the current thread
+and represents the number of 64-bit chunks in an SVE @code{z} register.
+
+If the vector length changes, then the @code{$vg} register will be updated,
+but the lengths of the @code{z} and @code{p} registers will not change. This
+is a known limitation of @value{GDBN} and does not affect the execution of the
+target process.
+
+
@node i386
@subsection x86 Architecture-specific Issues
\x16º&Öéj×!zÊÞ¶êç×}çYb²Ö«r\x18\x1dnr\x17¬
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Add SVE to NEWS and GDB manual
2018-08-21 17:29 ` Alan Hayward
@ 2018-08-21 17:58 ` Eli Zaretskii
0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2018-08-21 17:58 UTC (permalink / raw)
To: Alan Hayward; +Cc: palves, gdb-patches, nd
> From: Alan Hayward <Alan.Hayward@arm.com>
> CC: GDB Patches <gdb-patches@sourceware.org>, nd <nd@arm.com>
> Date: Tue, 21 Aug 2018 17:29:18 +0000
>
> Updated version below.
> This version ok?
>
>
>
> 2018-08-21 Alan Hayward <alan.hayward@arm.com>
>
> gdb/
> * NEWS: Add SVE to 8.2 section.
> * doc/gdb.texinfo: Add SVE to AArch64 section.
The gdb.texinfo entry should mention the node in which the changes are
made, as if it were a function.
> +When @value{GDBN} is debugging the AArch64 architecture, if the Scalable Vector
> +Extension (SVE) is present then @value{GDBN} will provide the vector registers
^
Comma missing there.
> +@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through
> +@code{$p15}, and the @code{$ffr} register. In addition the pseudo register
^
And another.
OK with those gotchas fixed.
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-08-21 17:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-21 12:53 [PATCH] Add SVE to NEWS and GDB manual Alan Hayward
2018-08-21 14:36 ` Pedro Alves
2018-08-21 17:29 ` Alan Hayward
2018-08-21 17:58 ` Eli Zaretskii
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox