strace broken in 7.0?

John Baldwin 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.

-- 
John Baldwin


More information about the freebsd-current mailing list