From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philip Blundell To: gdb-patches@cygnus.com Subject: patch for gdbserver/low-linux.c Date: Mon, 12 Apr 1999 06:12:00 -0000 Message-ID: X-SW-Source: 1999-04/msg00009.html Message-ID: <19990412061200.FcaBSIbGKIMmUgK0U5mTWqSd3AnIenH370k9eTZoCDg@z> This patch cleans up some of the machine dependence in low-linux.c slightly and adds ARM support. 1999-04-12 Philip Blundell * 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 */ 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;