This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH] rs6000-tdep.c: Undelete altivec_register_p()
- From: Kevin Buettner <kevinb at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: Elena Zannoni <ezannoni at redhat dot com>
- Date: Mon, 26 Aug 2002 16:29:37 -0700
- Subject: [PATCH] rs6000-tdep.c: Undelete altivec_register_p()
I've just committed the patch below. It fixes gdb/667. Thanks to Adam
Fedor for reporting this problem.
I considered moving altivec_register_p() into ppc-linux-nat.c, but it
seems likely that this function will be useful in other files as other
native ports are made altivec aware. Thus, it makes more sense to leave
it in rs6000-tdep.c.
* rs6000-tdep.c (altivec_register_p): Restore function inadvertently
deleted in 2002-08-20 commit. This function is still used by
ppc-linux-nat.c.
Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.80
diff -u -p -r1.80 rs6000-tdep.c
--- rs6000-tdep.c 25 Aug 2002 15:18:41 -0000 1.80
+++ rs6000-tdep.c 26 Aug 2002 23:16:25 -0000
@@ -123,6 +123,17 @@ static void frame_get_saved_regs (struct
struct rs6000_framedata * fdatap);
static CORE_ADDR frame_initial_stack_address (struct frame_info *);
+/* Is REGNO an AltiVec register? Return 1 if so, 0 otherwise. */
+int
+altivec_register_p (int regno)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
+ if (tdep->ppc_vr0_regnum < 0 || tdep->ppc_vrsave_regnum < 0)
+ return 0;
+ else
+ return (regno >= tdep->ppc_vr0_regnum && regno <= tdep->ppc_vrsave_regnum);
+}
+
/* Read a LEN-byte address from debugged memory address MEMADDR. */
static CORE_ADDR