summaryrefslogtreecommitdiff
path: root/gdb/cris-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/cris-tdep.c')
-rw-r--r--gdb/cris-tdep.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index fe8b9726972..6ef3b05c270 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -1076,6 +1076,17 @@ cris_abi_v2_extract_return_value (struct type *type, char *regbuf,
internal_error (__FILE__, __LINE__, "cris_abi_v2_extract_return_value: type length too large");
}
+/* Store the address of the place in which to copy the structure the
+ subroutine will return. In the CRIS ABI, R9 is used in order to
+ pass the address of the allocated area where a structure return
+ value must be stored. */
+
+static void
+cris_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
+{
+ write_register (STR_REGNUM, addr);
+}
+
/* Returns 1 if the given type will be passed by pointer rather than
directly. */