aboutsummaryrefslogtreecommitdiff
path: root/gdb/features
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/features
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/features')
-rw-r--r--gdb/features/aarch64-sve.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/features/aarch64-sve.c b/gdb/features/aarch64-sve.c
index a020e4d..71be67c 100644
--- a/gdb/features/aarch64-sve.c
+++ b/gdb/features/aarch64-sve.c
@@ -23,7 +23,7 @@
static int
create_feature_aarch64_sve (struct target_desc *result, long regnum,
- int scale)
+ uint64_t scale)
{
struct tdesc_feature *feature;
tdesc_type *element_type, *field_type;