diff options
author | Daniel Jacobowitz <drow@false.org> | 2005-04-14 18:40:26 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2005-04-14 18:40:26 +0000 |
commit | 28e97307c863a9285018e912c2e735f1c0e168ee (patch) | |
tree | 5412abf9ec588f9202bbbe34f21433d4bb13d5e5 /gdb/arm-tdep.h | |
parent | 26eebcf553d70d50be6c7505e80df35651863aa3 (diff) | |
download | gdb-28e97307c863a9285018e912c2e735f1c0e168ee.zip gdb-28e97307c863a9285018e912c2e735f1c0e168ee.tar.gz gdb-28e97307c863a9285018e912c2e735f1c0e168ee.tar.bz2 |
* 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.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index bb30455..5217ff6 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 |