This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch, nios2] fix type of "fp" and other registers


I noticed that the test "gdb.base/pc-fp.exp: info register pc fp" was failing on Nios II targets because fp prints in decimal format while the test is expecting hex. The attached patch fixes that by giving register "fp" type "data_ptr" rather than "uint32". While I was at it, I've made similar corrections to "gp", "ea", and "ra" (respectively, the global pointer, exception address, and return address registers).

OK for mainline?

-Sandra

2014-03-25  Sandra Loosemore  <sandra@codesourcery.com>

	gdb/
	* features/nios2-cpu.xml: Correct types of "gp", "fp", "ea", and
	"ra" registers.
	* features/nios2-linux.c: Regenerated.
	* features/nios2.c: Regenerated.
diff --git a/gdb/features/nios2-cpu.xml b/gdb/features/nios2-cpu.xml
index 7f0d449..8fb5246 100644
--- a/gdb/features/nios2-cpu.xml
+++ b/gdb/features/nios2-cpu.xml
@@ -33,12 +33,12 @@
   <reg name="r23" bitsize="32" type="uint32"/>
   <reg name="et" bitsize="32" type="uint32"/>
   <reg name="bt" bitsize="32" type="uint32"/>
-  <reg name="gp" bitsize="32" type="uint32"/>
+  <reg name="gp" bitsize="32" type="data_ptr"/>
   <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="fp" bitsize="32" type="uint32"/>
-  <reg name="ea" bitsize="32" type="uint32"/>
+  <reg name="fp" bitsize="32" type="data_ptr"/>
+  <reg name="ea" bitsize="32" type="code_ptr"/>
   <reg name="sstatus" bitsize="32" type="uint32"/>
-  <reg name="ra" bitsize="32" type="uint32"/>
+  <reg name="ra" bitsize="32" type="code_ptr"/>
   <reg name="pc" bitsize="32" type="code_ptr"/>
   <reg name="status" bitsize="32" type="uint32"/>
   <reg name="estatus" bitsize="32" type="uint32"/>
diff --git a/gdb/features/nios2-linux.c b/gdb/features/nios2-linux.c
index ea61cf8..3288f79 100644
--- a/gdb/features/nios2-linux.c
+++ b/gdb/features/nios2-linux.c
@@ -43,12 +43,12 @@ initialize_tdesc_nios2_linux (void)
   tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "et", 24, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "bt", 25, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "gp", 26, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "gp", 26, 1, NULL, 32, "data_ptr");
   tdesc_create_reg (feature, "sp", 27, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "fp", 28, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "ea", 29, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "fp", 28, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "ea", 29, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "sstatus", 30, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "ra", 31, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "ra", 31, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "pc", 32, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "status", 33, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "estatus", 34, 1, NULL, 32, "uint32");
diff --git a/gdb/features/nios2.c b/gdb/features/nios2.c
index 8e0049d..0cedc12 100644
--- a/gdb/features/nios2.c
+++ b/gdb/features/nios2.c
@@ -41,12 +41,12 @@ initialize_tdesc_nios2 (void)
   tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "et", 24, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "bt", 25, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "gp", 26, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "gp", 26, 1, NULL, 32, "data_ptr");
   tdesc_create_reg (feature, "sp", 27, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "fp", 28, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "ea", 29, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "fp", 28, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "ea", 29, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "sstatus", 30, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "ra", 31, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "ra", 31, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "pc", 32, 1, NULL, 32, "code_ptr");
   tdesc_create_reg (feature, "status", 33, 1, NULL, 32, "uint32");
   tdesc_create_reg (feature, "estatus", 34, 1, NULL, 32, "uint32");

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]