Subject: Re: Linux support non-functional - a ktrace!
To: Chris G. Demetriou <cgd@netbsd.org>
From: Mason Loring Bliss <mason@acheron.middleboro.ma.us>
List: current-users
Date: 11/20/1998 21:42:08
On Fri, Nov 20, 1998 at 06:21:54PM -0800, Chris G. Demetriou wrote:
> you probably either want 'exec ./quake2' in your script (i think
> that'll DTRT), or to use ktrace -i, so that the code which actually
> tries to execute the quake2 binary and the quake2 process itself is
> traced...
Okay... Done. Sorry 'bout that. Here's the new kdump.
Due to the fact that I can't successfully "make build" on my i386 at the
moment, my libraries are all about a month or so old. This could conceivably
be a problem, although I really don't know.
If there's anything more I can do to provide helpful information, just say
the word...
4650 ktrace RET ktrace 0
4650 ktrace CALL __sysctl(0xefbfd298,0x2,0xaa24,0xefbfd2a0,0,0)
4650 ktrace RET __sysctl 0
4650 ktrace CALL break(0xaa68)
4650 ktrace RET break 0
4650 ktrace CALL break(0xaffc)
4650 ktrace RET break 0
4650 ktrace CALL break(0xbffc)
4650 ktrace RET break 0
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/sbin/quake2"
4650 ktrace RET execve -1 errno 2 No such file or directory
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/usr/sbin/quake2"
4650 ktrace RET execve -1 errno 2 No such file or directory
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/bin/quake2"
4650 ktrace RET execve -1 errno 2 No such file or directory
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/usr/bin/quake2"
4650 ktrace RET execve -1 errno 2 No such file or directory
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/usr/local/sbin/quake2"
4650 ktrace RET execve -1 errno 2 No such file or directory
4650 ktrace CALL execve(0xefbfd2fc,0xefbfd780,0xefbfd788)
4650 ktrace NAMI "/usr/local/bin/quake2"
4650 ktrace NAMI "/bin/sh"
4650 sh EMUL "netbsd"
4650 sh RET execve JUSTRETURN
4650 sh CALL getpid
4650 sh RET getpid 4650/0x122a
4650 sh CALL geteuid
4650 sh RET geteuid 2001/0x7d1
4650 sh CALL __sysctl(0xefbfd690,0x2,0x49660,0xefbfd698,0,0)
4650 sh RET __sysctl 0
4650 sh CALL break(0x4a2d4)
4650 sh RET break 0
4650 sh CALL break(0x4affc)
4650 sh RET break 0
4650 sh CALL break(0x4bffc)
4650 sh RET break 0
4650 sh CALL __stat13(0x4966c,0xefbfd650)
4650 sh NAMI "/var/mail/mason"
4650 sh RET __stat13 0
4650 sh CALL open(0xefbfd7f0,0,0xefbfd770)
4650 sh NAMI "/usr/local/bin/quake2"
4650 sh RET open 3
4650 sh CALL fcntl(0x3,0,0xa)
4650 sh RET fcntl 10/0xa
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL fcntl(0xa,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL getuid
4650 sh RET getuid 2001/0x7d1
4650 sh CALL geteuid
4650 sh RET geteuid 2001/0x7d1
4650 sh CALL getgid
4650 sh RET getgid 0
4650 sh CALL getegid
4650 sh RET getegid 0
4650 sh CALL open(0xefbfda3c,0,0)
4650 sh NAMI "$HOME/.kshrc"
4650 sh RET open -1 errno 2 No such file or directory
4650 sh CALL read(0xa,0x49c6c,0x3ff)
4650 sh GIO fd 10 read 51 bytes
"#!/bin/sh
cd /emul/linux/usr/games/quake2
./quake2
"
4650 sh RET read 51/0x33
4650 sh CALL __stat13(0x49700,0xefbfd590)
4650 sh NAMI "/emul/linux/usr/games/quake2"
4650 sh RET __stat13 0
4650 sh CALL __lstat13(0x49740,0xefbfd510)
4650 sh NAMI "/emul"
4650 sh RET __lstat13 0
4650 sh CALL chdir(0x49700)
4650 sh NAMI "/emul/linux/usr/games/quake2"
4650 sh RET chdir 0
4650 sh CALL break(0x4cffc)
4650 sh RET break 0
4650 sh CALL __stat13(0x288b7,0xefbfd2a0)
4650 sh NAMI "/"
4650 sh RET __stat13 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "."
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0x49725)
4650 sh NAMI ".."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL break(0x4dffc)
4650 sh RET break 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL break(0x4fffc)
4650 sh RET break 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../../../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../../../../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../../../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../../../../../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../../../../"
4650 sh RET __lstat13 0
4650 sh CALL open(0x4c000,0x4,0)
4650 sh NAMI "../../../../../../.."
4650 sh RET open 3
4650 sh CALL __fstat13(0x3,0xefbfd1e4)
4650 sh RET __fstat13 0
4650 sh CALL fcntl(0x3,0x2,0x1)
4650 sh RET fcntl 0
4650 sh CALL fstatfs(0x3,0xefbfd0e4)
4650 sh RET fstatfs 0
4650 sh CALL __fstat13(0x3,0xefbfd2a0)
4650 sh RET __fstat13 0
4650 sh CALL lseek(0x3,0,0,0,0x1)
4650 sh RET lseek 0
4650 sh CALL getdents(0x3,0x4e000,0x1000)
4650 sh RET getdents 512/0x200
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../../../../../usr"
4650 sh RET __lstat13 0
4650 sh CALL lseek(0x3,0,0,0,0)
4650 sh RET lseek 0
4650 sh CALL close(0x3)
4650 sh RET close 0
4650 sh CALL __lstat13(0x4c000,0xefbfd2a0)
4650 sh NAMI "../../../../../../../"
4650 sh RET __lstat13 0
4650 sh CALL break(0x50ffc)
4650 sh RET break 0
4650 sh CALL fork
4650 sh RET fork 4651/0x122b
4650 sh CALL getpgrp
4650 sh RET getpgrp 4650/0x122a
4650 sh CALL wait4(0xffffffff,0xefbfd5d4,0x2,0)
4651 sh RET fork 0
4651 sh CALL close(0xa)
4651 sh RET close 0
4651 sh CALL execve(0x49698,0x496ac,0x496b4)
4651 sh NAMI "./quake2"
4651 sh NAMI "/emul/linux/lib/ld-linux.so.1"
4651 sh NAMI "/emul/linux"
4651 sh NAMI "/emul/linux/lib/ld-linux.so.1"
4650 sh RET wait4 4651/0x122b
4650 sh CALL read(0xa,0x49c6c,0x3ff)
4650 sh GIO fd 10 read 0 bytes
""
4650 sh RET read 0
4650 sh CALL exit(0x1)
And, for kicks:
ac9 /usr/src# file /emul/linux/usr/games/quake2/quake2
/emul/linux/usr/games/quake2/quake2: setgid ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped
--
Mason Loring Bliss..mason@acheron.middleboro.ma.us..acheron.dyn.ml.org/mason
"In the drowsy dark cave of the mind dreams build their nest with fragments
dropped from day's caravan."--Rabindranath Tagore..awake ? sleep : dream;