aboutsummaryrefslogtreecommitdiff
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
commit8e0662df17dab97387ecb39e95fe0eeab4fcd9e1 (patch)
treef436adb688657daeba0702c296c79ce026809bf1 /gdb/ppc-linux-tdep.c
parent3121eff097e886c1c47a75abffe574d51adc3958 (diff)
downloadgdb-8e0662df17dab97387ecb39e95fe0eeab4fcd9e1.zip
gdb-8e0662df17dab97387ecb39e95fe0eeab4fcd9e1.tar.gz
gdb-8e0662df17dab97387ecb39e95fe0eeab4fcd9e1.tar.bz2
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 b12cffd..7e0a70a 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 */