summaryrefslogtreecommitdiff
path: root/gdb/m68k-tdep.h
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2007-06-15 20:19:17 +0000
committerVladimir Prus <vladimir@codesourcery.com>2007-06-15 20:19:17 +0000
commit1c55bf2e873b8ac371e144092c3b8734947fa8a4 (patch)
treeac493d4a1eb532cdac24eb3f1509d5a572c8ec27 /gdb/m68k-tdep.h
parent109084777fe53b2468c4ee1f43fbc20ba95ff950 (diff)
downloadgdb-1c55bf2e873b8ac371e144092c3b8734947fa8a4.tar.gz
* 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.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/m68k-tdep.h b/gdb/m68k-tdep.h
index 200ddafb028..584a8708f64 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. */