diff options
Diffstat (limited to 'gdb/hppabsd-xdep.c')
-rw-r--r-- | gdb/hppabsd-xdep.c | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/gdb/hppabsd-xdep.c b/gdb/hppabsd-xdep.c index ca3d10e..3c1b1ea 100644 --- a/gdb/hppabsd-xdep.c +++ b/gdb/hppabsd-xdep.c @@ -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; |