summaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2005-04-14 18:40:26 +0000
committerDaniel Jacobowitz <dan@debian.org>2005-04-14 18:40:26 +0000
commit699d13ebb548bb0283276f819b4872de75c439e5 (patch)
treefad0111947755b22c1cfe28093318c3e173b408e /gdb/arm-tdep.h
parentbf16f6aa7bf606ce077a8633ad8e3b4000bb5ce0 (diff)
downloadgdb-699d13ebb548bb0283276f819b4872de75c439e5.tar.gz
* arm-tdep.c (fp_model_strings): Add terminating NULL.
(arm_abi_strings, arm_abi_global, arm_abi_string): New variables. (arm_extract_return_value, arm_store_return_value): Don't use arm_get_fp_model. (arm_get_fp_model, arm_set_fp): Delete. (arm_update_current_architecture): New function. (set_fp_model_sfunc): Call arm_update_current_architecture. (show_fp_model): Update output messages. (arm_set_abi, arm_show_abi): New functions. (arm_elf_osabi_sniffer): Only handle ELFOSABI_ARM. (arm_gdbarch_init): Infer the object's ABI separately from its OSABI. Search for a matching architecture. Honor the global ABI and FPU settings. Set floating point format based on the architecture. (arm_init_abi_eabi_v1, arm_init_abi_eabi_v2, arm_init_abi_apcs): Delete. (_initialize_arm_tdep): Don't call gdbarch_register_osabi. Create "arm set abi" command. * arm-tdep.h (arm_get_fp_model): Delete prototype. (enum arm_abi_kind): New type. (struct gdbarch_tdep): Add arm_abi field. * arm-linux-tdep.c (arm_linux_init_abi): Only override tdep->fp_model if it is ARM_FLOAT_AUTO. * armnbsd-tdep.c (arm_netbsd_aout_init_abi): Likewise. (arm_netbsd_elf_init_abi): Likewise. * defs.h (enum gdb_osabi): Delete ARM-specific OSABIs. * osabi.c (gdb_osabi_name): Likewise.
Diffstat (limited to 'gdb/arm-tdep.h')
-rw-r--r--gdb/arm-tdep.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index bb30455a314..5217ff6a3dd 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -113,12 +113,22 @@ enum arm_float_model
ARM_FLOAT_LAST /* Keep at end. */
};
-/* A method to the setting based on user's choice and ABI setting. */
-enum arm_float_model arm_get_fp_model (struct gdbarch *);
+/* ABI used by the inferior. */
+enum arm_abi_kind
+{
+ ARM_ABI_AUTO,
+ ARM_ABI_APCS,
+ ARM_ABI_AAPCS,
+ ARM_ABI_LAST
+};
/* Target-dependent structure in gdbarch. */
struct gdbarch_tdep
{
+ /* The ABI for this architecture. It should never be set to
+ ARM_ABI_AUTO. */
+ enum arm_abi_kind arm_abi;
+
enum arm_float_model fp_model; /* Floating point calling conventions. */
CORE_ADDR lowest_pc; /* Lowest address at which instructions