This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
sparc gdbserver bug? (Re: [RFA] handle android bionic ptrace in gdbserver.)
On 03/28/2012 01:26 AM, Thiago Jung Bauermann wrote:
> #ifndef __sparc__
> - res = ptrace (regset->get_request, pid, nt_type, data);
> + res = ptrace (regset->get_request, pid,
> + (PTRACE_ARG3_TYPE) nt_type, data);
> #else
> res = ptrace (regset->get_request, pid, &iov, data);
> #endif
BTW, I notice the __sparc__ branch here appears to be broken?
(sparc has the last two ptrace arguments reversed...).
$ git show d0aa472c
commit d0aa472c6770baccb29dc37d0e64a81afda99911
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Apr 7 18:49:43 2010 +0000
Add x86 AVX support to gdbserver.
...
+
+ nt_type = regset->nt_type;
+ if (nt_type)
+ {
+ iov.iov_base = buf;
+ iov.iov_len = regset->size;
+ data = (void *) &iov;
+ }
+ else
+ data = buf;
+
#ifndef __sparc__
- res = ptrace (regset->get_request, pid, 0, buf);
+ res = ptrace (regset->get_request, pid, nt_type, data);
#else
- res = ptrace (regset->get_request, pid, buf, 0);
+ res = ptrace (regset->get_request, pid, &iov, data);
#endif
I think that should have ended up with:
#ifndef __sparc__
res = ptrace (regset->get_request, pid, nt_type, data);
#else
res = ptrace (regset->get_request, pid, data, nt_type);
#endif
?
--
Pedro Alves