* arm-linux-tdep.c: Include "auxv.h".

(AT_HWCAP): Define.
	(ARM_LINUX_SIZEOF_VFP): Define.
	(arm_linux_supply_vfp): New function.
	(arm_linux_collect_vfp): Likewise.
	(arm_linux_regset_from_core_section): Handle .reg-arm-vfp sections.
	(arm_linux_fpa_regset_sections): New variable.
	(arm_linux_vfp_regset_sections): Likewise.
	(arm_linux_core_read_description): New function.
	(arm_linux_init_abi): Install arm_linux_core_read_description and
	arm_linux_fpa_regset_sections or arm_linux_vfp_regset_sections as
	appropriate for the architecture.
	* arm-tdep.h (struct gdbarch_tdep): Add member "vfpregset".
	(tdesc_arm_with_m): Declare.
	(tdesc_arm_with_iwmmxt): Likewise.
	(tdesc_arm_with_vfpv2): Likewise.
	(tdesc_arm_with_vfpv3): Likewise.
	(tdesc_arm_with_neon): Likewise.
	* arm-linux-nat.c: Move features/*.c includes ...
	* arm-tdep.c: ... here.
	* arm-linux-nat.c (arm_linux_read_description): Move initializing
	target description data structures ...
	* arm-tdep.c (_initialize_arm_tdep): ... here.
	* arm-linux-nat.c (HWCAP_VFP, HWCAP_IWMMXT, HWCAP_NEON, HWCAP_VFPv3,
	HWCAP_VFPv3D16): Move definitions ...
	* arm-linux-tdep.h: ... here.
This commit is contained in:
Ulrich Weigand
2011-06-15 16:39:28 +00:00
parent faa9a424ea
commit ef7e8358ec
6 changed files with 155 additions and 21 deletions

View File

@@ -191,7 +191,7 @@ struct gdbarch_tdep
enum struct_return struct_return;
/* Cached core file helpers. */
struct regset *gregset, *fpregset;
struct regset *gregset, *fpregset, *vfpregset;
/* ISA-specific data types. */
struct type *arm_ext_type;
@@ -339,4 +339,11 @@ extern const struct regset *
armbsd_regset_from_core_section (struct gdbarch *gdbarch,
const char *sect_name, size_t sect_size);
/* Target descriptions. */
extern struct target_desc *tdesc_arm_with_m;
extern struct target_desc *tdesc_arm_with_iwmmxt;
extern struct target_desc *tdesc_arm_with_vfpv2;
extern struct target_desc *tdesc_arm_with_vfpv3;
extern struct target_desc *tdesc_arm_with_neon;
#endif /* arm-tdep.h */