adrian at macrobug.com
Mon Mar 16 07:57:38 UTC 2009
The Android mobile device platform uses the Linux kernel, but doesn't
use sockets or signals for inter-process communication. It uses a
system called Binder (which used to be called OpenBinder). Through
a complex system of smoke, mirrors and ioctls this makes certain local
procedure calls actually take place in other processes.
The patch at this address adds some support to strace for decoding
The patch is, to be honest, rubbish. It is two years old and was based
on partial documentation and a lot of guesswork. The output format is
verbose due to the sheer amount of information conveyed in these
Binder ioctls. I suspect some of the information reported may be
invalid, as I wasn't sure about the lifetimes of the memory buffers
referred to. Irrespective, it's probably not up to the coding
standards required for the main strace codebase.
But, for anyone who later wants to add Binder support to strace
properly, it would be a good start. I am unlikely to make any progress
on the patch in the foreseeable future, hence posting to the list now
in case anyone else wants to have a go. Then again, any comments are
welcome - if anyone thinks that it would be worthwhile to incorporate
it into strace almost as-is, please do give me a critique of the patch
and I'll spruce it up.
PS this mail is a resend; the first one bounced. Apologies if anyone
gets two copies.
Adrian Taylor, Macrobug Ltd. +44 7779 723608
A company registered in England and Wales no 5892155, 352 Mill Road,
Cambridge CB1 3NN
VAT reg. GB 892 4122 21. http://www.macrobug.com/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Strace-devel