[PATCH] allow gdb to access altivec registers

Paul Gilliam
2005-10-17T20:31:53Z

In rs6000-tdep.c (rs6000_gdbarch_init), bfd_mach_ppc64 is assumed to NOT have
altivec registers.

This patch makes it assume that it does. This works for machines with the
IBM PowerPC 970 chip, an IBM JS-20 or Apple G5 for example.

If the bfd_mach_ppc64 should happen to NOT have an altivec unit, the ptrace
to get the vector registers will fail the first time it's called and it will
never be called again.

Here's the patch:

2005-10-17 Paul Gilliam <pgilliam@us.ibm.com>

* rs6000-tdep.c (rs6000_gdbarch_init): Assume that bfd_mach_ppc64 has
altivec unit, just like bfd_mach_ppc.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.246
diff -a -u -p -r1.246 rs6000-tdep.c
--- rs6000-tdep.c 14 Oct 2005 20:17:11 -0000 1.246
+++ rs6000-tdep.c 17 Oct 2005 20:16:51 -0000
@@ -3240,6 +3240,7 @@ rs6000_gdbarch_init (struct gdbarch_info
switch (v->mach)
{
case bfd_mach_ppc:
+ case bfd_mach_ppc64:
tdep->ppc_sr0_regnum = -1;
tdep->ppc_vr0_regnum = 71;
tdep->ppc_vrsave_regnum = 104;
@@ -3263,7 +3264,6 @@ rs6000_gdbarch_init (struct gdbarch_info
set_gdbarch_register_reggroup_p (gdbarch, e500_register_reggroup_p);
break;

- case bfd_mach_ppc64:
case bfd_mach_ppc_620:
case bfd_mach_ppc_630:
case bfd_mach_ppc_a35: