diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/config/m68k/delta68.mh | 4 | ||||
-rw-r--r-- | gdb/config/m68k/delta68.mt | 2 | ||||
-rw-r--r-- | gdb/config/m68k/tm-delta68.h | 4 | ||||
-rw-r--r-- | gdb/delta68-nat.c | 9 |
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 { |