Christos Zoulas wrote: > In article <20141202221949.GA4053@neva>, > Alexander Nasonov <[email protected]> wrote: > >I don't think source code is available. > > It is going to be hard to get it to work....
Yeah. I can't make any further progress. Working gdb on 32bit Linux binary gave me a false hope. I'm stuck at orig_ax. If I understand correctly, pin (and strace too) want to know a syscall number of a process stopped in a syscall and they query for orig_ax. I use (lt->l_sysent - emul_linux.e_sysent) to get a syscall number but l_sysent is always NULL. I haven't looked at whether a traced process is really in syscall and whether l_sysent is guaranteed to be syncronised accross cpus (I think, it's not but l_sysent is always NULL in nonsmp kernel too). Anyway, I've got some working code. It's not ptrace related, though. To make the tool run, I needed to add support for /proc/sys/kernel/osrelease. The patch is here http://www.netbsd.org/~alnsn/procfs-sys-kernel-osrelease.diff Alex
