diff options
author | Alan Hayward <alan.hayward@arm.com> | 2019-03-25 16:48:03 +0000 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2019-03-25 16:50:38 +0000 |
commit | 0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb (patch) | |
tree | cb3bc9d4001b27d418fdb2f45f18ad3997e37547 /gdb/aarch64-linux-nat.c | |
parent | 796d6298bb11deab06814cc38cfe74a1bfc57551 (diff) | |
download | gdb-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.c | 8 |
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 |