From ef7e8358eca92b73e6f8df63ea5320809328d470 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Wed, 15 Jun 2011 16:39:28 +0000 Subject: * 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. --- gdb/arm-linux-nat.c | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'gdb/arm-linux-nat.c') diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c index 43f4fde..f64c37c 100644 --- a/gdb/arm-linux-nat.c +++ b/gdb/arm-linux-nat.c @@ -44,11 +44,6 @@ /* Defines ps_err_e, struct ps_prochandle. */ #include "gdb_proc_service.h" -#include "features/arm-with-iwmmxt.c" -#include "features/arm-with-vfpv2.c" -#include "features/arm-with-vfpv3.c" -#include "features/arm-with-neon.c" - #ifndef PTRACE_GET_THREAD_AREA #define PTRACE_GET_THREAD_AREA 22 #endif @@ -68,13 +63,6 @@ #define PTRACE_SETHBPREGS 30 #endif -/* These are in in current kernels. */ -#define HWCAP_VFP 64 -#define HWCAP_IWMMXT 512 -#define HWCAP_NEON 4096 -#define HWCAP_VFPv3 8192 -#define HWCAP_VFPv3D16 16384 - /* A flag for whether the WMMX registers are available. */ static int arm_linux_has_wmmx_registers; @@ -696,8 +684,6 @@ arm_linux_read_description (struct target_ops *ops) if (arm_hwcap & HWCAP_IWMMXT) { arm_linux_has_wmmx_registers = 1; - if (tdesc_arm_with_iwmmxt == NULL) - initialize_tdesc_arm_with_iwmmxt (); return tdesc_arm_with_iwmmxt; } @@ -712,22 +698,16 @@ arm_linux_read_description (struct target_ops *ops) if (arm_hwcap & HWCAP_NEON) { arm_linux_vfp_register_count = 32; - if (tdesc_arm_with_neon == NULL) - initialize_tdesc_arm_with_neon (); result = tdesc_arm_with_neon; } else if ((arm_hwcap & (HWCAP_VFPv3 | HWCAP_VFPv3D16)) == HWCAP_VFPv3) { arm_linux_vfp_register_count = 32; - if (tdesc_arm_with_vfpv3 == NULL) - initialize_tdesc_arm_with_vfpv3 (); result = tdesc_arm_with_vfpv3; } else { arm_linux_vfp_register_count = 16; - if (tdesc_arm_with_vfpv2 == NULL) - initialize_tdesc_arm_with_vfpv2 (); result = tdesc_arm_with_vfpv2; } -- cgit v1.1