On Thu, Jan 23, 2003 at 02:05:44PM +1100, Greg Banks wrote:
> Actually 32bit strace on a 64bit kernel is working *most* of the time, so
> there must be a 32bit ptrace syscall which is mostly working. But...
>
> 1. There is a problem with tracing rt_sigaction() where the signal set
> argument is being misinterpreted either in ptrace or strace. The
> result is an application buffer overflow in strace which causes it
> to lose track of which processes it's tracing. This may be entirely
> an strace issue but presumably it doesn't happen on 32bit kernels,
> so the fix (when Andrew figures it out) may require strace to know
> whether it's running on a 64bit kernel.
Strace source is pretty evil ...
> 2. At some point in the future there may well be 64bit executables which
> we will want to trace with the 32bit strace. Possibly strace will
> need some sort of modification to dynamically detect whether the
> traced child is 64bit or 32bit.
>
> I'd be very interested to know if anyone's tried running strace on
> a mips64 kernel, in particular strace'ing the scp program.
[...]
ioctl(2, TCGETS, 0x7fff7858) = -1 EINVAL (Invalid argument)
rt_sigaction(SIGPIPE, {0x10000000, [], 0x4055f4}, {SIG_DFL}, 16) = 0
pipe([0, 0]) = 3
pipe([268437928, 721805232]) = 5
pipe([720500616, 2147449192]) = 7
close(3) = 0
[...]
Ralf
|