* Makefile.in (VERSION): Bump to 4.5.6.

* coffread.c (coff_end_symtab):  Cast 2nd arg of complain() to
	correct type.
	* defs.h (NORETURN):  Define away for Lucid compiler.
	* remote.c (remote_timer, remote_interrupt):  Signal handlers
	take one int arg.
	* ser-termios.c (serial_write, serial_close):  Return whatever
	value the write/close call returns, rather than falling off end.
	* inferior.h (PTRACE_ARG3_TYPE):  Third arg to ptrace is int on
	more systems than it is "char *".  Define PTRACE_ARG3_TYPE to
	default to int.
	* infptrace.c, hppabsd-xdep.c, hppahpux-xdep.c, i386-xdep.c,
	inferior.h (call_ptrace):  Use PTRACE_ARG3_TYPE to declare type
	of third arg.
	* a68v-xdep.c, arm-xdep.c, convex-xdep.c, hp300ux-xdep.c, infrun.c,
	m88k-xdep.c, mach386-xdep.c, mips-xdep.c, os68k-xdep.c, pyr-tdep.c,
	pyr-xdep.c, rs6000-xdep.c, sparc-xdep.c, sun3-xdep.c, sun386-xdep.c,
	symm-xdep.c, ultra3-xdep.c:  Use PTRACE_ARG3_TYPE to cast ptrace
	argument 3.
	* sparc-xdep.c, a68v-xdep.c (fetch_inferior_registers,
	store_inferior_registers): Supply missing fourth argument to
	ptrace().
This commit is contained in:
Fred Fish
1992-06-24 04:49:48 +00:00
parent 0fd24984ce
commit e676a15f0b
32 changed files with 366 additions and 193 deletions

View File

@@ -60,7 +60,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
machine-dependent file. */
int
call_ptrace (request, pid, addr, data)
int request, pid, *addr, data;
int request, pid;
PTRACE_ARG3_TYPE addr;
int data;
{
return ptrace (request, pid, addr, data);
}
@@ -78,7 +80,7 @@ kill_inferior_fast ()
{
if (inferior_pid == 0)
return;
ptrace (PT_KILL, inferior_pid, 0, 0);
ptrace (PT_KILL, inferior_pid, (PTRACE_ARG3_TYPE) 0, 0);
wait ((int *)0);
}
@@ -100,14 +102,14 @@ child_resume (step, signal)
{
errno = 0;
/* An address of (int *)1 tells ptrace to continue from where it was.
(If GDB wanted it to start some other way, we have already written
a new PC value to the child.) */
/* An address of (PTRACE_ARG3_TYPE) 1 tells ptrace to continue from where
it was. (If GDB wanted it to start some other way, we have already
written a new PC value to the child.) */
if (step)
ptrace (PT_STEP, inferior_pid, (int *)1, signal);
ptrace (PT_STEP, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
else
ptrace (PT_CONTINUE, inferior_pid, (int *)1, signal);
ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
if (errno)
perror_with_name ("ptrace");
@@ -124,7 +126,7 @@ attach (pid)
int pid;
{
errno = 0;
ptrace (PT_ATTACH, pid, 0, 0);
ptrace (PT_ATTACH, pid, (PTRACE_ARG3_TYPE) 0, 0);
if (errno)
perror_with_name ("ptrace");
attach_flag = 1;
@@ -140,7 +142,7 @@ detach (signal)
int signal;
{
errno = 0;
ptrace (PT_DETACH, inferior_pid, 1, signal);
ptrace (PT_DETACH, inferior_pid, (PTRACE_ARG3_TYPE) 1, signal);
if (errno)
perror_with_name ("ptrace");
attach_flag = 0;
@@ -202,7 +204,8 @@ void _initialize_kernel_u_addr ()
#if !defined (U_REGS_OFFSET)
#define U_REGS_OFFSET \
ptrace (PT_READ_U, inferior_pid, \
(int *)(offsetof (struct user, u_ar0)), 0) - KERNEL_U_ADDR
(PTRACE_ARG3_TYPE) (offsetof (struct user, u_ar0)), 0) \
- KERNEL_U_ADDR
#endif
/* Registers we shouldn't try to fetch. */
@@ -237,7 +240,8 @@ fetch_register (regno)
for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int))
{
errno = 0;
*(int *) &buf[i] = ptrace (PT_RUREGS, inferior_pid, (int *)regaddr, 0);
*(int *) &buf[i] = ptrace (PT_RUREGS, inferior_pid,
(PTRACE_ARG3_TYPE) regaddr, 0);
regaddr += sizeof (int);
if (errno != 0)
{
@@ -290,7 +294,7 @@ store_inferior_registers (regno)
for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof(int))
{
errno = 0;
ptrace (PT_WRITE_U, inferior_pid, (int *)regaddr,
ptrace (PT_WRITE_U, inferior_pid, (PTRACE_ARG3_TYPE) regaddr,
*(int *) &registers[REGISTER_BYTE (regno) + i]);
if (errno != 0)
{
@@ -310,7 +314,7 @@ store_inferior_registers (regno)
for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof(int))
{
errno = 0;
ptrace (PT_WRITE_U, inferior_pid, (int *)regaddr,
ptrace (PT_WRITE_U, inferior_pid, (PTRACE_ARG3_TYPE) regaddr,
*(int *) &registers[REGISTER_BYTE (regno) + i]);
if (errno != 0)
{
@@ -363,14 +367,16 @@ child_xfer_memory (memaddr, myaddr, len, write, target)
if (addr != memaddr || len < (int)sizeof (int)) {
/* Need part of initial word -- fetch it. */
buffer[0] = ptrace (PT_READ_I, inferior_pid, (int *)addr, 0);
buffer[0] = ptrace (PT_READ_I, inferior_pid, (PTRACE_ARG3_TYPE) addr,
0);
}
if (count > 1) /* FIXME, avoid if even boundary */
{
buffer[count - 1]
= ptrace (PT_READ_I, inferior_pid,
(int *)(addr + (count - 1) * sizeof (int)), 0);
(PTRACE_ARG3_TYPE) (addr + (count - 1) * sizeof (int)),
0);
}
/* Copy data to be written over corresponding part of buffer */
@@ -382,13 +388,15 @@ child_xfer_memory (memaddr, myaddr, len, write, target)
for (i = 0; i < count; i++, addr += sizeof (int))
{
errno = 0;
ptrace (PT_WRITE_D, inferior_pid, (int *)addr, buffer[i]);
ptrace (PT_WRITE_D, inferior_pid, (PTRACE_ARG3_TYPE) addr,
buffer[i]);
if (errno)
{
/* Using the appropriate one (I or D) is necessary for
Gould NP1, at least. */
errno = 0;
ptrace (PT_WRITE_I, inferior_pid, (int *)addr, buffer[i]);
ptrace (PT_WRITE_I, inferior_pid, (PTRACE_ARG3_TYPE) addr,
buffer[i]);
}
if (errno)
return 0;
@@ -400,7 +408,8 @@ child_xfer_memory (memaddr, myaddr, len, write, target)
for (i = 0; i < count; i++, addr += sizeof (int))
{
errno = 0;
buffer[i] = ptrace (PT_READ_I, inferior_pid, (int *)addr, 0);
buffer[i] = ptrace (PT_READ_I, inferior_pid,
(PTRACE_ARG3_TYPE) addr, 0);
if (errno)
return 0;
QUIT;