mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 02:20:51 +00:00
* 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:
@@ -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 *) ®isters[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 *) ®isters[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;
|
||||
|
||||
Reference in New Issue
Block a user