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