aboutsummaryrefslogtreecommitdiff
path: root/gdb/aarch64-linux-nat.c
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-03-25 16:48:03 +0000
committerAlan Hayward <alan.hayward@arm.com>2019-03-25 16:50:38 +0000
commit0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb (patch)
treecb3bc9d4001b27d418fdb2f45f18ad3997e37547 /gdb/aarch64-linux-nat.c
parent796d6298bb11deab06814cc38cfe74a1bfc57551 (diff)
downloadgdb-0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb.zip
gdb-0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb.tar.gz
gdb-0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb.tar.bz2
Add linux_get_hwcap
Tidy up calls to read HWCAP (and HWCAP2) by adding common functions, removing the PPC and AArch64 specific versions. The only function difference is in aarch64_linux_core_read_description - if the hwcap read fails it now return a valid description instead of nullptr. gdb/ChangeLog: 2019-03-25 Alan Hayward <alan.hayward@arm.com> * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Call linux_get_hwcap. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. (aarch64_linux_get_hwcap): Remove function. * aarch64-linux-tdep.h (aarch64_linux_get_hwcap): Remove declaration. * arm-linux-nat.c (arm_linux_nat_target::read_description):Call linux_get_hwcap. * arm-linux-tdep.c (arm_linux_core_read_description): Likewise. * linux-tdep.c (linux_get_hwcap): Add function. (linux_get_hwcap2): Likewise. * linux-tdep.h (linux_get_hwcap): Add declaration. (linux_get_hwcap2): Likewise. * ppc-linux-nat.c (ppc_linux_get_hwcap): Remove function. (ppc_linux_get_hwcap2): Likewise. (ppc_linux_nat_target::region_ok_for_hw_watchpoint): Call linux_get_hwcap. (ppc_linux_nat_target::insert_watchpoint): Likewise. (ppc_linux_nat_target::watchpoint_addr_within_range): Likewise. (ppc_linux_nat_target::read_description): Likewise. * ppc-linux-tdep.c (ppc_linux_core_read_description): Likewise. * s390-linux-nat.c: Likewise. * s390-linux-tdep.c (s390_core_read_description): Likewise.
Diffstat (limited to 'gdb/aarch64-linux-nat.c')
-rw-r--r--gdb/aarch64-linux-nat.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
index 86c7e87..6d43eb7 100644
--- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c
@@ -42,6 +42,7 @@
#include <asm/ptrace.h>
#include "gregset.h"
+#include "linux-tdep.h"
/* Defines ps_err_e, struct ps_prochandle. */
#include "gdb_proc_service.h"
@@ -641,11 +642,10 @@ aarch64_linux_nat_target::read_description ()
if (ret == 0)
return tdesc_arm_with_neon;
- CORE_ADDR hwcap = 0;
- bool pauth_p = aarch64_linux_get_hwcap (this, &hwcap)
- && (hwcap & AARCH64_HWCAP_PACA);
+ CORE_ADDR hwcap = linux_get_hwcap (this);
- return aarch64_read_description (aarch64_sve_get_vq (tid), pauth_p);
+ return aarch64_read_description (aarch64_sve_get_vq (tid),
+ hwcap & AARCH64_HWCAP_PACA);
}
/* Convert a native/host siginfo object, into/from the siginfo in the