strace broken in 7.0?
jhb at freebsd.org
Thu Jan 10 12:02:23 PST 2008
On Thursday 10 January 2008 01:45:18 pm John Baldwin wrote:
> On Thursday 10 January 2008 11:47:55 am Unga wrote:
> > Hi all
> > strace (v4.5.5) works well in 6.2. But strace (v4.5.6)
> > develops following error in 7.0-PRERELEASE:
> > $ strace pwd
> > execve(0xbfbfe92c, [0xbfbfedf4], [/* 0 vars
> > */]PIOCWSTOP: Input/output error
> > Best Regards
> > Unga
> I have lots of patches to strace at work to make it autogenerate most of its
> tables and support amd64 (including i386 on amd64) as well as making it
> reliably work in the fork-a-new-process case. I just don't have time to
> work on getting them into the port. I think you are running into the latter
> issue and I largely fixed it by using the same strategy in strace that truss
> now uses for the fork-a-new-process case.
You can find my strace patches at www.freebsd.org/~jhb/patches/strace.patch
this has been tested on 4.x, 6.x, and 7.x. The 'ymakefile' is what we use to
actually build strace and it invokes several scripts to build several of the
tables (like the ioctl, errno, and syscall tables) at build-time from the
current machine rather than trying to provide hardcoded versions that would
have had to have a maze of #ifdef's to handle different versions and constant
updates for new syscalls, etc. It is relative to strace-4.5.1. You can
basically apply the patch to the 4.5.1 tarball and do 'make -f ymakefile' to
get an strace binary.
Again, I don't have time to get this into the port or even better, upstream
into the strace sources, but I've cc'd the devel/strace maintainer if he
wants to look at it.
More information about the freebsd-current