This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.


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

patch for gdbserver/low-linux.c


This patch cleans up some of the machine dependence in low-linux.c slightly 
and adds ARM support.

1999-04-12  Philip Blundell  <philb@gnu.org>

	* config/arm/tm-arm.h (TARGET_ARM): Define.
	* config/i386/tm-i386.h (TARGET_I386): Define.
	* gdbserver/low-linux.c: Test for TARGET_I386 rather than assuming 
	that anything not M68K must be I386.
	(arm_register_u_addr): New function.

diff -u --recursive --new-file /home/phil/gdb/clean/gdb-4.17/gdb/config/arm/tm-arm.h gdb/config/arm/tm-arm.h
--- /home/phil/gdb/clean/gdb-4.17/gdb/config/arm/tm-arm.h	Sun Apr 11 21:56:59 1999
+++ gdb/config/arm/tm-arm.h	Sun Apr 11 19:12:27 1999
@@ -22,6 +22,8 @@
 struct value;
 #endif
 
+#define TARGET_ARM 1
+
 #define TARGET_BYTE_ORDER_SELECTABLE
 
 /* IEEE format floating point */
diff -u --recursive --new-file /home/phil/gdb/clean/gdb-4.17/gdb/config/i386/tm-i386.h gdb/config/i386/tm-i386.h
--- /home/phil/gdb/clean/gdb-4.17/gdb/config/i386/tm-i386.h	Sun Apr 11 21:57:00 1999
+++ gdb/config/i386/tm-i386.h	Sun Apr 11 19:09:14 1999
@@ -304,4 +304,6 @@
 
 #define SP_ARG0 (1 * 4)
 
+#define TARGET_I386 1
+
 #endif /* ifndef TM_I386_H */
diff -u --recursive --new-file /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/low-linux.c gdb/gdbserver/low-linux.c
--- /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/low-linux.c	Sun Apr 11 21:57:15 1999
+++ gdb/gdbserver/low-linux.c	Sun Apr 11 19:14:00 1999
@@ -166,7 +172,7 @@
     - KERNEL_U_ADDR
 #endif
 
-#ifndef TARGET_M68K
+#ifdef TARGET_I386
 /* this table must line up with REGISTER_NAMES in tm-i386v.h */
 /* symbols like 'EAX' come from <sys/reg.h> */
 static int regmap[] = 
@@ -200,7 +206,9 @@
     return (blockend + 4 * regmap[regnum]);
   
 }
-#else /* TARGET_M68K */
+#endif
+
+#ifdef TARGET_M68K
 /* This table must line up with REGISTER_NAMES in tm-m68k.h */
 static int regmap[] = 
 {
@@ -232,6 +240,16 @@
 }
 #endif
 
+#ifdef TARGET_ARM
+int
+arm_register_u_addr(blockend, regnum)
+     int blockend;
+     int regnum;
+{
+  return blockend + REGISTER_BYTE(regnum);  
+}
+#endif
+
 CORE_ADDR
 register_addr (regno, blockend)
      int regno;