[committed] MIPS: Remove remains of IRIX OS ABI support

Maciej W. Rozycki macro@imgtec.com
Mon Oct 31 16:22:00 GMT 2016


Complement commit 3831839c089c ("Delete IRIX support") and remove dead 
MIPS target IRIX OS ABI support code.

	gdb/
	* defs.h (gdb_osabi): Remove GDB_OSABI_IRIX enum value.
	* osabi.c (gdb_osabi_names): Remove "Irix" entry.
	* mips-tdep.c (mips_irix_reg_names): Remove.
	(mips_register_type): Remove GDB_OSABI_IRIX code.
	(mips_pseudo_register_type): Likewise.
	(mips_breakpoint_from_pc): Likewise.
	(mips_gdbarch_init): Likewise.
---
 Regression-tested with the `mips-mti-linux-gnu' target, o32 & n64 ABIs.
Committed.

 NB we still have dead IRIX support remains throughout generic parts of 
our code base, including DWARF and procfs support in particular, which 
will be somewhat trickier to clean up.  I'm not going to dive into it, not 
at least right now.  I'll post an easy clean-up though for review.

  Maciej

gdb-mips-irix-osabi-remove.diff
Index: binutils/gdb/defs.h
===================================================================
--- binutils.orig/gdb/defs.h	2016-10-28 15:05:42.000000000 +0100
+++ binutils/gdb/defs.h	2016-10-28 20:21:38.531549850 +0100
@@ -595,7 +595,6 @@ enum gdb_osabi
   GDB_OSABI_OPENBSD_ELF,
   GDB_OSABI_WINCE,
   GDB_OSABI_GO32,
-  GDB_OSABI_IRIX,
   GDB_OSABI_HPUX_ELF,
   GDB_OSABI_HPUX_SOM,
   GDB_OSABI_QNXNTO,
Index: binutils/gdb/mips-tdep.c
===================================================================
--- binutils.orig/gdb/mips-tdep.c	2016-10-28 20:20:56.000000000 +0100
+++ binutils/gdb/mips-tdep.c	2016-10-28 20:23:31.772028998 +0100
@@ -586,15 +586,6 @@ static const char *mips_tx39_reg_names[N
   "", "", "config", "cache", "debug", "depc", "epc",
 };
 
-/* Names of IRIX registers.  */
-static const char *mips_irix_reg_names[NUM_MIPS_PROCESSOR_REGS] = {
-  "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
-  "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
-  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
-  "pc", "cause", "bad", "hi", "lo", "fsr", "fir"
-};
-
 /* Names of registers with Linux kernels.  */
 static const char *mips_linux_reg_names[NUM_MIPS_PROCESSOR_REGS] = {
   "sr", "lo", "hi", "bad", "cause", "pc",
@@ -1033,8 +1024,7 @@ mips_register_type (struct gdbarch *gdba
       if (rawnum == mips_regnum (gdbarch)->fp_control_status
 	  || rawnum == mips_regnum (gdbarch)->fp_implementation_revision)
 	return builtin_type (gdbarch)->builtin_int32;
-      else if (gdbarch_osabi (gdbarch) != GDB_OSABI_IRIX
-	       && gdbarch_osabi (gdbarch) != GDB_OSABI_LINUX
+      else if (gdbarch_osabi (gdbarch) != GDB_OSABI_LINUX
 	       && rawnum >= MIPS_FIRST_EMBED_REGNUM
 	       && rawnum <= MIPS_LAST_EMBED_REGNUM)
 	/* The pseudo/cooked view of the embedded registers is always
@@ -1116,8 +1106,7 @@ mips_pseudo_register_type (struct gdbarc
      the necessary 32 bits, but older versions of GDB expected 64,
      so allow the target to provide 64 bits without interfering
      with the displayed type.  */
-  if (gdbarch_osabi (gdbarch) != GDB_OSABI_IRIX
-      && gdbarch_osabi (gdbarch) != GDB_OSABI_LINUX
+  if (gdbarch_osabi (gdbarch) != GDB_OSABI_LINUX
       && rawnum >= MIPS_FIRST_EMBED_REGNUM
       && rawnum <= MIPS_LAST_EMBED_REGNUM)
     return builtin_type (gdbarch)->builtin_int32;
@@ -7087,9 +7076,6 @@ mips_breakpoint_from_pc (struct gdbarch 
 	  static gdb_byte big_breakpoint[] = { 0, 0x5, 0, 0xd };
 	  static gdb_byte pmon_big_breakpoint[] = { 0, 0, 0, 0xd };
 	  static gdb_byte idt_big_breakpoint[] = { 0, 0, 0x0a, 0xd };
-	  /* Likewise, IRIX appears to expect a different breakpoint,
-	     although this is not apparent until you try to use pthreads.  */
-	  static gdb_byte irix_big_breakpoint[] = { 0, 0, 0, 0xd };
 
 	  *lenptr = sizeof (big_breakpoint);
 
@@ -7099,8 +7085,6 @@ mips_breakpoint_from_pc (struct gdbarch 
 		   || strcmp (target_shortname, "pmon") == 0
 		   || strcmp (target_shortname, "lsi") == 0)
 	    return pmon_big_breakpoint;
-	  else if (gdbarch_osabi (gdbarch) == GDB_OSABI_IRIX)
-	    return irix_big_breakpoint;
 	  else
 	    return big_breakpoint;
 	}
@@ -8158,22 +8142,7 @@ mips_gdbarch_init (struct gdbarch_info i
   int dspctl;
 
   /* Fill in the OS dependent register numbers and names.  */
-  if (info.osabi == GDB_OSABI_IRIX)
-    {
-      mips_regnum.fp0 = 32;
-      mips_regnum.pc = 64;
-      mips_regnum.cause = 65;
-      mips_regnum.badvaddr = 66;
-      mips_regnum.hi = 67;
-      mips_regnum.lo = 68;
-      mips_regnum.fp_control_status = 69;
-      mips_regnum.fp_implementation_revision = 70;
-      mips_regnum.dspacc = dspacc = -1;
-      mips_regnum.dspctl = dspctl = -1;
-      num_regs = 71;
-      reg_names = mips_irix_reg_names;
-    }
-  else if (info.osabi == GDB_OSABI_LINUX)
+  if (info.osabi == GDB_OSABI_LINUX)
     {
       mips_regnum.fp0 = 38;
       mips_regnum.pc = 37;
Index: binutils/gdb/osabi.c
===================================================================
--- binutils.orig/gdb/osabi.c	2016-09-29 05:14:53.000000000 +0100
+++ binutils/gdb/osabi.c	2016-10-28 20:30:08.837162550 +0100
@@ -71,7 +71,6 @@ static const struct osabi_names gdb_osab
   { "OpenBSD/ELF", NULL },
   { "WindowsCE", NULL },
   { "DJGPP", NULL },
-  { "Irix", NULL },
   { "HP-UX/ELF", NULL },
   { "HP-UX/SOM", NULL },
   { "QNX-Neutrino", NULL },



More information about the Gdb-patches mailing list