aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/config/m68k/delta68.mh4
-rw-r--r--gdb/config/m68k/delta68.mt2
-rw-r--r--gdb/config/m68k/tm-delta68.h4
-rw-r--r--gdb/delta68-nat.c9
5 files changed, 23 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 091d477..0e1986a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+Thu Aug 19 17:58:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * config/m68k/delta68.m{t,h}: Use nm-delta68.h, etc. not
+ non-existent files nm-delta.h, etc.
+ * config/m68k/tm-delta68.h: Define CANNOT_STORE_REGISTER.
+ * delta68-nat.c: Add "[0]" in offsetof argument.
+ * delta68-nat.c (_initialize_kernel_u_addr): Don't try to set up
+ nl with initializer, just assign to it. Check n_scnum field on
+ return.
+
Wed Aug 18 12:03:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* printcmd.c (print_address), values.c (value_as_pointer): Don't
diff --git a/gdb/config/m68k/delta68.mh b/gdb/config/m68k/delta68.mh
index 677cb66..6b00d59 100644
--- a/gdb/config/m68k/delta68.mh
+++ b/gdb/config/m68k/delta68.mh
@@ -2,5 +2,5 @@
XM_FILE= xm-delta68.h
REGEX=regex.o
REGEX1=regex.o
-NAT_FILE= nm-delta.h
-NATDEPFILES= infptrace.o inftarg.o fork-child.o coredep.o corelow.o delta-nat.o
+NAT_FILE= nm-delta68.h
+NATDEPFILES= infptrace.o inftarg.o fork-child.o coredep.o corelow.o delta68-nat.o
diff --git a/gdb/config/m68k/delta68.mt b/gdb/config/m68k/delta68.mt
index 1de2958..c111182 100644
--- a/gdb/config/m68k/delta68.mt
+++ b/gdb/config/m68k/delta68.mt
@@ -1,3 +1,3 @@
# Motorola Delta Series sysV68 R3V7.1
TDEPFILES= m68k-pinsn.o exec.o m68k-tdep.o
-TM_FILE= tm-delta.h
+TM_FILE= tm-delta68.h
diff --git a/gdb/config/m68k/tm-delta68.h b/gdb/config/m68k/tm-delta68.h
index 65694fc..f0bef1f 100644
--- a/gdb/config/m68k/tm-delta68.h
+++ b/gdb/config/m68k/tm-delta68.h
@@ -34,4 +34,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define HAVE_68881
+/* Not sure what happens if we try to store this register, but
+ phdm@info.ucl.ac.be says we need this define. */
+#define CANNOT_STORE_REGISTER(regno) (regno == FPI_REGNUM)
+
#include "m68k/tm-m68k.h"
diff --git a/gdb/delta68-nat.c b/gdb/delta68-nat.c
index e032a7d..d5d0049 100644
--- a/gdb/delta68-nat.c
+++ b/gdb/delta68-nat.c
@@ -43,7 +43,7 @@ register_addr (regno, blockend)
if (regno >= 0 && regno < sizeof(sysv68reg) / sizeof(sysv68reg[0]))
return blockend + sysv68reg[regno] * 4;
else if (regno < FPC_REGNUM)
- return offsetof (struct user, u_fpu.regs.reg[regno - FP0_REGNUM]
+ return offsetof (struct user, u_fpu.regs.reg[regno - FP0_REGNUM][0]
else if (regno == FPC_REGNUM)
return offsetof (struct user, u_fpu.regs.control);
else if (regno == FPS_REGNUM)
@@ -60,12 +60,15 @@ Internal error: invalid register number %d in REGISTER_U_ADDR\n",
}
CORE_ADDR kernel_u_addr;
-static struct nlist nl[] = {{ "_u", -1, }, { (char *) 0, }};
/* Read the value of the u area from the kernel. */
void _initialize_kernel_u_addr ()
{
- if (nlist ("/sysV68", nl) == 0)
+ stuct nlist nl[2];
+
+ nl[0].n_name = "u";
+ nl[1].n_name = NULL;
+ if (nlist ("/sysV68", nl) == 0 && nl[0].n_scnum != 0)
kernel_u_addr = nl[0].n_value;
else
{