diff options
author | Vladimir Prus <vladimir@codesourcery.com> | 2007-06-15 20:19:17 +0000 |
---|---|---|
committer | Vladimir Prus <vladimir@codesourcery.com> | 2007-06-15 20:19:17 +0000 |
commit | 8ed86d01ca8b14c14f37429df136130158066f8a (patch) | |
tree | a3231e56da4ff518ccdf29560df00bcc783ede04 /gdb/m68k-tdep.h | |
parent | 83cc5c53e52677b0b951844c49ef1b2c94999809 (diff) | |
download | gdb-8ed86d01ca8b14c14f37429df136130158066f8a.zip gdb-8ed86d01ca8b14c14f37429df136130158066f8a.tar.gz gdb-8ed86d01ca8b14c14f37429df136130158066f8a.tar.bz2 |
* m68k-tdep.h (enum m68k_flavour): New.
(struct gdbarch_tdep): New fields
float_return, flavour and fpregs_present.
* m68k-tdep.c (m68k_register_type): Use
fpregs_present and conditionalize floating
registers type on flavour.
(m68k_register_names): New.
(m68k_register_name): Use the above.
(m68k_convert_register_p): Consult fpregs_present.
(m68k_register_to_value, m68k_value_to_register):
Use register_type to obtain the type of floating
point registers.
(m68k_svr4_extract_return_value): Check tdep->float_return.
Use register_type to get the type of floating
point regiters.
(m68k_svr4_store_return_value): Likewise.
(m68k_dwarf_reg_to_regnum): Check tdep->fpregs_present.
(m68k_analyze_register_saves): Likewise.
(m68k_gdbarch_init): Extract infromation
from XML description, if present. Guess coldfire by
looking at the file, if present. Conditionalize
setting of long double format. Set decr_pc_after_break
to 2 on coldfire and fido. Enable XML-driven
register description.
* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Use
size of tdep->fpreg_type, as opposed to hardcoded value.
* Makefile.in (m68k-tdep.o): Update dependencies.
Diffstat (limited to 'gdb/m68k-tdep.h')
-rw-r--r-- | gdb/m68k-tdep.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/m68k-tdep.h b/gdb/m68k-tdep.h index 200ddaf..584a870 100644 --- a/gdb/m68k-tdep.h +++ b/gdb/m68k-tdep.h @@ -60,6 +60,14 @@ enum struct_return reg_struct_return /* Return "short" structures in registers. */ }; +/* Particular flavour of m68k. */ +enum m68k_flavour + { + m68k_no_flavour, + m68k_coldfire_flavour, + m68k_fido_flavour + }; + /* Target-dependent structure in gdbarch. */ struct gdbarch_tdep @@ -76,6 +84,16 @@ struct gdbarch_tdep /* Convention for returning structures. */ enum struct_return struct_return; + + /* Convention for returning floats. zero in int regs, non-zero in float. */ + int float_return; + + /* The particular flavour of m68k. */ + enum m68k_flavour flavour; + + /* Flag set if the floating point registers are present, or assumed + to be present. */ + int fpregs_present; }; /* Initialize a SVR4 architecture variant. */ |