aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2006-08-01 18:27:52 +0000
committerMark Kettenis <kettenis@gnu.org>2006-08-01 18:27:52 +0000
commit7c00367c289eb2225a05146845d3b5b445e1a302 (patch)
tree7be53b7077fde739b71da66d934abe5fef49d809 /gdb/arm-tdep.h
parentcfde7f7078be39a3f4c99536a0ec1eb34ed04d17 (diff)
downloadgdb-7c00367c289eb2225a05146845d3b5b445e1a302.zip
gdb-7c00367c289eb2225a05146845d3b5b445e1a302.tar.gz
gdb-7c00367c289eb2225a05146845d3b5b445e1a302.tar.bz2
* arm-tdep.h (enum struct_return): New.
(struct gdbarch_tdep): Add struct_return member. * arm-tdep.c (arm_return_value): Return RETURN_VALUE_STRUCT_CONVENTION for aggregates when the ABI uses pcc_struct_return. (arm_gdbarch_init): Default to reg_struct_return. * armobsd-tdep.c (armobsd_init_abi): Set pcc_struct_return.
Diffstat (limited to 'gdb/arm-tdep.h')
-rw-r--r--gdb/arm-tdep.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index f6dc635..7b369d5 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -125,6 +125,14 @@ enum arm_abi_kind
ARM_ABI_LAST
};
+/* Convention for returning structures. */
+
+enum struct_return
+{
+ pcc_struct_return, /* Return "short" structures in memory. */
+ reg_struct_return /* Return "short" structures in registers. */
+};
+
/* Target-dependent structure in gdbarch. */
struct gdbarch_tdep
{
@@ -147,10 +155,15 @@ struct gdbarch_tdep
will be disabled. */
size_t jb_elt_size; /* And the size of each entry in the buf. */
+ /* Convention for returning structures. */
+ enum struct_return struct_return;
+
/* Cached core file helpers. */
struct regset *gregset, *fpregset;
};
+
+
#ifndef LOWEST_PC
#define LOWEST_PC (gdbarch_tdep (current_gdbarch)->lowest_pc)
#endif