aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-03-17 18:27:07 +0000
committerAndrew Cagney <cagney@redhat.com>2003-03-17 18:27:07 +0000
commit0a61325988c3bd0138ce4db2094f674bf500a4b4 (patch)
tree37c0c3ac01659854ed7512b7780d2a987ff80f3d /gdb/rs6000-tdep.c
parentf77ed96c7bc56ceff1efa81a78fc9a02006e844f (diff)
downloadgdb-0a61325988c3bd0138ce4db2094f674bf500a4b4.zip
gdb-0a61325988c3bd0138ce4db2094f674bf500a4b4.tar.gz
gdb-0a61325988c3bd0138ce4db2094f674bf500a4b4.tar.bz2
2003-03-17 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (ppc_floating_point_unit_p): New function. * ppc-tdep.h (ppc_floating_point_unit_p): Declare. From Elena Zannoni <ezannoni@redhat.com> * ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Handle e500 vector and floating-point parameters. (ppc_sysv_abi_use_struct_convention): Handle e500 struct return convention. (ppc_sysv_abi_broken_use_struct_convention): Ditto.
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r--gdb/rs6000-tdep.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 46733a3..6d95aaf 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -137,6 +137,18 @@ altivec_register_p (int regno)
return (regno >= tdep->ppc_vr0_regnum && regno <= tdep->ppc_vrsave_regnum);
}
+/* Use the architectures FP registers? */
+int
+ppc_floating_point_unit_p (struct gdbarch *gdbarch)
+{
+ const struct bfd_arch_info *info = gdbarch_bfd_arch_info (gdbarch);
+ if (info->arch == bfd_arch_powerpc)
+ return (info->mach != bfd_mach_ppc_e500);
+ if (info->arch == bfd_arch_rs6000)
+ return 1;
+ return 0;
+}
+
/* Read a LEN-byte address from debugged memory address MEMADDR. */
static CORE_ADDR