* 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.
This commit is contained in:
Mark Kettenis
2006-08-01 18:27:52 +00:00
parent cfde7f7078
commit 7c00367c28
4 changed files with 34 additions and 1 deletions

View File

@@ -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