[PATCH] allow gdb to access altivec registers - OK to commit?

Paul Gilliam
2005-10-31T21:54:34Z

I revised the ChangeLog entry to note that this change affects GNU/Linux only.

OK to commit? (was the previous posting by Kevin an OK to commit?)

-=# Paul #=-

PS: I realy want this to go int 6.4!

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

* rs6000-tdep.c (rs6000_gdbarch_init): On GNU/Linux only, 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 21 Oct 2005 22:44:15 -0000
@@ -3376,10 +3376,21 @@ rs6000_gdbarch_init (struct gdbarch_info

switch (info.osabi)
{
+ case GDB_OSABI_LINUX:
+ /* FIXME: pgilliam/2005-10-21: Assume all PowerPC 64-bit linux systems
+ have altivec registers. If not, ptrace will fail the first time it's
+ called to access one and will not be called again. This wart will
+ be removed when Daniel Jacobowitz's proposal for autodetecting target
+ registers is implimented. */
+ if ((v->arch == bfd_arch_powerpc) && ((v->mach)== bfd_mach_ppc64))
+ {
+ tdep->ppc_vr0_regnum = 71;
+ tdep->ppc_vrsave_regnum = 104;
+ }
+ /* Fall Thru */
case GDB_OSABI_NETBSD_AOUT:
case GDB_OSABI_NETBSD_ELF:
case GDB_OSABI_UNKNOWN:
- case GDB_OSABI_LINUX:
set_gdbarch_unwind_pc (gdbarch, rs6000_unwind_pc);
frame_unwind_append_sniffer (gdbarch, rs6000_frame_sniffer);
set_gdbarch_unwind_dummy_id (gdbarch, rs6000_unwind_dummy_id);