* 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.
This commit is contained in:
parent
010877137c
commit
522b996209
5 changed files with 23 additions and 6 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue