aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-01-18 00:01:32 +0000
committerAndrew Cagney <cagney@redhat.com>2004-01-18 00:01:32 +0000
commitfcacc9c2829eca388a8c7317e5fb2f5c52088213 (patch)
treea16f8c7645a64e5854defdf018d6aed90ac14f17
parent8ff619bcadd6deb26f46279eafcea5f2aa4ba653 (diff)
downloadgdb-fcacc9c2829eca388a8c7317e5fb2f5c52088213.zip
gdb-fcacc9c2829eca388a8c7317e5fb2f5c52088213.tar.gz
gdb-fcacc9c2829eca388a8c7317e5fb2f5c52088213.tar.bz2
2004-01-17 Andrew Cagney <cagney@redhat.com>
* cris-tdep.c (cris_store_struct_return): Put back accidently deleted function.
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/cris-tdep.c11
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7a3c165..e0e0f0d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2004-01-17 Andrew Cagney <cagney@redhat.com>
+ * cris-tdep.c (cris_store_struct_return): Put back accidently
+ deleted function.
+
* gdbarch.sh: Update copyright year.
* gdbarch.h, gdbarch.c: Re-generate.
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index fe8b972..6ef3b05 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. */