Re: [RFA] handle android bionic ptrace in gdbserver.

Pedro Alves
2012-03-29T16:42:51Z

On 03/28/2012 01:26 AM, Thiago Jung Bauermann wrote:

> Hi Mark,
>
> On Tue, 2012-03-27 at 18:11 +0200, Mark Kettenis wrote:
>>> > > From: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
>>> > > Date: Mon, 26 Mar 2012 19:46:42 -0300
>> > Sad to see all this compatibility goo just a different prototype.
>> > This could almost certainly be fixed by just fixing the header.
> I completely agree. IMHO in this case the header to be fixed is actually
> glibc's, since it declares ptrace in a different way than what is
> supported by the kernel.

The kernel just supports the system call. The man page is really not a
part of the kernel. It's a separately maintained project.

>> > Anyway, you should test this on a 64-bit platform. I have a strong
>> > suspicion things will break there because of plain integers that are
>> > being cast to void *.
> Good catch, that's what happened indeed. I don't know what would be the
> correct fix. I changed the types of the variables that are passed to
> ptrace from int to long. At least it hurts the eyes less than two casts

> in a row.

:-)

Honestly, I'd prefer the double cast, in order to leave the ptrace arg
type intricacy closest the the ptrace call as possible, instead of that care
being spread and diluted about. It's also what other places in the code
base already do (both gdb and gdbserver).

--
Pedro Alves