* i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace call

fails instead of calling perror_with_name.  This should fix
debugging remote i386 targets with a native Linux/x86 GDB.  Add
FIXME for this hack.
This commit is contained in:
Mark Kettenis 2001-03-28 08:35:14 +00:00
parent 30a1def20d
commit b9511b9a9a
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2001-03-28 Mark Kettenis <kettenis@gnu.org>
* i386-linux-nat.c (i386_linux_dr_get): Return 0 if ptrace call
fails instead of calling perror_with_name. This should fix
debugging remote i386 targets with a native Linux/x86 GDB. Add
FIXME for this hack.
2001-03-19 J.T. Conklin <jtc@redback.com>
* arch-utils.c (#include "gdbthread.h"): Removed.

View File

@ -712,11 +712,20 @@ i386_linux_dr_get (int regnum)
one thread. */
tid = PIDGET (inferior_pid);
/* FIXME: kettenis/2001-03-27: Calling perror_with_name if the
ptrace call fails breaks debugging remote targets. The correct
way to fix this is to add the hardware breakpoint and watchpoint
stuff to the target vectore. For now, just return zero if the
ptrace call fails. */
errno = 0;
value = ptrace (PT_READ_U, tid,
offsetof (struct user, u_debugreg[regnum]), 0);
if (errno != 0)
#if 0
perror_with_name ("Couldn't read debug register");
#else
return 0;
#endif
return value;
}