diff options
author | Alan Hayward <alan.hayward@arm.com> | 2019-07-19 14:59:10 +0100 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2019-07-19 14:59:10 +0100 |
commit | d105cce5dd8d6a5218b044fc161ce89c6b245432 (patch) | |
tree | 1562d65f665cc3e2dc5023d48e24de0a428eb79c /gdb/aarch64-linux-nat.c | |
parent | 231097b03afffd0c5a2b520cd999dbcbe8d64eda (diff) | |
download | gdb-d105cce5dd8d6a5218b044fc161ce89c6b245432.zip gdb-d105cce5dd8d6a5218b044fc161ce89c6b245432.tar.gz gdb-d105cce5dd8d6a5218b044fc161ce89c6b245432.tar.bz2 |
Arm: Add read_description read funcs and use in GDB
Switch the Arm target to get target descriptions via arm_read_description
and aarch32_read_description, in the same style as other feature targets.
Add an enum to specify the different types - this will also be of use to
gdbserver in a later patch.
Under the hood return the same existing pre-feature target descriptions.
gdb/ChangeLog:
* Makefile.in: Add new files.
* aarch32-tdep.c: New file.
* aarch32-tdep.h: New file.
* aarch64-linux-nat.c (aarch64_linux_nat_target::read_description):
Call aarch32_read_description.
* arch/aarch32.c: New file.
* arch/aarch32.h: New file.
* arch/arm.c (arm_create_target_description)
(arm_create_mprofile_target_description): New function.
* arch/arm.h (arm_fp_type, arm_m_profile_type): New enum.
(arm_create_target_description)
(arm_create_mprofile_target_description): New declaration.
* arm-fbsd-tdep.c (arm_fbsd_read_description_auxv): Call
read_description functions.
* arm-linux-nat.c (arm_linux_nat_target::read_description):
Likewise.
* arm-linux-tdep.c (arm_linux_core_read_description): Likewise.
* arm-tdep.c (tdesc_arm_list): New variable.
(arm_register_g_packet_guesses): Call create description functions.
(arm_read_description) (arm_read_mprofile_description): New
function.
* arm-tdep.h (arm_read_description)
(arm_read_mprofile_description): Add declaration.
* configure.tgt: Add new files.
Diffstat (limited to 'gdb/aarch64-linux-nat.c')
-rw-r--r-- | gdb/aarch64-linux-nat.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c index 7b60a9a..2c1f4d9 100644 --- a/gdb/aarch64-linux-nat.c +++ b/gdb/aarch64-linux-nat.c @@ -30,6 +30,7 @@ #include "aarch64-tdep.h" #include "aarch64-linux-tdep.h" #include "aarch32-linux-nat.h" +#include "aarch32-tdep.h" #include "arch/arm.h" #include "nat/aarch64-linux.h" #include "nat/aarch64-linux-hw-point.h" @@ -631,8 +632,6 @@ aarch64_linux_nat_target::post_attach (int pid) linux_nat_target::post_attach (pid); } -extern struct target_desc *tdesc_arm_with_neon; - /* Implement the "read_description" target_ops method. */ const struct target_desc * @@ -649,7 +648,7 @@ aarch64_linux_nat_target::read_description () ret = ptrace (PTRACE_GETREGSET, tid, NT_ARM_VFP, &iovec); if (ret == 0) - return tdesc_arm_with_neon; + return aarch32_read_description (); CORE_ADDR hwcap = linux_get_hwcap (this); |