aboutsummaryrefslogtreecommitdiff
path: root/gdb/nat
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2018-06-01 16:37:45 +0100
committerAlan Hayward <alan.hayward@arm.com>2018-06-04 10:50:59 +0100
commit39bfb9373c5cca78948c94174d46891c1a3d3613 (patch)
tree31a0ddf60675d69d61e1bd3c39ebb0a444664b88 /gdb/nat
parentff183b0d8287db69c9fe9ea63cc1fdb51f392f78 (diff)
downloadgdb-39bfb9373c5cca78948c94174d46891c1a3d3613.zip
gdb-39bfb9373c5cca78948c94174d46891c1a3d3613.tar.gz
gdb-39bfb9373c5cca78948c94174d46891c1a3d3613.tar.bz2
Use uint64_t for SVE VQ
Previously VQ was of type long. Using uint64_t ensures it always matches the same type as the VG register. Note that in the Linux kernel, VQ is 16bits. We cast it up to 64bits immediately after reading to ensure we always use the same type throughout the code. gdb/ * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ. * aarch64-tdep.h (aarch64_read_description): Likewise. * arch/aarch64.c (aarch64_create_target_description): Likewise. * arch/aarch64.h (aarch64_create_target_description): Likewise. * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise. * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise. * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
Diffstat (limited to 'gdb/nat')
-rw-r--r--gdb/nat/aarch64-sve-linux-ptrace.c2
-rw-r--r--gdb/nat/aarch64-sve-linux-ptrace.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/gdb/nat/aarch64-sve-linux-ptrace.c b/gdb/nat/aarch64-sve-linux-ptrace.c
index 3a1dbae..119656b 100644
--- a/gdb/nat/aarch64-sve-linux-ptrace.c
+++ b/gdb/nat/aarch64-sve-linux-ptrace.c
@@ -27,7 +27,7 @@
/* See nat/aarch64-sve-linux-ptrace.h. */
-unsigned long
+uint64_t
aarch64_sve_get_vq (int tid)
{
struct iovec iovec;
diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h
index a32ddf1..61f8414 100644
--- a/gdb/nat/aarch64-sve-linux-ptrace.h
+++ b/gdb/nat/aarch64-sve-linux-ptrace.h
@@ -32,7 +32,7 @@
/* Read VQ for the given tid using ptrace. If SVE is not supported then zero
is returned (on a system that supports SVE, then VQ cannot be zero). */
-extern unsigned long aarch64_sve_get_vq (int tid);
+uint64_t aarch64_sve_get_vq (int tid);
/* Structures and defines taken from sigcontext.h. */