Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFA: PowerPC: add segment register numbers
@ 2004-07-12 22:10 Jim Blandy
  2004-07-13  0:01 ` Kevin Buettner
  0 siblings, 1 reply; 8+ messages in thread
From: Jim Blandy @ 2004-07-12 22:10 UTC (permalink / raw)
  To: gdb-patches


2004-07-12  Jim Blandy  <jimb@redhat.com>

	* ppc-tdep.h (struct gdbarch_tdep): New member: ppc_sr0_regnum.
	* rs6000-tdep.c (rs6000_gdbarch_init): Initialize it.

diff -crp -x '*~' -x '.#*' -x CVS src.01/gdb/ppc-tdep.h src.02/gdb/ppc-tdep.h
*** gdb/ppc-tdep.h	2004-07-12 16:56:48.000000000 -0500
--- gdb/ppc-tdep.h	2004-07-12 17:00:45.000000000 -0500
*************** struct gdbarch_tdep
*** 158,163 ****
--- 158,167 ----
      int ppc_fpscr_regnum;	/* Floating point status and condition
      				   register */
  
+     int ppc_sr0_regnum;         /* segment register 0, or -1 on
+                                    variants that have no segment
+                                    registers.  */
+ 
      int ppc_mq_regnum;		/* Multiply/Divide extension register */
      int ppc_vr0_regnum;		/* First AltiVec register */
      int ppc_vrsave_regnum;	/* Last AltiVec register */
diff -crp -x '*~' -x '.#*' -x CVS src.01/gdb/rs6000-tdep.c src.02/gdb/rs6000-tdep.c
*** gdb/rs6000-tdep.c	2004-07-08 18:43:02.000000000 -0500
--- gdb/rs6000-tdep.c	2004-07-12 17:02:44.000000000 -0500
*************** rs6000_gdbarch_init (struct gdbarch_info
*** 2879,2884 ****
--- 2879,2885 ----
      tdep->ppc_mq_regnum = -1;
    tdep->ppc_fp0_regnum = 32;
    tdep->ppc_fpscr_regnum = power ? 71 : 70;
+   tdep->ppc_sr0_regnum = 71;
    tdep->ppc_vr0_regnum = -1;
    tdep->ppc_vrsave_regnum = -1;
    tdep->ppc_ev0_regnum = -1;
*************** rs6000_gdbarch_init (struct gdbarch_info
*** 2907,2913 ****
    else
      tdep->lr_frame_offset = 8;
  
!   if (v->arch == bfd_arch_powerpc)
      switch (v->mach)
        {
        case bfd_mach_ppc: 
--- 2908,2916 ----
    else
      tdep->lr_frame_offset = 8;
  
!   if (v->arch == bfd_arch_rs6000)
!     tdep->ppc_sr0_regnum = -1;
!   else if (v->arch == bfd_arch_powerpc)
      switch (v->mach)
        {
        case bfd_mach_ppc: 
*************** rs6000_gdbarch_init (struct gdbarch_info
*** 2931,2936 ****
--- 2934,2940 ----
  	tdep->ppc_ev31_regnum = 38;
          tdep->ppc_fp0_regnum = -1;
          tdep->ppc_fpscr_regnum = -1;
+         tdep->ppc_sr0_regnum = -1;
          tdep->ppc_acc_regnum = 39;
          tdep->ppc_spefscr_regnum = 40;
          set_gdbarch_pc_regnum (gdbarch, 0);
*************** rs6000_gdbarch_init (struct gdbarch_info
*** 2939,2945 ****
--- 2943,2961 ----
          set_gdbarch_pseudo_register_read (gdbarch, e500_pseudo_register_read);
          set_gdbarch_pseudo_register_write (gdbarch, e500_pseudo_register_write);
  	break;
+ 
+       case bfd_mach_ppc64:
+       case bfd_mach_ppc_620:
+       case bfd_mach_ppc_630:
+       case bfd_mach_ppc_a35:
+       case bfd_mach_ppc_rs64ii:
+       case bfd_mach_ppc_rs64iii:
+         /* These processor's register sets don't have segment registers.  */
+         tdep->ppc_sr0_regnum = -1;
+         break;
        }   
+   else
+     gdb_assert (0);
  
    /* Sanity check on registers.  */
    gdb_assert (strcmp (tdep->regs[tdep->ppc_gp0_regnum].name, "r0") == 0);


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-07-15  9:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-12 22:10 RFA: PowerPC: add segment register numbers Jim Blandy
2004-07-13  0:01 ` Kevin Buettner
2004-07-14 23:28   ` Jim Blandy
2004-07-15  0:22     ` Kevin Buettner
2004-07-15  9:08       ` Jim Blandy
2004-07-14 23:37   ` Jim Blandy
2004-07-15  0:23     ` Kevin Buettner
2004-07-15  8:48       ` Jim Blandy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox