summaryrefslogtreecommitdiff
path: root/gdb/ppc-linux-tdep.c
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2002-03-22 21:58:16 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2002-03-22 21:58:16 +0000
commit90ca5d7153adfb21eccb57b0c2bc7460568be3b9 (patch)
treea590a23ebbb8237266d5dc842f9b7f1e66971853 /gdb/ppc-linux-tdep.c
parent83e117223034ca116e8f02a23145eb4bedbdd225 (diff)
downloadgdb-90ca5d7153adfb21eccb57b0c2bc7460568be3b9.tar.gz
2002-03-22 Elena Zannoni <ezannoni@redhat.com>
* ppc-linux-tdep.c (ppc_sysv_abi_use_struct_convention): New function. * ppc-tdep.h (ppc_sysv_abi_use_struct_convention): Export. * rs6000-tdep.c (rs6000_gdbarch_init): Use different structure returning convention for SYSV ABI case, but not for GNU/Linux, FreeBSD, or NetBSD.
Diffstat (limited to 'gdb/ppc-linux-tdep.c')
-rw-r--r--gdb/ppc-linux-tdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index b12cffd5971..7e0a70a33d0 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -414,6 +414,14 @@ ppc_linux_frame_chain (struct frame_info *thisframe)
it may be used generically by ports which use either the SysV ABI or
the EABI */
+/* Structures 8 bytes or less long are returned in the r3 & r4
+ registers, according to the SYSV ABI. */
+int
+ppc_sysv_abi_use_struct_convention (int gcc_p, struct type *value_type)
+{
+ return (TYPE_LENGTH (value_type) > 8);
+}
+
/* round2 rounds x up to the nearest multiple of s assuming that s is a
power of 2 */