diff options
author | Richard Earnshaw <richard.earnshaw@arm.com> | 2003-03-22 20:39:21 +0000 |
---|---|---|
committer | Richard Earnshaw <richard.earnshaw@arm.com> | 2003-03-22 20:39:21 +0000 |
commit | 488358d5a967d43859d1d4b55d274798f0fb850c (patch) | |
tree | 768e8cd9346496b807e4d0aa6c762fccd528a14b /gdb/arm-tdep.h | |
parent | cdec3ced71f533d7e8fa1aa6bc37aacf074614a7 (diff) | |
download | gdb-488358d5a967d43859d1d4b55d274798f0fb850c.tar.gz |
* arm-tdep.h (arm_float_model): Add AUTO and LAST values.
(arm_get_fp_model): Declare.
* arm-tdep.c (fp_model_strings): New string array.
(arm_fp_model, current_fp_model): New variables.
(arm_get_fp_model): New function.
(arm_set_fp): New function.
(set_fp_model_sfunc): New function.
(show_fp_model): New function.
(_initialize_arm_tdep): Add new command to set/show the FPU.
(arm_extract_return_value): Use arm_get_fp_model.
(arm_store_return_value): Likewise.
(arm_gdbarch_init): Default fpa model is softfpa. Call arm_set_fp
to initialize the floating-point data types.
* arm-linux-tdep.c (arm_linux_init_abi): The default floating point
model is FPA.
Diffstat (limited to 'gdb/arm-tdep.h')
-rw-r--r-- | gdb/arm-tdep.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index b8c4711838e..26f3a83a973 100644 --- a/gdb/arm-tdep.h +++ b/gdb/arm-tdep.h @@ -109,16 +109,24 @@ enum gdb_regnum { only generate 2 of those. The third is APCS_FLOAT, where arguments to functions are passed in floating-point registers. - In addition to the traditional models, VFP adds two more. */ + In addition to the traditional models, VFP adds two more. + + If you update this enum, don't forget to update fp_model_strings in + arm-tdep.c. */ enum arm_float_model { - ARM_FLOAT_SOFT, - ARM_FLOAT_FPA, - ARM_FLOAT_SOFT_VFP, - ARM_FLOAT_VFP + ARM_FLOAT_AUTO, /* Automatic detection. Do not set in tdep. */ + ARM_FLOAT_SOFT_FPA, /* Traditional soft-float (mixed-endian on LE ARM). */ + ARM_FLOAT_FPA, /* FPA co-processor. GCC calling convention. */ + ARM_FLOAT_SOFT_VFP, /* Soft-float with pure-endian doubles. */ + ARM_FLOAT_VFP, /* Full VFP calling convention. */ + 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 *); + /* Target-dependent structure in gdbarch. */ struct gdbarch_tdep { |