Before I go to sleep, I've shortened the diff by about 50%. The new diff
is at:

http://sharmas.dhs.org/~adsharma/projects/freebsd/truss-diff.gz
http://sharmas.dhs.org/~adsharma/projects/freebsd/truss.tar.gz

To be applied as:

cd truss
gzcat -dc truss-diff.gz | patch -p1

The real 100 lines of changes are:

1. Line 306 in i386-fbsd.c (where all the action starts)
2. Last few lines of main
3. Some changes in syscalls.c:print_syscall

It now prints syscalls one per line, like linux and solaris equivalents.
The Makefile changes can be completely ignored. They are there so that
truss can be compiled in a directory other than /usr/src.

        -Arun

$ truss -f -o foo sh -c ls 
$ cat foo
62898: getpid() = 62898 (0xf5b2)
62898: geteuid()        = 500 (0x1f4)
62898: readlink("/etc/malloc.conf",0xbfbff79c,63)       = errno 2 'No such file or 
directory'
62898: mmap(0x0,4096,0x3,0x1002,-1,0x0) = 671793152 (0x280ac000)
62898: break(0x80bd000) = 0 (0x0)
62898: break(0x80be000) = 0 (0x0)
62898: getuid() = 500 (0x1f4)
62898: geteuid()        = 500 (0x1f4)
62898: getgid() = 100 (0x64)
62898: getegid()        = 100 (0x64)
62898: sigaction(SIGINT,0x0,0xbfbff7c4) = 0 (0x0)
62898: sigaction(SIGINT,0xbfbff7c4,0xbfbff7ac)  = 0 (0x0)
62898: sigaction(SIGINT,0x0,0xbfbff7c4) = 0 (0x0)
62898: sigaction(SIGINT,0xbfbff7c4,0x0) = 0 (0x0)
62898: sigaction(SIGQUIT,0x0,0xbfbff7b4)        = 0 (0x0)
62898: sigaction(SIGQUIT,0xbfbff7b4,0xbfbff79c) = 0 (0x0)
62898: sigaction(SIGQUIT,0x0,0xbfbff7b4)        = 0 (0x0)
62898: sigaction(SIGQUIT,0xbfbff7b4,0x0)        = 0 (0x0)
62898: sigaction(SIGTERM,0x0,0xbfbff7c4)        = 0 (0x0)
62898: sigaction(SIGTERM,0xbfbff7c4,0xbfbff7ac) = 0 (0x0)
62898: sigaction(SIGSYS,0xbfbff634,0xbfbff61c)  = 0 (0x0)
62898: __getcwd(0xbfbff79c,0x100)       = 0 (0x0)
62898: sigaction(SIGSYS,0xbfbff61c,0x0) = 0 (0x0)
62898: break(0x80bf000) = 0 (0x0)
62898: stat("/home/adsharma/kde/bin/ls",0xbfbff6fc)     = errno 2 'No such file or 
directory'
62898: stat("/home/adsharma/bin/ls",0xbfbff6fc) = errno 2 'No such file or directory'
62898: stat("/home/adsharma/kde/bin/ls",0xbfbff6fc)     = errno 2 'No such file or 
directory'
62898: stat("/bin/ls",0xbfbff6fc)       = 0 (0x0)
62898: break(0x80c0000) = 0 (0x0)
62898: fork()   = 62899 (0xf5b3)
62898: getpgrp()        = 62897 (0xf5b1)
62899: ... Returning from fork ?()      = 0 (0x0)
62899: open(".",0,00)   = 5 (0x5)
62899: stat(".",0xbfbff798)     = 0 (0x0)
62899: open(".",4,00)   = 6 (0x6)
62899: fstat(6,0xbfbff798)      = 0 (0x0)
62899: fcntl(0x6,0x2,0x1)       = 0 (0x0)
62899: __sysctl(0xbfbff650,0x2,0x807ad98,0xbfbff64c,0x0,0x0)    = 0 (0x0)
62899: fstatfs(0x6,0xbfbff698)  = 0 (0x0)
62899: break(0x8083000) = 0 (0x0)
62899: getdirentries(0x6,0x8082000,0x1000,0x807e0b4)    = 3072 (0xc00)
62899: break(0x8084000) = 0 (0x0)
62899: break(0x8085000) = 0 (0x0)
62899: break(0x8086000) = 0 (0x0)
62899: break(0x8087000) = 0 (0x0)
62899: getdirentries(0x6,0x8082000,0x1000,0x807e0b4)    = 0 (0x0)
62899: lseek(6,0x0,0)   = 0 (0x0)
62899: close(6) = 0 (0x0)
62899: fchdir(0x5)      = 0 (0x0)
62899: close(5) = 0 (0x0)
62899: break(0x8088000) = 0 (0x0)
62899: fstat(1,0xbfbff3b8)      = 0 (0x0)
62899: ioctl(1,TIOCGETA,0xbfbff3ec)     = 0 (0x0)
62899: write(1,0x8082400,31)    = 31 (0x1f)
62899: write(1,0x8082400,23)    = 23 (0x17)
62899: write(1,0x8082400,32)    = 32 (0x20)
62899: write(1,0x8082400,33)    = 33 (0x21)
62899: write(1,0x8082400,19)    = 19 (0x13)
62899: write(1,0x8082400,29)    = 29 (0x1d)
62899: write(1,0x8082400,20)    = 20 (0x14)
62899: write(1,0x8082400,28)    = 28 (0x1c)
62899: write(1,0x8082400,20)    = 20 (0x14)
62899: write(1,0x8082400,25)    = 25 (0x19)
62899: write(1,0x8082400,21)    = 21 (0x15)
62899: write(1,0x8082400,22)    = 22 (0x16)
62899: write(1,0x8082400,21)    = 21 (0x15)
62899: write(1,0x8082400,29)    = 29 (0x1d)
62899: write(1,0x8082400,27)    = 27 (0x1b)
62899: write(1,0x8082400,26)    = 26 (0x1a)
62899: write(1,0x8082400,25)    = 25 (0x19)
62899: write(1,0x8082400,24)    = 24 (0x18)
62899: write(1,0x8082400,30)    = 30 (0x1e)
62899: write(1,0x8082400,24)    = 24 (0x18)
62899: exit(0x0)         = 0(8048e82)
SIGNAL 20
62898: wait4(0xffffffff,0xbfbff728,0x2,0x0)     = 62899 (0xf5b3)
62898: exit(0x0)         = 0(8048e82)


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to