diff options
author | Mark Kettenis <kettenis@gnu.org> | 2006-08-01 18:27:52 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2006-08-01 18:27:52 +0000 |
commit | 7c00367c289eb2225a05146845d3b5b445e1a302 (patch) | |
tree | 7be53b7077fde739b71da66d934abe5fef49d809 /gdb/arm-tdep.h | |
parent | cfde7f7078be39a3f4c99536a0ec1eb34ed04d17 (diff) | |
download | binutils-gdb-7c00367c289eb2225a05146845d3b5b445e1a302.tar.gz |
* 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.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index f6dc6356f58..7b369d5fb90 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 |